1.format形式也支持格式符号的。
print('{:d}'.format(1))
运行结果: 1
在{}中,%用:来替换。
print('{:f}'.format(1.2))
运行结果: 1.200000
虽然format形式可以对格式符进行匹配,但并不能支持所有的格式符。
比如:
print('{:u}'.format(12))
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py
Traceback (most recent call last):
File "/Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py", line 23, in <module>
print('{:u}'.format(12))
ValueError: Unknown format code 'u' for object of type 'int'
print('{:s}'.format(12))
运行结果:
Traceback (most recent call last):
File "/Users/llq/PycharmProjects/pythonlearn/pythonlearn1/format2.py", line 23, in <module>
print('{:s}'.format(12))
ValueError: Unknown format code 's' for object of type 'int'
format对于格式符支持会比较少,所以在平时的工作中还是优先推荐使用%的形式进行格式符的使用。
2.不经常用的格式符
print('%o' % 24)
print('%x' % 32)
运行结果:
30
20
16进制是可以通过a,b,c,d,e,f(字母不区分大小写)来替代10,11,12,13,14,15,这些数字的。那么,该如何书写这样的16进制数呢?
int函数可以传入一个数字,其实它还可以传一个字符串。
但是,如果是有特殊要求的字符串(字符串中有非数字),就需要传入另一个参数。
16代表生成16进制的数字。
# print('%x' % '123ab')
number = int('123ab',16)
print(number)
print('%x' % number)
运行结果:
74667
123ab
科学计数法的浮点数,在常见的小数后面会加一些特殊字符。
print('%e' % 1.2)
运行结果: 1.200000e+00