本文重点介绍两个内置函数print()和input(),以便在Python中执行输入和输出任务。此外,您将学习模块的导入并在程序中使用它们。

Python提供了许多内置函数,这些函数可在不导入其它模块就可以直接使用。

input()和print()函数分别用于标准输入和输出操作。让我们先看看输出部分。

1. print()输出函数

print()函数将数据输出到标准输出设备(屏幕)。

我们也可以将数据输出到文件中,这篇文章我们不讨论,将在后续内容中讨论。来看一个例子:

print('This sentence is output to the screen')
a = 5
print('The value of a is', a)
输出为:
This sentence is output to the screen
The value of a is 5

我们可以注意到,在第二个print()语句中,在字符串和变量的值之间添加了一个空格。这是默认情况,但我们可以更改它。

该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

2. input()输入函数

到目前为止,我们的程序都是静态的。 变量的值是定义好的或者被代码硬编码好了。

为了实现灵活性,我们可能希望从用户那里获取输入。 在Python中,我们使用input()函数来达到这个目的。input()的语法是:

input([prompt])
其中prompt是我们希望在屏幕上呈现的字符串,你也可以不显示任何字符串。看个例子:
>>> num = input('Enter a number: ')
Enter a number: 10
>>> num
'10'
我们可以看到,输入的10打印出来不是一个数字,而是一个字符串。我们可以使用int()或者float()函数使它变成数字。比如:
>>> int(num)
10
>>> float(num)
10.0
我们也可以使用eval()函数来完成转化。这个函数功能很强大,如果它的参数是字符串,它甚至可以计算表达式的值。比如:
>>> int('2+3')
Traceback (most recent call last):
File "", line 1, in 
ValueError: invalid literal for int() with base 10: '2+3'
>>> eval('2+3')
5

3. 模块导入

当我们的程序变得越来越大时,最好将它分成不同的模块。

模块是包含Python定义和语句的文件。Python模块具有文件名并以扩展名.py结尾。

一个模块内的定义可以被导入到另一个模块或被导入到Python交互式解释器中。我们使用import关键字来执行此操作。

例如,我们可以通过输入import math来导入math模块。

>>> import math
>>> print(math.pi)
3.141592653589793
通过import math操作后,所有在math模块中的定义我们都可以使用。通过使用from关键字我们也可以只导入一些特定的属性和函数。比如:
>>> from math import pi
>>> pi
3.141592653589793
当导入一个模块时,Python解释器会搜索当前目录、已安装的内置模块和第三方模块,搜索路径存放在sys模块的path中(即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']

我们也可以手动添加其它路径位置到这个列表。

今天的内容就讲到这。