一,格式化输出
今天主要想记录一下关于格式化输出的例子,然后结合了自己的理解,分析如下:
格式是 :百分号+占位符
主要有三种使用形式:%s (其中s表示string)表示字符串
%d (其中d表示digit)表示数字
%f (其中f表示float)表示浮点小数,也称小数
其他的如下:%% 百分号标记 #就是输出一个%
%c 字符及其ASCII码
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中
- Python支持将值格式化为字符串,虽然这可以包括非常复杂的表达式,但是最基本的用法是将值插入到%s 占位符的字符串中。
- %格式化符也可用于字典,可用%(name)引用字典中的元素进行格式化输出。
下面举例说明:
1,打印字符串
title = "hello world!" print( "%s" %title) 结果:hello world!
注意:这里的 %s 被替换为后面 % 符号后窑传递给字符串的内容(他可以包括单个和多个字符串)
2,打印整数
number = 123 print("%d" %number) 结果:123
3,打印浮点数
number = 123 print("%f" %number) 结果:123.000000
python2.x python3.x默认浮点数都保留6位小数
4,打印浮点数(指定保留位数)
number = 123 print("%2f" %number) print("%4f" %number) 结果:123.00 结果:123.0000
%f这里指定保留小数位数时具有自动四舍五入的功能,比如b=3.14159 使用%.3f格式化之后输出的结果变成了b=3.142
5,指定占位符宽度
number = "ABCDE" print( "%6s" %number) print( "%06s" %number) print( "%8s" %number) 结果: ABCDE 0ABCDE ABCDE
指定输出d使用6个字符宽度,如果不够在前面补零,输出字符串时,默认右对齐,其实可以调整的
二,深浅copy
关于复制,首先我们从切片技术说起。它应用于所有的序列,包括:列表,字符串,元祖。但是切片不能应用于字典,对于字典只能使用D.copy() 和 D.deepcopy()方法。
下面具体说一下深浅copy,可以应用于序列,也可以应用于字典
import copy a ={'a':1,'b':2} x = copy.copy(a) #浅拷贝:只拷贝*的对象,或者说父级对象 y = copy.deepcopy(a) #深拷贝:拷贝所有的对象,*对象及其嵌套对象。或者说父级对象及其子对象
所以说:深浅拷贝都是对源对象的复制,占用不同的内存空间
如果源对象只有一级目录的话,源对象做任何改动,不影响深浅拷贝对象
如果源对象不止一级目录的话,源对象做任何改动,都要影响浅拷贝,但不影响深拷贝
序列对象的切片其实是浅拷贝,即只拷贝*的对象