![Python 3.7从入门到精通(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/212/31476212/b_31476212.jpg)
2.2 Python的输入和输出
Python的内置函数input()和print()用于输入和输出数据。下面将讲述这两个函数的使用方法。
2.2.1 接收键盘输入
Python提供的input()函数从标准输入读入一行文本,默认的标准输入是键盘。input()函数的基本语法格式如下:
input([prompt])
其中,prompt是可选参数,用来显示用户输入的提示信息字符串。用户输入程序所需要的数据时,就会以字符串的形式返回。
【例2.3】测试键盘的输入。
x= input("请输入最喜欢的水果:")
上述代码用于提示用户输入水果的名称,然后将名称以字符串的形式返回并保存在x变量中,以后可以随时调用这个变量。
测试结果如图2-4所示。当运行此句代码时,会立即显示提示信息“请输入最喜欢的水果:”,之后等待用户输入信息。当用户输入“葡萄”并按下Enter键时,程序就接收了用户的输入。最后调用x变量,就会显示变量所引用的对象——用户输入的水果名称。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P33_1557.jpg?sign=1739532068-oPYy0FKXerODx7rgHI0hwEHOcS7Ufnmu-0-f75ef4b220197e462e73e4ba83b6d91d)
图2-4 程序运行结果
从结果可以看出,添加提示用户输入信息是比较友好的,对于编程时所需要的友好界面非常有帮助。
注意 用户输入的数据全部以字符串形式返回,如果需要输入数值,就必须进行类型转换。
2.2.2 输出处理结果
print ()函数可以输出格式化的数据,与C/C++的printf()函数功能和格式相似。print()函数的基本语法格式如下:
print(value,…,sep=' ' ,end='\n') #此处只说明了部分参数
上述参数的含义如下:
(1)value是用户要输出的信息,后面的省略号表示可以有多个要输出的信息。
(2)sep用于设置多个要输出信息之间的分隔符,其默认的分隔符为一个空格;
(3)end是一个print()函数中所有要输出信息之后添加的符号,默认值为换行符。
【例2.4】测试处理结果的输出(代码2.3.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P33_56959.jpg?sign=1739532068-NyqOwqzwAUCELRdav2mgi9cGFUoiQr2p-0-8fd562c6c88a1b3e0fa6357d722e909d)
保存并运行程序,结果如图2-5所示。这里调用了4次print()函数。其中,第1次为默认输出,第2次将默认分隔符修改为'*',第3次将默认的结束符修改为'>',第4次再次调用默认的输出。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P34_1607.jpg?sign=1739532068-g9ZNb1OcPC3qM2aodhNLV09FbVf2dgEy-0-14e04ee1ec572ded3ffdc1e4abc4e8ac)
图2-5 程序运行结果
从运行结果可以看出,第一行为默认输出方式,数据之间用空格分开,结束后添加了一个换行符;第二行输出的数据项之间以'*'分开;第三行输出结束后添加了一个'>',与第4条语句的输出放在了同一行中。
注意 从Python 3开始,将不再支持print输出语句,例如print "Hello Python",解释器将会报错。
如果输出的内容既包括字符串,又包含变量值,就需要将变量值格式化处理。
例如:
>>>x = 100 >>>print ("x = %d" % x)
运行结果如图2-6所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P34_1626.jpg?sign=1739532068-uhPbWM7DvVYiStT2nQpNXwjkBI4RjLWL-0-2e65b5b0a20ce49a81d7b59d4d3fd11d)
图2-6 程序运行结果
这里要将字符串与变量之间以(%)符号隔开。
如果没有使用(%)符号将字符串与变量隔开,Python就会输出字符串的完整内容,而不会输出格式化字符串。运行结果如图2-7所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P34_1630.jpg?sign=1739532068-mNWar94TL5ekhcB0qyi1XLs9tyTRgJBY-0-66e27aa16bbf9dcd4fee4673f21bb26b)
图2-7 程序运行结果
【例2.5】实现不换行输出(代码2.4.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P35_56963.jpg?sign=1739532068-fPIsj5TalBU9SfapCSnWxPx8AqY3OTvS-0-d7e053d771350436940ede1423689838)
保存并运行程序,结果如图2-8所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P35_1710.jpg?sign=1739532068-L47sepqIVsOkKG4WW574wiOm771kXhdB-0-990d4fd260c3cefaf265941ff1b04ec1)
图2-8 程序运行结果
在本示例中,通过在变量末尾添加end="",可以实现不换行输出的效果。读者从结果可以看出换行和不换行的不同之处。