本文實例講述了Python創建模塊及模塊導入的方法。分享給大家供大家參考。具體分析如下:
python學習手冊中寫道:
定義模塊,只要使用文本編輯器,把一些python代碼輸入到文本中,然后以.py為后綴名進行保存,任何此類文件都會被認為是python模塊。
比如說,下面的代碼輸入到一個文件中,就可以看作是一個模塊:
1
2
3
4
|
def printme(var): print var if __name__ = = '__main__' : printme( 1 ) |
假設說輸入到a.py中,那么import a就可以把這個模塊導入。
然后可執行a.printme(3),屏幕即可打印出3:
1
2
3
|
>>> a.printme( 3 ) 3 >>> |
一個模塊頂層定義的變量,會自動變成模塊的屬性。例如:
1
2
3
4
5
|
data = [ 1 , 2 , 3 ] def printme(var): print var if __name__ = = '__main__' : printme( 1 ) |
data變量就是模塊的一個屬性。其實printme也是一個屬性,只不過是一個函數罷了。
引入模塊示例如下:(假定此時data=[1,2,3]未定義)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
>>> import a >>> a.data Traceback (most recent call last): File "<pyshell#1>" , line 1 , in <module> a.data AttributeError: 'module' object has no attribute 'data' >>> reload (a) <module 'a' from 'C:/py\a.pyc' > >>> a.data Traceback (most recent call last): File "<pyshell#3>" , line 1 , in <module> a.data AttributeError: 'module' object has no attribute 'data' >>> |
從上述提示可以看出data屬性未定義,此時再在a.py文件中定義data=[1,2,3],重新加載a模塊,并輸出data屬性:
1
2
3
4
5
|
>>> reload (a) <module 'a' from 'C:/py\a.py' > >>> a.data [ 1 , 2 , 3 ] >>> |
這里的reload函數可以重新加載一個模塊。如果在模塊代碼中更改了,那么需要重新加載。
上面a.data,就是訪問模塊中的屬性。
上面的例子是導入一個文件作為一個模塊。
其實python的模塊導入還有更豐富的內容。
除了模塊名之外,python也可以導入指定目錄路徑。python代碼的目錄就稱為包。因此,這類導入就稱為包導入。事實上,包導入是把計算機上的目錄變成python的一個命名空間。而屬性就是目錄中包含的子目錄或者是模塊文件。
看下面例子:
在我的桌面上有一個aa文件夾,里面有bb文件夾,bb里面有a.py這個文件。
那么在aa和bb文件夾中分別放置一個__init__.py,之后,在命令行中import aa.bb.a,就可以導入模塊a了。
希望本文所述對大家的Python程序設計有所幫助。