函數的優點之一是,使用它們可將代碼塊與主程序分離。通過給函數指定描述性名稱,可讓主程序容易理解得多。
而我們還可以進一步優化代碼,將函數存儲在被稱為 模塊 (模塊是擴展名為 .py 的文件)的獨立文件中,再將
模塊導入到主程序中。import 語句允許在當前運行的程序文件中使用模塊中的代碼。實際工作中也是如此,這樣
可以隱藏程序代碼的細節,將重心放在程序的高層邏輯上。而且重用性也會提高,也能讓其他程序員使用你的函
數,只需要將這些文件共享給他就行了。
一、導入整個模塊
如果你寫了一個 utils.py 的文件里有一些通用的函數,然后你想在 test.py 里面使用這些函數,如何去做呢?
如下:
utils.py
def print(): print("hello world !") def greet_user(username): print("hello " + username.title())
test.py
import utils #注意使用函數前需要用模塊名加 .(點) utils.print()
這樣就可以打印“hello world !”了。
解釋:Python在讀取test文件時,代碼行 import utils 打開文件utils.py,並將其中的所有函數都復制到這個
程序中,你看不到復制的代碼,因為這個程序運行時,Python在幕后已經完成了復制。你只需要知道在test.py
中可以使用utils.py 中的所有函數(使用函數時語法是:模塊名.函數名)。
二、導入特定的函數
如果你只想使用模塊中的某一個函數,可以使用from 模塊名 import 函數名,如下:
test.py
from utils import greet_user greet_user('joker')
如果使用這種方式,調用函數時則不需要模塊名加點來調用函數。
三、給模塊指定別名
可以給模塊指定別名,便於我們去調用函數,如下:
test.py
import utils as u #注意使用函數前需要用模塊名加 .(點) u.print()
在給模塊指定別名之后則可以使用別名去調用函數,這樣會使代碼更加簡潔且不需要去關注模塊名,而專注於函數名。
函數命名:給函數命名時,最好是見名知意,且在函數定義后面,可以用注釋簡要闡述其主要功能
遇到閃電記得要微笑,因為那是天空在給你拍照。