Python筆記:import導(dǎo)入本地腳本
導(dǎo)入本地腳本
import 如果你要導(dǎo)入的 Python 腳本與當(dāng)前腳本位于同一個(gè)目錄下貌虾,只需輸入 import,然后是文件名涝登,無(wú)需擴(kuò)展名 .py播聪。 偽代碼如下:
import useful_functions
useful_functions.add_five([1, 2, 3, 4])
我們可以為導(dǎo)入模塊添加別名,以使用不同的名稱引用它昭伸。
import useful_functions as uf
uf.add_five([1, 2, 3, 4])
使用 if main 塊
為了避免運(yùn)行從其他腳本中作為模塊導(dǎo)入的腳本中的可執(zhí)行語(yǔ)句梧乘,將這些行包含在 if __name__ == "__main__" 塊中÷睿或者选调,將它們包含在函數(shù) main() 中并在 if main 塊中調(diào)用該函數(shù)。
每當(dāng)我們運(yùn)行此類(lèi)腳本時(shí)灵份,Python 實(shí)際上會(huì)為所有模塊設(shè)置一個(gè)特殊的內(nèi)置變量 __name__仁堪。當(dāng)我們運(yùn)行腳本時(shí),Python 會(huì)將此模塊識(shí)別為主程序填渠,并將此模塊的 __name__ 變量設(shè)為字符串 “main”弦聂。對(duì)于該腳本中導(dǎo)入的任何模塊鸟辅,這個(gè)內(nèi)置 __name__ 變量會(huì)設(shè)為該模塊的名稱。因此横浑,條件 if __name__ == "__main__"會(huì)檢查該模塊是否為主程序剔桨。
在同一目錄下創(chuàng)建如下兩個(gè)腳本文件,并在終端里運(yùn)行這些腳本徙融!實(shí)驗(yàn) if main 塊并訪問(wèn)導(dǎo)入模塊中的對(duì)象洒缀!
demo.py 文件
# demo.py
import useful_functions as uf
scores = [88, 92, 79, 93, 85]
mean = uf.mean(scores)
curved = uf.add_five(scores)
mean_c = uf.mean(curved)
print("Scores:", scores)
print("Original Mean:", mean, " New Mean:", mean_c)
print(name)
print(uf.name)
useful_functions.py文件
# useful_functions.py
def mean(num_list):
return sum(num_list) / len(num_list)
def add_five(num_list):
return [n + 5 for n in num_list]
def main():
print("Testing mean function")
n_list = [34, 44, 23, 46, 12, 24]
correct_mean = 30.5
assert(mean(n_list) == correct_mean)
print("Testing add_five function")
correct_list = [39, 49, 28, 51, 17, 29]
assert(add_five(n_list) == correct_list)
print("All tests passed!")
if name == 'main':
main()
如果運(yùn)行 $ python demo.py,那么有如下輸出結(jié)果:
Scores: [88, 92, 79, 93, 85]
Original Mean: 87.4 New Mean: 92.4
__main__
useful_functions
如果運(yùn)行 $ python useful_functions.py欺冀,那么有如下輸出結(jié)果:
Testing mean function
Testing add_five function
All tests passed!
————————————————
版權(quán)聲明:本文為CSDN博主「Johnny丶me」的原創(chuàng)文章树绩,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明隐轩。
原文鏈接:https://blog.csdn.net/Tyro_java/article/details/80739247