- Python核心编程从入门到开发实战
- 朱红庆
- 1057字
- 2020-08-27 18:33:04
2.2.6 数据输入与输出
在Python程序中,是通过内置的input()和print()函数实现数据的输入和输出的。下面将学习Python程序中的数据输入与输出。
1.input()函数
input()函数可以让程序暂停运行,等待用户输入数据信息。程序在获取用户输入的信息后,将其存储在一个变量中,以方便后面程序的使用。
在范例2-2的第1行就用到了input()函数。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/39_2.jpg?sign=1739264652-jrztIeZGucxXjr0QHAdFMkZolTFY7EGH-0-77093868a8905f90048089e71187f396)
input()函数接收一个参数,即要向用户显示提示或说明,让用户知道下一步该做什么。在这个范例中,当运行到第1行代码时,用户将看到提示“输入一个数字:”。程序将等待用户输入数字,当用户完成数字的输入并按“Enter”键后,程序才继续运行。用户所输入的数字被存储在变量num中。
input()函数的语法如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/39_3.jpg?sign=1739264652-1bqn4fsCjioUcL6AznfN92KXN7SDJNKz-0-f7883c86db4eb83d69071d4b2a196916)
在Python 3.x中,input()函数获得的用户输入均以字符串形式保存在变量中,参见如下范例代码:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/39_4.jpg?sign=1739264652-igfJhT3EGdZwG7AxddfGnfrJI9xhDBYp-0-28960613286e20c0187db6bffe9a5391)
从上述代码中可以看出,无论用户输入的是数字还是字符,input()函数统一按照字符串形式输出显示。
2.print()函数
print()函数用于向用户或者屏幕上输出指定的字符信息。在print()函数的括号中加上字符串,就可以向屏幕上输出指定的文字。例如,输出“hello,world”,用代码实现如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/40_2.jpg?sign=1739264652-a8dPykPtxKOBxLhTIOikjfuXzBeeP8lk-0-5763da4b9ee3aaf1456fc422bdb4b4ae)
print()函数也可以接收多个字符串,字符串之间用逗号“,”隔开,就可以连成一串输出。示例代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/40_3.jpg?sign=1739264652-25T2i6YGTsOLurdqEsx3JbieTHjtMY1J-0-b2be94281337b19cf6fe49ed601b5ad5)
print()函数会依次打印输出每个字符串,遇到逗号“,”就会输出一个空格。
print()函数的语法如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/40_4.jpg?sign=1739264652-af0yAlIM6LFAPldz7P6n5T54EP9AZlKa-0-d9ecb5641dde39514fbafe11b16f9862)
· 参数sep是实现分隔符。比如,当有多个参数输出时,想要输出中间的分隔字符。
· 参数end是输出结束时的字符,默认是换行符(\n)。
· 参数file用于定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件。
· 参数flush用于判断是否立即把内容输出到流文件,不进行缓存。
print()函数中的sep、end、file、flush参数是4个可选参数,其中sep、end、file参数的具体使用方法如下。
1)sep参数
在输出字符串之间插入指定字符串,默认是空格。范例如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/40_5.jpg?sign=1739264652-QwQ4mipMLA1AMNUXPNTk3lbPgJbPCb02-0-87395bbf513037fbf16f2840000b89e9)
2)end参数
在输出语句的结尾加上指定字符串,默认是换行符(\n)。范例如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/40_6.jpg?sign=1739264652-HwCV6cpF0atzlrOorGgGu4LlvInb5p3E-0-a340948c8e62aeea0e2b36c226528eff)
注意
print()函数默认在输出语句后自动切换到下一行。对于Python 3.x版本来说,如果要实现输出不换行的功能,则可以设置end=''(Python 2可以在print语句之后加“,”实现不换行的功能)。
3)file参数
指定文本将要发送到的文件、标准流或者其他类似文件的对象,默认是sys.stdout。范例如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/41_1.jpg?sign=1739264652-3zQsc5u0xZij1GIeyD6q71wdhCtTUPBo-0-c358f9dfc357215245f7ce75e6db53e1)
在本例中,file=open('print.txt','a')设置了输出文件路径,'a'设置了打开文件的方式是添加模式,所以字符串会加在文件末尾,而不会重写文件。其中,sep='-'参数设置了字符写入时的分隔符(-);end=';\n'参数设置了字符写完后的结尾符号(;)及换行(\n)。另外,执行该函数会在Python根目录中新建一个print.txt文本文件,用于写入本例指定的文本,如图2-2所示。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/41_2.jpg?sign=1739264652-rtpNWDmdyrGXk2HO7w35bsuqYdrFmK4k-0-6f8a610e3eb84db98b5f10ab4afbbb01)
图2-2 print.txt文本文件