1.4 基本输出函数print()

在Python中,使用内置的print()函数可以将结果输出到IDLE或者标准控制台上。print()函数的语法格式如下。

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

参数说明如下。

value:表示要输出的值;可以是数字、字符串、各种类型的变量等。

…:值列表,表示可以一次性输出多个值;输出多个值时,需要使用“,”(英文逗号)分隔,输出的各个值之间默认用空格隔开。

sep:表示输出的各个值之间的间隔符,默认是一个空格,也可以设置为其他的分隔符。

end:表示输出完最后一个值后需要添加的字符串,用来设定输出语句以什么结尾,默认是换行符“\n”,即输出完会跳到新行;可以换成其他字符串,如end='\t' 或end=' '等。

file:表示输出的目标对象,可以是文件,也可以是数据流,默认是sys.stdout。也可以设置“file = 文件存储对象”,把内容存到该文件中。

flush:表示是否立刻将输出语句输出到目标对象,flush的值为False或者True,默认flush=False,表示输出值会存在缓存;当flush=True时,输出值会被强制写入文件。

其中,输出内容可以是数字和字符串(字符串需要使用引号括起来),此类内容将直接输出;输出内容也可以是包含运算符的表达式,此类内容将计算结果输出。例如:

a = 100                          # 变量a,值为100
b = 5                            # 变量b,值为5
print(9)                         # 输出数字9
print(a)                         # 输出变量a的值100
print(a*b)                       # 输出a*b的结果500
print("go big or go home")       # 输出“go big or go home”(要么出众,要么出局)

多学两招

在Python中,默认情况下,使用print()语句输出结果后会自动换行,如果想要一次输出多个内容,而且不换行,可以将要输出的内容使用英文逗号分隔。下面的代码将在一行上输出变量a和b的值,以及字符串。

print(a,b,'要么出众,要么出局')           # 输出结果:100 5 要么出众,要么出局

注意

sep、end、file、flush都必须以命名参数方式传参,否则会被当作需要输出的对象。

提示

如果print()函数不传递任何参数,将会输出end参数的默认值,即输出空行。

1.4.1 使用连接符连接多个字符串

数值可以直接输出,但使用“+”连接数值和其他类型数据时,系统会默认为加法计算,会报错。可以使用“,”连接,或者将数值作为字符串来处理,即在两端加英文单引号或英文双引号。

print(1314)                     # 直接输出整数,可不带英文双引号或英文单引号
1314
print(12.22)                    # 直接输出浮点数
12.22
print(10 / 3)                   # 可以包含运算表达式,输出运算结果
3.3333333333333335
print(100 * 3.13 + 60)          # 可以包含运算表达式,输出运算结果
373
print(2, 0, 2, 0)                 # 使用“,”连接要输出的数值,输出结果中间用空格分隔
2 0 2 0
print(192, 168, 1, 1, sep='.')  # 使用“.”连接输出数值,数值间用“.”分隔
192.168.1.1
print("广州恒大" + 43)          # 不能直接使用“+”连接字符串和数值,会报错
TypeError: can only concatenate str (not“int”) to str
print("广州恒大" + str(43))      # 使用“+”连接字符串和数值时,数值要转换为字符串
广州恒大43
print("广州恒大", 43)          # 使用“,”连接字符串和数值,输出的字符串和数值用
空格分隔 广州恒大 43 print("%e" % 120563332111098) # 使用操作符“"%e"%”格式化数值为科学记数法 1.205633e+14

1.4.2 指定位数编号输出

zfill()函数可按指定位数输出编号,如将输入的数字格式化为5位编号输出,代码如下。

instr=input('请输入一个数字:')
print (instr.zfill(5))        # 输出5位编号

运行程序,输入一个数字,会将其格式化为5位编号,如图1.16所示。

图1.16 输出5位编号