print()方法用于打印输出,是最常见的一个函数。
注意:print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。
语法
print(args)
参数
objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep – 用来间隔多个对象,默认值是一个空格。
end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file – 要写入的文件对象。
flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
实例
- 字符串、布尔型和数值类型可以直接输出
print(‘Python’)
Python
print(True)
True
print(False)
False
print(23)
23
print(-7.2)
-7.2
print(1.0e2)
100.0
- 输出变量值
2.1 字符串、布尔型、数值变量
对于字符串变量、布尔型变量和数值变量,print函数会直接打印它们的值。
string = ‘C++’
integer = 6
float_number = -7.1
omp = True
print(string)
C++
print(integer)
6
print(float_number)
-7.1
print(omp)
True
2.2 列表变量
对于列表变量,print函数会直接将列表全部元素打印出来,并用[]包裹全部元素,表示打印的是一个列表。
print(test_list)
[‘Nova’, ‘Cinder’, ‘Neutron’, ‘Keystone’, 23, 45.2]
2.3 元组变量
对于元组变量,print函数会直接将元组全部元素打印出来,并用()包裹全部元素,表示打印的是一个元组。
test_tuple = (‘C9’, ‘FNC’, ‘IG’, ‘G2’)
print(test_tuple)
(‘C9’, ‘FNC’, ‘IG’, ‘G2’)
2.4 字典变量
对于字典变量,print函数会直接将字典全部键值对打印出来,并用{}包裹全部键值对。字典中的每一个键值对中用:隔开键和值。
test_dict = {‘MacBook Pro’:’computer’, ‘IPhone X’:’mobile phone’, ‘FusionSphere’:’HuaweiCloud OS’}
print(test_dict)
{‘MacBook Pro’: ‘computer’, ‘IPhone X’: ‘mobile phone’, ‘FusionSphere’: ‘HuaweiCloud OS’}
2.5 集合变量
对于集合变量,print函数会直接将集合全部元素不规则的打印出来(没有顺序),并用{}包裹全部元素。
test_set = {2, 4, 6, 3.2}
print(test_set)
{2, 3.2, 4, 6}
- 格式化输出
Python支持参数格式化。
3.1 格式化字符:%c
print(‘I love %c’ %’S’)
I love S
3.2 格式化字符串:%sprint(‘I want to learn %s. How about you?’ %’Python’)
I want to learn Python. How about you?
3.3 格式化整数:%dprint(‘I like number %d’ %23)
I like number 23
3.4 格式化无符号整型:%uprint(’10 – 23 is %d, not %u’ %(-13, 13) )
10 – 23 is -13, not 13
3.5 格式化无符号八进制数:%o
print函数将无符号十进制数转换为八进制数。
print(‘return: %o’ %56)
return: 70
3.6 格式化无符号十六进制数:%x
print函数将无符号十进制数转换为十六进制数。
print(‘Return: %x %x’ %(123, 257))
Return: 7b 101
3.7 格式化无符号十六进制数(大写):%Xprint(‘Return: %X %X’ %(123, 257))
Return: 7B 101
3.8 格式化浮点数:%fprint(‘PI= %f’ %(3.1415926))
PI= 3.141593
还可以指定浮点数的精度。print(‘PI= %f, about %.2f’ %(3.1415926, 3.1415926))
PI= 3.141593, about 3.14
3.9 用科学计数法格式化浮点数:%eprint(‘%e’ %(1.0e3))
1.000000e+03
3.10 格式化浮点数(简写):%g
print(‘%g %g’ %(1.0e3, 1.23))
1000 1.23
- 格式化操作符
4.1 定义宽度或小数点精度:*amount = 123
print(‘%d’ %(5,amount)) 123 不过,使用下面的方式也可以替代,定义宽度:amount = 123
print(‘%5d’ %amount)
123
4.2 左对齐:-print(‘%5d’ %amount) #不采用左对齐输出
123
print(‘%-5d’ %amount) #左对齐输出
123
4.3 在正数前面显示‘+’号:+print(‘%-+5d’ %amount)
+123
5.自动换行
默认情况下,print函数输出后自动换行:for i in range(3):
… print(i)
…
0
1
2
如果不想让print函数执行完换行,可以使用end参数:for i in range(3):
… print(i, end=”)
…
012>>>
- 指定输出分隔符
默认情况下,print输出是有分隔符的:address = ‘Huawei – Building a Fully Connected, Intelligent World’
print(“email: xxx.@”, address)
email: xxx.@ Huawei – Building a Fully Connected, Intelligent World
要想消去分隔符,可以使用sep参数:print(“email: xxx.@”, address)
email: xxx.@ Huawei – Building a Fully Connected, Intelligent World
print(“email: xxx.@”, address, sep=”)
email: xxx.@Huawei.com
sep参数还可以指定其他字符作为分隔符:p1 = ‘Asian’
p2 = ‘China’
p3 = ‘Shannxi’
p4 = “Xi’an”
p5 = ‘Yanta’
print(p1, p2, p3, p4, p5, sep=’>>> ‘)
Asian>>> China>>> Shannxi>>> Xi’an>>> Yanta
注意事项
- 输出单/双引号字符串
在输出单/双引号字符串时,print函数可以做到与交互式解释器一样,正确的打印。
?使用两种引号的字符串好处:可以创建本身就包含引号的字符串,而不使用转义符。可以在双引号包裹的字符串中使用单引号,或者在单引号包裹的字符串中使用双引号。
print(“I’m a boy.”)
I’m a boy.
- 与交互式解释器响应输出的区别
print函数的输出与交互式解释器的自动响应输出存在一些差异。print( )会把包裹字符串的引号截去,仅输出其实际内容,易于阅读。它还会自动地在各个输出部分之间添加空格,并在所有输出的最后添加换行符。
- 当字符串数据与其他数据类型拼接输出时,会报错
print(‘number ‘ + 1)
Traceback (most recent call last):
File “”, line 1, in
TypeError: must be str, not int
正确的做法是将非字符串转换为字符串输出,或用%格式化输出。
补充
print()函数调用底层的sys.stdout.write()方法,即往控制台打印字符串。