博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每日刷题-python简单题
阅读量:38313 次
发布时间:2022-01-23

本文共 1992 字,大约阅读时间需要 6 分钟。

简单题

总结一:

在Python3中对于数组、字符串的 * 表示对原数组、字符串的复制,所以 a * 2 表示对列表a的复制,结果为 [2,3,2,3]而且在Python3中字符串、列表和元组支持此种方法复制数据,字典和集合不行

在python中, 如果用一个列表a乘一个数字会得到一个新的列表b, 这个新的列表b的元素是a的元素重复n次。

a = [1,2]b = a * 2  # [1, 2, 1, 2]

此外还要注意一点,当a中的元素为引用类型时,如:

a = [[1,2]]b = a * 2  # b -> [[1, 2], [1, 2]]

修改b[0][0], b[0][1]同样被修改了, 这是因为b[0]与b[1]有相同的地址

b[0][0] = 3print(b)  # [[3, 2], [3, 2]]

打印b[0]和b[1]的 id

print(id(b[0]))  # 1904838110536print(id(b[1]))  # 1904838110536

总结二:

python中常见False的情况:None,False,空字符串"",0,空列表[],空字典{},空元组()

总结三:

一个模块中有__name__

  • 直接运行 __name__为 main
  • 调用该模块,__name__为被调用模块的 模块名

总结四:

random.random()生成0和1之间的随机浮点数float

总结五:

import copyd = {
'1': [1, 1, 1], '2': 2}copy1 = dcopy2 = d.copy()copy3 = copy.copy(d)copy4 = copy.deepcopy(d)d['1'][0] = 3 d['2'] = 3 print(copy1, copy2, copy3, copy4)'''打印结果分比为{'1': [3, 1, 1], '2': 3} {'1': [3, 1, 1], '2': 2} {'1': [3, 1, 1], '2': 2} {'1': [1, 1, 1], '2': 2}'''

方法1:赋值引用,copy1和d指向同一个对象

方法2:浅复制,复制生成新对象copy2,但是只复制一层,[1, 1, 1]为两者共同子对象,

方法3:浅复制,调用copy模块中的方法,同方法2

方法3:深复制,复制生成新对象copy4,并且递归复制所有子对象,所以d中原来指向[1, 1, 1]的改动不会影响深复制生成的子对象[1, 1, 1]

a = {
'1':1,'2':2,'3':[1,2],4:'abc'}

b = a.copy()和b=copy.copy(a)都属于浅拷贝

当a/b中的不可改变数据:int类型、string类型、tuple类型发生改变时候,不影响到另一个。

但其它的情况下,如更改列表元素,会发生互相影响。

举例:

①不可变数据改变举例

对int改变:

a = {
'1':1,'2':2,'3':[1,2],'4':'abc'} b = a.copy() a['1']=250 print(a) print(b) out: '''{'1': 250, '2': 2, '3': [1, 2], '4': 'abc'}{'1': 1, '2': 2, '3': [1, 2], 4: 'abc'}'''

对string改变:

a = {
'1':1,'2':2,'3':[1,2],'4':'abc'} b = a.copy() a['4']='def' print(a) print(b) out: '''{'1': 1, '2': 2, '3': [1, 2], '4': 'def'}{'1': 1, '2': 2, '3': [1, 2], '4': 'abc'}'''

对tuple改变:

a = {
'1':1,'2':2,'3':[1,2],'4':'abc'} b = a.copy() a['3']=[1,2,3] print(a) print(b) '''{'1': 1, '2': 2, '3': [1, 2, 3], '4': 'abc'}{'1': 1, '2': 2, '3': [1, 2], '4': 'abc'}'''

②可变数据改变举例

a = {
'1':1,'2':2,'3':[1,2],'4':'abc'} b = a.copy() a['3'][0]=2 print(a) print(b) '''{'1': 1, '2': 2, '3': [2, 2], '4': 'abc'}{'1': 1, '2': 2, '3': [2, 2], '4': 'abc'}'''

转载地址:http://vzeuuy.baihongyu.com/

你可能感兴趣的文章
SAP日志log:SLG0,SLG1
查看>>
SOA与EAI的比较
查看>>
物料帐启用时间
查看>>
OA登录时长统计
查看>>
销售单据条件价格明细表
查看>>
ABAP面向对象
查看>>
sap新总账中 CodingBlock客户化自定义新字段方法
查看>>
ABAP TBL控制插入和更改
查看>>
【推荐】会开发和懂开发的区别
查看>>
如何获取尚未开票信息(包括交货单、销售订单)
查看>>
Bom技术类型的讲解
查看>>
SAP BOM物料清单详解
查看>>
SAP BOM详细解析
查看>>
PP学习业务流程
查看>>
PP: 混合生产方式(MTO与MTS为例)
查看>>
PP面向订单生产模式探讨
查看>>
“损失厌恶心理”怎么影响了我们?
查看>>
魏代汉,晋代魏,背后是士族与寒族的博弈,也是士族门阀的形成时期
查看>>
计划策略的配置参数(2)
查看>>
浅谈MES与SAP PP模块的集成应用
查看>>