11. 输入输出
Python两种输出值的方式: 表达式语句和 print() 函数。
第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。
如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。
如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。
- str(): 函数返回一个用户易读的表达形式。
- repr(): 产生一个解释器易读的表达形式。
s = 'Hello, word'
print(str(s))
print(repr(s))
结果:
Hello, word
'Hello, word'
11.1 str.format()
print('{}真简单: {}真难!'.format('python', 'Ai'))
print('%s真简单' % 'python') # 旧式写法
结果:
python真简单: Ai真难!
python真简单
11.2 !a !s和!r
!a (使用 ascii()), !s (使用 str()) 和 !r (使用 repr()) 可以用于在格式化某个值之前对其进行转化
s = 'Hello, word'
print('红红火火恍恍惚惚,{!s}。'.format(s))
print('红红火火恍恍惚惚,{!r}。'.format(s))
可选项 : 和格式标识符可以跟着字段名。 这就允许对值进行更好的格式化。在 : 后传入一个整数, 可以保证该域至少有这么多的宽度
import math
print(math.pi)
print('常量 PI 的值近似为 {0:.3f}。'.format(math.pi))
print('常量 PI 的值近似为 {0: 20}。'.format(math.pi))
结果:
3.141592653589793
常量 PI 的值近似为 3.142。
常量 PI 的值近似为 3.141592653589793。
如果你有一个很长的格式化字符串, 而你不想将它们分开, 那么在格式化时通过变量名而非位置会是很好的事情
table = {'Google': 1, 'Runoob': 2, 'Taobao': 3}
print('Runoob: {0[Runoob]:d}; Google: {0[Google]:d}; Taobao: {0[Taobao]:d}'.format(table))
print('Runoob: {Runoob:d}; Google: {Google:d}; Taobao: {Taobao:d}'.format(**table))
结果:
Runoob: 2; Google: 1; Taobao: 3
Runoob: 2; Google: 1; Taobao: 3
11.3 input
print(input("请输入:"))
结果:
请输入:a # 输入a
a