在python中,乙個.py檔案就稱之為乙個模組(module)。
目錄
建立乙個hello.py文件
作用域安裝第三方模組
模組搜尋路徑
hello.py :
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
' a test module '
__author__ = 'forest li'
import sys
def test():
args = sys.ar**
if len(args)==1:
print('hello, world!')
elif len(args)==2:
print('hello, %s!' % args[1])
else:
print('too many arguments!')
if __name__=='__main__':
test()
任何模組**的第乙個字串都被視為模組的文件注釋。
模組是一組python**的集合,可以使用其他模組,也可以被其他模組使用。
建立自己的模組時,要注意:
在乙個模組中,我們可能會定義很多函式和變數,但有的函式和變數我們希望給別人使用,有的函式和變數我們希望僅僅在模組內部使用。在python中,是通過_字首來實現的。
正常的函式和變數名是公開的(public),可以被直接引用。類似_***
和__***
這樣的函式或變數就是非公開的(private),不應該被直接引用。(python並沒有一種方法可以完全限制訪問private函式或變數,但是,從程式設計習慣上不應該引用private函式或變數。)
def _private_1(name):
return 'hello %s' % name
def _private_2(name):
return 'hi %s' % name
def geeting(name):
if len(name) > 3:
return _private_1(name)
else:
return _private_2(name)
print(geeting('forest'))
外部不需要引用的函式全部定義成private,只有外部需要引用的函式才定義為public。
在python中,安裝第三方模組,是通過包管理工具pip完成的。在命令提示符視窗下嘗試執行pip
,如果windows提示未找到命令,則需要安裝pip。
一般來說,第三方庫都會在python官方的pypi.python.org**註冊,要安裝乙個第三方庫,必須先知道該庫的名稱,可以在官網或者pypi上搜尋,比如pillow的名稱叫pillow,因此,安裝pillow的命令就是:
在使用python時,我們經常需要用到很多第三方庫,例如,上面提到的pillow,以及mysql驅動程式,web框架flask,科學計算numpy等。用pip乙個乙個安裝費時費力,還需要考慮相容性。推薦直接使用anaconda,這是乙個基於python的資料處理和科學計算平台,它已經內建了許多非常有用的第三方庫,我們裝上anaconda,就相當於把數十個第三方模組自動安裝好了,非常簡單易用。
當我們試圖載入乙個模組時,python會在指定的路徑下搜尋對應的.py檔案,如果找不到,就會報錯。預設情況下,python直譯器會搜尋當前目錄、所有已安裝的內建模組和第三方模組。搜尋路徑存放在sys
模組的path
變數中。
新增自己的搜尋目錄:
1.直接修改sys.path
,新增要搜尋的目錄。
2.設定環境變數pythonpath
,該環境變數的內容會被自動新增到模組搜尋路徑中。設定方式與設定path環境變數類似。注意只需要新增你自己的搜尋路徑,python自己本身的搜尋路徑不受影響.
Python學習筆記 模組
模組,用一砣 實現了某個功能的 集合。類似於函式式程式設計和面向過程程式設計,函式式程式設計則完成乙個功能,其他 用來呼叫即可,提供了 的重用性和 間的耦合。而對於乙個複雜的功能來,可能需要多個函式才能完成 函式又可以在不同的.py檔案中 n個 py 檔案組成的 集合就稱為模組。如 os 是系統相關...
python筆記之模組
在當前檔案中匯入要使用的py檔案,那麼系統就會把被匯入的py檔案作為模組處理 模組是具有預編譯過程的 import model msg model.name print msg 匯入語句可以放在任意位置 將.py檔案作為匯入源,則該檔案就是模組,檔名就是模組名 import m2 函式名就是函式變數...
python學習筆記 模組
pickle模組實現了基本的資料序列和反序列化。通過pickle模組的序列化操作我們能夠將程式中執行的物件資訊儲存到檔案中去,永久儲存。通過pickle模組的反序列化操作,我們能夠從檔案中建立上一次程式儲存的物件。基本介面 pickle.dump obj,file,protocol 讀取方式開啟檔案...