Python 2.6 非程序员教程/使用模块
这是本章的打字练习(将其命名为 cal.py)。import
实际上是在查找名为 calendar.py 的文件并读取它。如果文件名为 calendar.py 并且它看到了一个 "import calendar",它会尝试读取自身,这在最佳情况下也难以正常运作。)
import calendar
year = input("Type in the year number: ")
calendar.prcal(year)
以下是我的部分输出结果
Type in the year number: 2001 2001 January February March Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 1 2 3 4 1 2 3 4 8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11 15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18 22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25 29 30 31 26 27 28 26 27 28 29 30 31
(我跳过了一些输出,但我认为你明白了。)那么程序做了什么?第一行 import calendar
使用了一个新的命令 import
。命令 import
加载了一个模块(在本例中为 calendar
模块)。要查看标准模块中可用的命令,请查看 Python 库参考(如果你下载了它)或访问 https://docs.pythonlang.cn/library/。如果你查看 calendar 模块的文档,它列出了一个名为 prcal
的函数,该函数打印一年日历。calendar.prcal(year)
使用了此函数。总而言之,要使用模块,请 import
它,然后使用 module_name.function
来调用模块中的函数。另一种写程序的方式是
from calendar import prcal
year = input("Type in the year number: ")
prcal(year)
此版本从模块中导入一个特定的函数。以下是另一个使用 Python 库的程序(将其命名为 clock.py)(同时按下 Ctrl 和 'c' 键终止程序)
from time import time, ctime
prev_time = ""
while True:
the_time = ctime(time())
if prev_time != the_time:
print "The time is:", ctime(time())
prev_time = the_time
其中部分输出结果为
The time is: Sun Aug 20 13:40:04 2000 The time is: Sun Aug 20 13:40:05 2000 The time is: Sun Aug 20 13:40:06 2000 The time is: Sun Aug 20 13:40:07 2000 Traceback (innermost last): File "clock.py", line 5, in ? the_time = ctime(time()) KeyboardInterrupt
输出当然是无限的,所以我取消了它(或者至少在按下 Ctrl+C 之前继续输出)。程序只是执行一个无限循环 (True
始终为真,所以 while True:
会一直执行),并且每次都会检查时间是否改变,如果改变则打印出来。注意,在 from time import time, ctime
中如何使用导入语句后的多个名称。
Python 库包含许多有用的函数。这些函数赋予你的程序更多功能,并且其中许多可以简化 Python 中的编程。
重写 决策 部分的 High_low.py 程序,使用 0 到 99 之间的随机整数,而不是硬编码的 78。使用 Python 文档查找一个合适的模块和函数来完成此操作。
重写 决策 部分的 High_low.py 程序,使用 0 到 99 之间的随机整数,而不是硬编码的 78。使用 Python 文档查找一个合适的模块和函数来完成此操作。
from random import randint
number = randint(0, 99)
guess = -1
while guess != number:
guess = input ("Guess a number: ")
if guess > number:
print "Too high"
elif guess < number:
print "Too low"
print "Just right"