原文: 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 = 5print('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 41*2*3*41#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 butterI 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 runcodeFile "<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 mathprint(math.pi)
输出:
3.141592653589793
现在math模块内的所有定义在我们的范围内可用。 我们还可以仅使用from关键字导入一些特定的属性和函数。 例如:
>>> from math import pi>>> pi3.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']
我们也可以将自己的位置添加到此列表中。
