小数据池与深浅拷贝

#==#比较的是值 is#比较的是内存地址 id#内存地址
# s1=[1,2]
# s2=s1
# s3=s1[:]
# print(s1==s2,s1==s3)#True True
# print(s1 is s2,s1 is s3)#True False
# print(id(s1),id(s2),id(s3))
小数据池:
int -5~256
str 特殊字符,*数字20
#小数据池(在终端) -5-256
# s1=10
# s2=10
# print(s1 is s2)#True

# s1=300
# s2=200
# print(s1 is s2)#False

#str 不能有特殊字符 20个字符以内
# s1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
# s2='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
# print(s1 is s2)#True

# s1='s*a'
# s2='s*a'
# print(s1 is s2)#False

# s1='a'*20
# s2='a'*20
# print(s1 is s2)#True

# s1='a'*21
# s2='a'*21
# print(s1 is s2)#False


# list,tuple,dict,set #False
# s1=[1,2]
# s2=[1,2]
# print(s1 is s2)#False
# a=10
# b=a
# a=20
# print(a)#20
# print(b)#10


# s1=[1,2,3]
# s2=s1
# s1.append(100)
# print(s1)#[1, 2, 3, 100]
# print(s2)#[1, 2, 3, 100]
#copy浅拷贝
# s1=[1,2,3]
# s2=s1.copy()
# s3=s1[:]#浅拷贝
# print(id(s1),id(s2),id(s3))
# s1.append(100)
# print(s1,s2,s3,sep="\n")

# s1=[1,2,[4,5,6],3]
# s2=s1.copy()
# s3=s1[:]
# s1[2].append('a')
# print(s1,s2,s3,sep='\n')
# print(id(s1[2]),id(s2[2]),id(s3[2]))


#deepcopy深拷贝
# import copy
# s1=[1,2,[4,5,6],3]
# s2=copy.deepcopy(s1)
# s1[2].append('a')
# print(s1,s2)

其他

#enumerate
# li=['alex','yuan','wusir']
# for i in li:
#     print(li.index(i),i)

# for i,v in enumerate(li):
#     print(i,v)

#交换值
# a,b=1,2
# print(a,b)
# a,b=b,a
# print(a,b)



# print(__file__)#当前文件的路径


# import sys
# print(sys.modules)#当前导入的模块
# print(sys.modules.keys())
# print(sys.path)#按路径寻找模块
# sys.path.insert(0,'')
View Code

猜你喜欢

转载自www.cnblogs.com/liuhongshuai/p/9781753.html