5.深浅拷贝
Copy其实就是复制一份,也就是所谓的抄一份;
深浅copy其实就是完全复制一份,部分复制一份的意思;
浅拷贝copy
同一代码块下: Import copy l1 = [1, "jason", True, (1,2,3), [22, 33]] l2 = l1.copy() >>>print(id(l1), id(l2)) # 2713214468360 2713214524680 >>>print(id(l1[-2]), id(l2[-2])) # 2547618888008 2547618888008 >>>print(id(l1[-1]),id(l2[-1])) # 2547620322952 2547620322952 ================================================================== # 不同代码块下: l1 = [1, "jason";, True, (1, 2, 3), [22, 33]] l2 = l1.copy() >>>print(id(l1), id(l2)) 1477183162696 >>>print(id(l1[-2]), id(l2[-2])) 1477181814032 >>>print(id(l1[-1]), id(l2[-1]))
|
对于浅copy来说,只是在内存中重新创建了开辟了一个空间存放一个新列表,但是新列表中的元素与原列表中的元素是公用的
浅copy只能拷贝一层数据
深拷贝deepcopy
==================================================================
|
对于深copy来说,列表是在内存中重新创建的,列表中可变的数据类型是重新创建的,列表中的不可变的数据类型是公用的
6.进制转换
python进制转换 hex 可以 十进制转16进制 二进制转16进制 结果都是字符串 >>> hex(0b10) '0x2' >>> hex(10) '0xa' ================================================================== bin 可以十进制转2进制 16进制转2进制 结果都是字符串 >>> bin(10) '0b1010' >>> bin(0x2) '0b10' int 可以16进制转换十进制 2进制转换十进制 >>> int(0xe) >>> int(0b100) |
7.三元运算
python的三元运算: 变量名 = 变量1 if 条件判断成立 else 变量2 ================================================================== 解释:条件成立 变量名值为变量1 否则为变量2 ================================================================== a=1 b=2 if a<b: #一般条件语句的写法 k=a else: k=b ================================================================== c=a if a<b else b #三目运算符的写法 |