本文重点介绍两个内置函数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 "<stdin>", line 1, in <module>
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']
我们也可以手动添加其它路径位置到这个列表。
今天的内容就讲到这。
感谢您的阅读!想了解更多有关R语言技巧,请关注我的微信公众号“R语言和Python学堂”,我将定期更新相关文章。