Python with 工作原理、装饰器、回收机制、内存管理机制、拷贝、作用域等(14)


通过下标进行索引
L = ["Jason", 30]# 输出:Jason年龄是30岁 。print('{0[0]}年龄是{0[1]}岁 。'.format(L))
通过使用 () 函数这种便捷的 映射 方式 , 列表和元组可以 打散 成普通参数传递给 () 方法 , 字典可以打散成关键字参数给方法 。() 方法包含丰富的格式限定符 , 附带在 {} 操作符中 : 符号的后面 。
下面示例设计输出 8 位字符 , 并分别设置不同的填充字符和值对齐方式 。
print('{:>8}'.format('1'))# 总宽度为8 , 右对齐 , 默认空格填充print('{:0>8}'.format('1'))# 总宽度为8 , 右对齐 , 使用0填充print('{:a<8}'.format('1'))# 总宽度为8 , 左对齐 , 使用a填充
f 与 float 类型数据配合使用
print('{:.2f}'.format(3.141592653))# 输出结果:3.14# 其中 .2f 表示小数点后面的精度为 2 , f 表示浮点数输出 。
使用b、d、o、x 分别输出二进制、十进制、八进制、十六进制数字 。
num = 100print('{:b}'.format(num))# 1100100print('{:d}'.format(num))# 100print('{:o}'.format(num))# 144print('{:x}'.format(num))# 64
使用逗号(,)输出金额的千分位分隔符 。
print('{:,}'.format(1234567890))# 1,234,567,890
函数的介绍:
利用 () 函数实现数据编号 。对数据进行编号 , 也是对字符串格式化操作的一种方式 , 使用 () 函数可以对字符串进行格式化编号 。
只需设置填充字符(编号通常设置 0) , 设置对齐方式时可以使用和 ^ 符号表示左对齐、右对齐和居中对齐 , 对齐填充的符号在 宽度 范围内输出时填充即可 。
对数字 1 进行 3 位编号 , 右对齐 , 需要设置 () 函数的填充字符为 0
print(format(1, '0>3'))# 输出:001print(format(1, '>03'))# 输出:001print(format(15, '0>5'))# 输出:00015
使用 f- 方法
f- 是 .6 新增的一种字符串格式方法 , 由于前面已经介绍了多种格式化方式 , 大同小异 , 此处用简单的案例对其用法进行演示 。在字符串中嵌入变量和表达式
name = "Python"# 字符串ver = 3.6# 浮点数# 输出:Python-3.6、Python-3.7、Python-3.8000000000000003print(f"{name}-{ver}、{name}-{ver + 0.1}、{name}-{ver + 0.2}")
11、深拷贝与浅拷贝
在中 , 对象赋值实际上是对象的引用 。当创建一个对象 , 然后把它赋给另一个变量的时候 , 并没有拷贝这个对象 , 而只是拷贝了这个对象的引用 。
浅拷贝:拷贝了最外围的对象本身 , 内部的元素都只是拷贝了一个引用而已 。也就是 , 把对象复制一遍 , 但是该对象中引用的其他对象我不复制
深拷贝:外围和内部元素都进行了拷贝对象本身 , 而不是引用 。也就是 , 把对象复制一遍 , 并且该对象中引用的其他对象我也复制 。
import copy 调用标准库模块copy# 直接引用赋值L1 = [1, [1, 2, 3], 6]# 使用list.copy()L2 = L1.copy()# 使用索引切片的方式L2 = L1[:]# 使用list()函数赋值L2 = list(L1)# 调用标准库模块copy中的函数copy() 浅拷贝L2 = copy.copy(L1)# 调用标准库模块copy中的函数copy() 深拷贝L2 = copy.deepcopy(L1)