-
range() 函数
range(1,5) #1 - 4 ##输出 #[1, 2, 3, 4] range(1,5,2) #以2为步长 ##输出 #[1, 3] for i in range(5) #默认从0开始 print i
-
数字与ASCLL的 互相转换
int(x [,base ]) #将x转换为一个整数
long(x [,base ]) #将x转换为一个长整数
float(x ) #将x转换到一个浮点数
complex(real [,imag ]) #创建一个复数
str(x ) #将对象 x 转换为字符串
repr(x ) #将对象 x 转换为表达式字符串
eval(str ) #用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) #将序列 s 转换为一个元组
list(s ) #将序列 s 转换为一个列表
chr(x ) #将一个整数转换为一个字符
unichr(x ) #将一个整数转换为Unicode字符
ord(x ) #将一个字符转换为它的整数值
-
转换成二进制
#自写 binary = lambda n: '' if n==0 else binary(n/2) + str(n%2) binary(5) #python bin 转换出来的0b表示二进制 print bin(4).replace("0b",'') #python format print "{:b}".format(4)
-
数字格式化
数字 格式 输出 描述 3.1415926 {:.2f} 3.14 保留小数点后两位 3.1415926 {:+.2f} +3.14 带符号保留小数点后两位 -1 {:+.2f} -1.00 带符号保留小数点后两位 2.71828 {:.0f} 3 不带小数 5 {:0>2d} 05 数字补零 (填充左边, 宽度为2) 5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4) 10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4) 1000000 {:,} 1,000,000 以逗号分隔的数字格式 0.25 {:.2%} 25.00% 百分比格式 1000000000 {:.2e} 1.00e+09 指数记法 13 {:10d} 13 右对齐 (默认, 宽度为10) 13 {:<10d} 13 左对齐 (宽度为10) 13 {:^10d} 13 中间对齐 (宽度为10) 11 '{:b}'.format(11) '{:d}'.format(11) '{:o}'.format(11) '{:x}'.format(11) '{:#x}'.format(11) '{:#X}'.format(11)
1011 11 13 b 0xb 0XB
进制 -
str.format() 调用时使用关键字参数
>>> print('This {food} is {adjective}.'.format( ... food='spam', adjective='absolutely horrible')) This spam is absolutely horrible.
位置参数和关键字参数可以随意组合:
>>> print(‘The story of {0}, {1}, and {other}.’.format(‘Bill’, ‘Manfred’, other=‘Georg’)) The story of Bill, Manfred, and Georg.
!a (应用 ascii()), !s (应用 str() )和 !r (应用 repr() )可以在格式化之前转换值:
>>> import math >>> print('The value of PI is approximately {}.'.format(math.pi)) The value of PI is approximately 3.14159265359. >>> print('The value of PI is approximately {!r}.'.format(math.pi)) The value of PI is approximately 3.141592653589793.
字段名后允许可选的 : 和格式指令。这允许对值的格式化加以更深入的控制。下例将 Pi 转为三位精度。
>>> import math >>> print('The value of PI is approximately {0:.3f}.'.format(math.pi)) The value of PI is approximately 3.142.
在字段后的 : 后面加一个整数会限定该字段的最小宽度,这在美化表格时很有用:
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678} >>> for name, phone in table.items(): ... print('{0:10} ==> {1:10d}'.format(name, phone)) ... Jack ==> 4098 Dcab ==> 7678 Sjoerd ==> 4127
如果你有个实在是很长的格式化字符串,不想分割它。如果你可以用命名来引用被格式化的变量而不是位置就好了。有个简单的方法,可以传入一个字典,用中括号( [] )访问它的键:
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678} >>> print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; ' 'Dcab: {0[Dcab]:d}'.format(table)) Jack: 4098; Sjoerd: 4127; Dcab: 8637678
也可以用 ** 标志将这个字典以关键字参数的方式传入:
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678} >>> print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table)) Jack: 4098; Sjoerd: 4127; Dcab: 8637678