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.python.club.tw/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"