一、屏幕输出
我们在学习Python时常说的输出,就是屏幕输出,也称作为屏幕打印或打印。屏幕输出用到了Python的内置函数print()
,语法如下:
print(*objects, sep, end, file, flush)
将 objects 转换为字符串输出到 file 指定的文本流中,以 sep 分隔并在末尾加上 end。
sep、 end、 file 、 flush是关键字参数,这四个关键字参数可以不指定,如若不指定将使用它们的默认值。(sep=' '
,end='\n'
,file=sys.stdout
,fluse=False
)
如果print中的所有参数都不给定的话,那么默认会在文本流中只给出end的默认值,即print()
等同于 print(end='\n')
,效果是空出一行。
参数解释:
- *objects:要输出的任意多个任意对象,也就是说该参数的数量可以有任意多个,且任何对象都可以。
- sep:多个objects之间的分割符,也就是在N个objects中间插入N-1个字符串内容。sep必须是字符串或
None
, 如果是None
或不指定sep,将使用默认值,即sep=' '
。 - end:输出的字符串末尾要加上的结尾符。end必须是字符串或
None
, 如果是None
或不指定end,将使用默认值,即end='\n'
。 - file:文本流的去向,也就是将文本流输出到file指定的对象中。必须是一个具有
write(string)
方法的对象或None
,如果参数是None
或不指定flie,将使用默认值,即flie=sys.stdout
,也就是标准输出对象,可以在屏幕上打印出文本流。 - fluse:文本流是否强制刷新,如果fluse为真值则文本流会强制刷新,为假值时则不会强制刷新。fluse必须是布尔值或
None
,如果参数是None
或不指定fluse,将使用默认值,即fluse=False
。
实例
print(1, 2, 3) # 此时等同于print(1, 2, 3, sep=' ', end='\n', file=sys.stdout, flush=False)
print(1, 2, 3, sep="#")
print(1, 2, 3, sep="#", end="&")
输出:
1 2 3
1#2#3
1#2#3&
1.1 格式化输出
在C语言中有格式化输出,在Python中同样支持。Python中的格式化表达式应该出现在*object
参数中。
实例
print("%d * %d = %d" % (2, 3, 2*3))
print("%f * %f = %f" % (2, 3.14, 2*3.14))
输出:
2 * 3 = 6
2.000000 * 3.140000 = 6.280000
关于格式化字符的更多说明,请参阅 Python基础>格式化字符。
关于print()的更多说明,请参阅 Python 3.8.0 官方文档>内置函数>print()。
二、键盘输入
键盘输入就是通过键盘向Python中输入文本流,输入的文本流作为数据供Python程序使用。键盘输入用到了Python的内置函数input()
,语法如下:
input([prompt])
这个函数会将程序(线程)暂停,等待用户输入,直到完成输入后,程序(线程)才会继续向下执行。该函数从用户输入的文本流中读取一行,将其转换为字符串(不包含用户最后在键盘输入的<换行符>
)并返回。当读取到 EOF 时,则触发 EOFError。
参数解释:
- prompt:是使用键盘输入时,先将prompt写入到标准输出,这样屏幕上会出现的提示信息。prompt可以是任何对象,但不管prompt是什么类型的对象都会将其转换为字符串类型(即使是
None
也会转换为字符串"None"
)再显示到屏幕上。如果不指定prompt,那么键盘输入时则不提示任何信息。
实例
s = input("请输入:")
print("用户输入的内容为:", s)
输出:
请输入:Hello world!
用户输入的内容为: Hello world!
关于input()的更多说明,请参阅 Python 3.8.0 官方文档>内置函数>input()。
参考资料(如有侵权,请联系作者删除内容):