原文: https://www.programiz.com/python-programming/input-output-import
本教程重点介绍两个内置函数print()
和input()
,以在 Python 中执行 I/O 任务。 另外,您还将学习如何导入模块并在程序中使用它们。
Python 提供了许多内置函数,这些函数可以在 Python 提示符下随时使用。
input()
和print()
之类的某些函数分别广泛用于标准输入和输出操作。 让我们首先看一下输出部分。
使用print()
函数的 Python 输出
我们使用print()
函数将数据输出到标准输出设备(屏幕)。 我们也可以将数据输出到文件中,但这将在后面讨论。
下面给出了其用法示例。
print('This sentence is output to the screen')
输出
This sentence is output to the screen
下面给出另一个示例:
a = 5
print('The value of a is', a)
输出:
The value of a is 5
在第二个print()
语句中,我们可以注意到字符串与变量sum
的值之间添加了空格。 这是默认设置,但是我们可以更改它。
print()
函数的实际语法为:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
此处,objects
是要打印的值。
值之间使用sep
分隔符。 默认为空格字符。
打印所有值后,将打印end
。 默认为新行。
file
是打印值的对象,其默认值为sys.stdout
(屏幕)。 这是一个例子来说明这一点。
print(1, 2, 3, 4)
print(1, 2, 3, 4, sep='*')
print(1, 2, 3, 4, sep='#', end='&')
输出:
1 2 3 4
1*2*3*4
1#2#3#4&
输出格式
有时我们想格式化输出,使其看起来很吸引人。 这可以通过使用str.format()
方法来完成。 该方法对任何字符串对象都是可见的。
>>> x = 5; y = 10
>>> print('The value of x is {} and y is {}'.format(x,y))
The value of x is 5 and y is 10
此处,花括号{}
用作占位符。 我们可以使用数字(元组索引)指定它们的打印顺序。
print('I love {0} and {1}'.format('bread','butter'))
print('I love {1} and {0}'.format('bread','butter'))
输出:
I love bread and butter
I love butter and bread
我们甚至可以使用关键字参数来格式化字符串。
>>> print('Hello {name}, {greeting}'.format(greeting = 'Goodmorning', name = 'John'))
Hello John, Goodmorning
我们还可以格式化字符串,例如 C 编程语言中使用的旧sprintf()
样式。 我们使用%
运算符来完成此操作。
>>> x = 12.3456789
>>> print('The value of x is %3.2f' %x)
The value of x is 12.35
>>> print('The value of x is %3.4f' %x)
The value of x is 12.3457
Python 输入
到目前为止,我们的程序是静态的。 变量的值已定义或硬编码到源代码中。
为了提供灵活性,我们可能希望从用户那里获取输入。 在 Python 中,我们具有input()
函数来允许此操作。input()
的语法为:
input([prompt])
其中prompt
是我们希望在屏幕上显示的字符串。 它是可选的。
>>> num = input('Enter a number: ')
Enter a number: 10
>>> num
'10'
在这里,我们可以看到输入的值10
是字符串,而不是数字。 要将其转换为数字,我们可以使用int()
或float()
函数。
>>> int('10')
10
>>> float('10')
10.0
可以使用eval()
函数执行相同的操作。 但是eval
更进一步。 如果输入是字符串,它甚至可以计算表达式
>>> int('2+3')
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '2+3'
>>> eval('2+3')
5
Python 导入
当我们的程序变得更大时,将其分解为不同的模块是一个好主意。
模块是包含 Python 定义和语句的文件。 Python 模块具有文件名,并以扩展名.py
结尾。
可以将模块内部的定义导入另一个模块或 Python 中的交互式解释器。 我们使用import
关键字执行此操作。
例如,我们可以通过输入以下行来导入math
模块:
import math
我们可以通过以下方式使用该模块:
import math
print(math.pi)
输出:
3.141592653589793
现在math
模块内的所有定义在我们的范围内可用。 我们还可以仅使用from
关键字导入一些特定的属性和函数。 例如:
>>> from math import pi
>>> pi
3.141592653589793
导入模块时,Python 会查看sys.path
中定义的几个位置。 它是目录位置的列表。
>>> import sys
>>> sys.path
['',
'C:\\Python33\\Lib\\idlelib',
'C:\\Windows\\system32\\python33.zip',
'C:\\Python33\\DLLs',
'C:\\Python33\\lib',
'C:\\Python33',
'C:\\Python33\\lib\\site-packages']
我们也可以将自己的位置添加到此列表中。