python中模塊的制作


1.import 模塊名

2.from 模塊名 import 類名(或方法名或全局變量)

3.from 模塊名 import *   導入模塊名下的所有類名,方法,全局變量

4.from 模塊名 import 類名(或方法名或全局變量) as 別名    原來的名稱太長,給它起個別名         

5.定位模塊:

  當你導入一個模塊,Python解析器對模塊位置的搜索順序是:

  1. 當前目錄
  2. 如果不在當前目錄,Python則搜索在shell變量PYTHONPATH下的每個目錄。
  3. 如果都找不到,Python會察看默認路徑。UNIX下,默認路徑一般為/usr/local/lib/python/
  4. 模塊搜索路徑存儲在system模塊的sys.path變量中。變量里包含當前目錄,PYTHONPATH和由安裝過程決定的默認目錄。

6.自定義模塊方法一

(1)首先認識一個變量 __name__ 

  __name__這個系統變量顯示了當前模塊執行過程中的名稱,如果當前程序運行在這個模塊中,__name__ 的名稱就是__main__如果不是,則為這個模塊的名稱。
  __main__一般作為函數的入口,類似於C語言,尤其在大型工程中,常常有if __name__ == "__main__":來表明整個工程開始運行的入口。

使用這個變量的結果可以判斷是直接執行的python腳本還是被引入執行的,從而能夠有選擇性的執行測試代碼

例子:

# 加法運算
def my_sum(a,b):
    return a+b

# 1.開發完成之后需要自測
# 1.1一般需要創建一個函數 來完成自測
def main():
    # 定義一個變量
    ret=my_sum(10,20)
    print(ret)

# 書寫格式一般都會這么些(開發常用於測試或者作為程序的入口)
# 默認情況下,在本模塊內執行這個模塊,當前的這個python的變量__name__的值為__main__
if __name__ == '__main__':
    main()

7.自定義模塊方法二:

(1)使用__all__,只有使用from xxx import * 的時候__all__才能產生作用。如果在一個模塊中,定義了很多的類,方法,全局變量,如果使用from xxx import * 的方法使用該模塊,而又不想讓使用模塊中的某些類,方法或者全局變量,那么就需要在該模塊里寫上__all__=[],在列表里寫上允許導入的類,方法,全局變量,如果不在這個列表里注冊,就不能使用該類,方法或者全局變量了。

__all__=["name","sum","Student"]

 

==================================

python中的包

(1)python中的包會有一個__init__.py模塊。在python3.x沒有__init__.py也可以正常使用,但是在python2.x中必須有__init__.py

(2)在包中的__init__.py中定義all=[在這里面添加你想要導入的模塊名]

(3)同理在每個模塊下__all__=[]添加你允許導入的類名,方法名,全局變量

(4)使用from 包名.模塊名 import *    導入模塊(1)(2)(3)才能生效

 

其他導入方法:import 包名.模塊名

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM