Python输入和输出(IO)

Python教程 2019-03-03 22:19:18 阅读(189737) 评论(0)

计算机编程中,会经常涉及输入输出(IO,Input/Output)。提供IO功能的设备就是输入输出设备,比如,键盘、鼠标就是典型的输入设备,显示器就是典型的输出设备。程序在运行过程中,数据存储在内存中,但有时候它需要用户通过输入设备把数据(比如,密码)传递给程序;也有时候,程序需要把运行的结果数据输出给用户,这可能是打印到显示器,也可能是写到磁盘文件中。

Python IO

编程时,关于IO有两个基本概念:标准输入(stdin)和标准输出(stdout)。标准输入和输出都是对于命令行编程(非图形化界面)的,简单来说,stdin就是在命令行通过敲打键盘输入,stdout就是打印到显示器。

Python语言提供了方便的输入(input())和输出(print())函数。

输入函数 input()

程序在运行过程中,如何接收用户的键盘输入呢?那就是通过input()函数,我们先来看一个例子:

In [6]: a = input('请输入你的年龄:')
请输入你的年龄:18

In [7]: print(type(a))
<class 'str'>

这个例子中,请输入你的年龄:就是让用户输入前给的提示,input()函数返回接收到的键盘输入,并且是一个字符串,这一点非常重要,虽然我们知道,年龄应该是一个数字,但是input返回的是字符串,你要根据需要转变为整数:a = int(a)

关于input()函数,我们可以详细了解它的说明:

In [5]: input?
Signature: input(prompt=None, /)
Docstring:
Read a string from standard input.  The trailing newline is stripped.

The prompt string, if given, is printed to standard output without a
trailing newline before reading input.

If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
Type:      builtin_function_or_method

输出函数 print()

这个print函数,我们已经接触过很多了,在程序运行过程中,我们使用print把必要的数据打印到显示器(stdout),以便我们查看程序状态、数据结果等等,这在Python程序的debug过程中很有用。

我们先类看看print函数的说明:

In [8]: print?
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file:  a file-like object (stream); defaults to the current sys.stdout.
sep:   string inserted between values, default a space.
end:   string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
Type:      builtin_function_or_method

print函数是一个可变参数函数,也就是说,它可以打印若干个变量,比如print(1), print(1, 2, 3)。它的定义有四个默认参数:

  • sep=' ' 表示被打印的若干个变量之间用空格隔开;
  • end='\n' 表示打印完毕会自动多打印一个换行符;
  • file=sys.stdout 表示默认输出到标注输出设备(显示器),利用该参数我们也可以打印到文件中;
  • flush=False 默认不强制刷新到输出设备。

下面我们看看print()函数的使用例子:

In [23]: print(1, 2, 3)
1 2 3

In [24]: print(1, 2, 3, sep=';')
1;2;3

In [25]: print(1, 2, 3, sep=';', end='|')

再看看如何把信息print到文件中:

In [30]: f = open('z.log', 'w')

In [31]: print('猿人学Python', file=f)

In [32]: f.close()

In [33]: cat z.log
猿人学Python

总结

(1)标注输入函数input()让我们的程序从键盘获得输入数据;
(2)标注输出函数print()让我们的程序把数据打印到显示器;

练习

(1)写一段程序从键盘获取字符串、整数、浮点数;
(2)练习print()函数的各个参数的使用。

猿人学banner宣传图

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。

***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.con 原创,没有猿人学授权,请勿以任何形式转载。***

说点什么吧...