4.2. 输入和输出

输出

想在屏幕上显示点什么?用 print() 就行。在括号里写上你要输出的内容,比如经典的 hello, world:

>>> print('hello, world')

print() 还能一次处理多个字符串,用逗号隔开就可以:

>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog

看到了吧,每个逗号的位置会自动变成一个空格,最后拼成一句完整的话:

 

除了字符串,print() 也能直接输出数字或者计算结果:

>>> print(300)
300
>>> print(100 + 200)
300

如果想让输出更清楚一点,可以这样写:

>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300

这里 Python 会自动算出 100 + 200 的结果,但 '100 + 200 =' 只是普通字符串,不会被当成算式。两者混在一起输出,效果就是上面那样。

输入

会输出了,那怎么接收用户输入呢?Python 提供了 input() 函数。它会等用户输入一些内容,然后把这些内容存到变量里。试试让用户输入名字:

>>> name = input()
Michael

输入 name = input() 并回车后,命令行会停在那儿等你。这时候随便打点什么,再按回车就完成了。

输入完成后屏幕上不会有什么提示,又回到了 >>> 的状态。刚才输入的东西去哪了?其实已经存到 name 这个变量里了。直接输入变量名就能看到:

>>> name
'Michael'

**变量是什么?**其实初中数学就学过了。

比如正方形的边长是 a,面积就是 a x a。这里的 a 就是个变量,它的值可以变:

  • 如果 a=2,面积就是 2 x 2 = 4
  • 如果 a=3.5,面积就是 3.5 x 3.5 = 12.25

在程序里,变量不光能存数字,也能存字符串。所以 name 这个变量,存的就是一串文字。

想看变量里的内容,除了直接输入变量名,也可以用 print():

>>> print(name)
Michael

有了输入和输出,我们就能写点更有意思的程序了。比如改进一下之前的 hello, world:

name = input()
print('hello,', name)

运行这个程序,第一行会等你输入名字,第二行会用你输入的名字跟你打招呼。输入 Michael 的话:

C:\Workspace> python hello.py
Michael
hello, Michael

不过这样运行起来,用户一脸懵:屏幕上啥提示都没有,谁知道该干嘛?好在 input() 可以显示一段提示文字。改成这样:

name = input('please enter your name: ')
print('hello,', name)

再跑一次,程序一开始就会显示 please enter your name:,用户一看就明白了:

C:\Workspace> python hello.py
please enter your name: Michael
hello, Michael

每次运行,根据用户输入的不同,输出也会跟着变。

命令行下的输入输出就这么简单。

小结

程序要完成任务,离不开输入和输出。用户通过输入告诉程序需要什么,程序通过输出告诉用户结果是什么。输入是 Input,输出是 Output,合起来就叫 I/O。

input()print() 是命令行里最基础的 I/O 方式。当然,实际应用中还有更高级的交互方式,比如网页上的输入框、按钮什么的,但底层逻辑都是一样的。

练习

试试用 print() 输出 1024 * 768 = xxx:

# TODO:
print(???)