qiaoliang0302

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

import sys

sys.path

['',

 '/usr/bin',
 '/usr/lib/python35.zip',
 '/usr/lib/python3.5',
 '/usr/lib/python3.5/plat-x86_64-linux-gnu',
 '/usr/lib/python3.5/lib-dynload',
 '/usr/local/lib/python3.5/dist-packages',
 '/usr/lib/python3/dist-packages',
 '/usr/lib/python3/dist-packages/IPython/extensions',
 '/home/python/.ipython']

 

导入搜索路径:

import sys

sys.path.append("/home")

 

from imp import *

reload(test)              #对模块重新导入

 

==,is的区别

== 判断值是否相等

is   判断是不是一个东西

 

a = 100

b = 100

a == b     Ture

a is b      Ture

a = 10000

b = 10000

a = b     Ture

a is b     False

 

 

 

深拷贝、浅拷贝

浅拷贝:

a = [11,22,33]

b = a

id(a)              # 139804120042568

id(b)              # 139804120042568

 

深拷贝:

import copy

c = copy.deepcopy(a)

id(a)            # 139804120042568

id(c)            # 139804120027976

a.append(44)

a

[11,22,33,44]

b

[11,22,33,44]

c

[11,22,33]

 

 

 

a = [11,22,33]

b = [44,55,66]

c = [a,b]

d = c

id(c)              #139804120174024

id(d)              #139804120174024

e = copy.deepcopy(c)             #  c中的内容递归拷贝

id(e)              #139804120024288            

 

a = [1,2,3]

b = [4,5,6]

c = [a,b]

e = copy.copy(c)        #只复制第一层

a.append(4)

c[0]

[1,2,3,4]

e[0]

[1,2,3,4]

id(c)     #139804120054728

id(e)     #139804120204872

 

a = [1,2,3]

b = [4,5,6]

c = (a,b)                        #不可变类型

e = copy.copy(c)               #遇到不可变类型,第一层就没拷贝

id(c)     #139804120054728

id(e)     #139804120054728

 

 

 

私有化

class Test(object):

    def __init__(self):

        self.__num = 100

t = Test()

t.__num = 200

print(t.__num)

 

class Test(object):
    def __init__(self):
        self.__num = 100
        self._num = 10
    def setNum(self,num):
        self.__num = num
    def getNum(self):
        return self.__num
t = Test()
t.__num = 200
print(t.__num)
t.setNum(150)
print(t.getNum())
print(t._num)

 

 

class Test(object):
    def __init__(self):
        self.__num = 100
        self._num = 10
    def setNum(self,num):
        self.__num = num
    def getNum(self):
        return self.__num
    # 设置后,t.num =9  相当于t.setNum(9)  ;  t.num 相当于  t.getNum()
    num = property(getNum,setNum)
t = Test()
t.__num = 200
print(t.__num)
t.setNum(150)
print(t.getNum())
print(t._num)


t.num = 200
print(t.num)
print(t.getNum())

 

 

class Test(object):
    def __init__(self):
        self.__num = 100
        self._num = 10
    @property
    def num(self):
        return self.__num
    @num.setter
    def num(self,new_num):
        self.__num = new_num
    

t = Test()
t.num = 200
print(t.num)

 

posted on 2019-08-04 15:09  qiaoliang0302  阅读(115)  评论(0)    收藏  举报