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)