
2.3 基本输入与输出
在第1章编写第一个程序时使用了print(),用来在屏幕上输出信息。该函数就是Python的基本输出函数。除了该函数,Python还提供了输入函数input()和数据处理函数eval()。其中,eval()用来对输入的信息进行处理。下面依次介绍这些函数。
2.3.1 输入函数input()
input()是Python的一个内置函数,用来接收用户的键盘输入。无论用户输入什么内容,input()都会在输入信息内容本身的基础上添加引号形式返回结果。在使用input()时,可以包含一些提示性文字,用来提示用户。该函数的语法格式如下:

其中,<提示性文字>是可选的。
注意:input()会将用户输入的任何数据类型保存为'输入内容的本身'形式,其中,'表示单引号。如果用户输入的内容本身就包含了单引号或双引号。那么执行结果会在此基础上再加一个单引号。例如,输入"68.68",其结果为'"68.68"'。
【实例2-8】使用input()接收用户的输入信息,查看结果。
(1)例如,用户输入的是整数60,结果如下:

输出信息的60外边有了单引号(')。
(2)例如,用户输入的是小数6.6,结果如下:

输出信息的6.6外边也有了单引号(')。
(3)例如,用户输入的是单词 'python',结果如下:

从输出信息中可以看到,输入的信息为'python',输出结果又在这个基础上加了双引号,即"'python'"。
2.3.2 数据处理函数eval()
input()会将用户输入的所有数据都按照“输入内容”形式保存,这会导致后续处理不方便。因此,需要使用eval()去掉输入内容外侧的单引号或双引号。其语法格式如下:

其中,当x为“输入内容”形式时,将去掉输入内容外侧的单引号或双引号;当x为“算术运算”时,将返回运算结果。
【实例2-9】使用eval ()对“输入内容”形式的信息进行处理,查看结果。
(1)当输入内容为字符时,如"60"。对其进行处理,结果如下:

输出结果去掉了60外侧的双引号,变成了整数60。
(2)当输入内容为算术运算时,如"2+3"。对其进行处理,结果如下:

输出结果为2+3的计算结果5。
由于eval()可以对“输入内容”形式的数据进行处理,即去掉外侧的双引号。而input()的结果就是“输入内容”形式。因此,eval()与input()常常一起使用。
【实例2-10】使用eval()与input()对输入信息进行处理。
(1)例如,输入的是整数60。结果如下:

输入的是整数60,输出结果也为整数60。
(2)例如,输入的是“输入内容”形式,如"60"。结果如下:

输入的是“输入内容”形式"60",输出结果为'60'。
2.3.3 输出函数print()
print()是Python的基本输出函数,用来在屏幕上输出信息。根据输出内容的不同,有以下两种使用方法。
1. 输出单个信息
输出单个信息的语法格式如下:

其中,待输出的信息可以为多种形式的内容。
【实例2-11】使用input()输出信息各种内容,查看结果。
(1)如果对整数60进行输出,结果如下:

输出的还是整数60。
(2)如果对加法运算2+3进行输出,结果如下:

输出的是2+3的计算结果。
(3)如果对“输入内容”形式的数据'60'进行输出,结果如下:

输出结果是60,去掉了两侧的单引号,但是它不是整数60。
2. 输出多个信息
输出多个信息的语法格式如下:

其中,多个输出信息之间使用逗号(,)进行分隔。输出后,每个待输出信息之间使用了空格进行分隔。
【实例2-12】使用print()同时输出多条信息,代码如下:

其中,要输出的信息2021是一个整数;“学习Python”和“从现在做起”为“输入内容”形式的数据。输出后,去掉了输入内容两侧的引号。