模塊:
1、模塊就是非常簡單的Python文件,單個Python文件就是壹個模塊,兩個文件就是兩個模塊。
2、模塊讓妳能夠有邏輯地組織妳的Python代碼段。把相關的代碼分配到壹個模塊裏能讓妳的代碼更好用,更易懂。模塊能定義函數,類和變量,模塊裏也能包含可執行的代碼。
3、若妳需要在某個py文件中使用其他文件中的函數或類,則需要導入對應的模塊,就可重用這些函數和變量。
模塊的引入
import語句:import.模塊名
語法:
importmodule1,module2
例1:
importrandom
Fruit=random.choice(['apple','pear','banana'])
print(Fruit)
fromimport語句:
語法:
frommodnameimportname1[,name2[,...nameN]]
例2:
fromrandomimportchoice
Fruit=choice(['apple','pear','banana'])
print(Fruit)
包:
1、包其實可以理解為文件夾,這個文件夾下面放著很多模塊。(模塊其實就是妳寫的那些.py文件)包其實的作用就是將代碼文件給整合在壹個文件夾下面,方便調用和管理。
2、包是壹個分層次的文件目錄結構,它定義了壹個由模塊及子包,和子包下的子包等組成的Python的應用環境。簡單來說,包就是文件夾,但該文件夾下必須存在__init__.py文件,該文件的內容可以為空。__init__.py用於標識當前文件夾是壹個包。
3、包的命名和文件夾命名壹樣,不過還是那句話,不要用中文。那Python如何識別普通的文件夾與包呢?包有壹個標誌文件,叫做__init__.py,假如壹個文件夾下面有這個模塊(文件),那麽Python就會認為這個文件夾是壹個包。
4、在調用包中的模塊後,妳會發現在包的文件夾下生成了壹個文件夾__pycache__,不需要理會它,是用於加快Python執行速度用的。
搜索路徑:
python模塊的導入需要壹個路徑搜索的過程。當妳導入壹個模塊,Python解析器對模塊位置的搜索順序是:
1、當前目錄
2、如果不在當前目錄,Python則搜索在shell變量PYTHONPATH下的每個目錄。
3、如果都找不到,Python會察看默認路徑。UNIX下,默認路徑壹般為/usr/local/lib/python/。
模塊搜索路徑存儲在system模塊的sys.path變量中。變量裏包含當前目錄,PYTHONPATH和由安裝過程決定的默認目錄。
例3:查看python的搜索路徑
importsys
print(sys.path)
"""
['F:\Pycharm_project\Py_Demo\demo','F:\Pycharm_project\Py_Demo',(自定義路徑)
'C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python35',
'F:\Pycharm_project\Py_Demo\venv','F:\Pycharm_project\Py_Demo\venv\lib\site-packages',
'F:\Pycharm_project\Py_Demo\venv\lib\site-packages\pip-10.0.1-py3.5.egg',
'C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-packages',
若導入的模塊沒有在這些搜索路徑下就會報錯
"""
導入包中的函數
from包名.模塊名import函數名(若包名沒有在默認搜索路徑下,則還需要加上其路徑)
fromselenium.webdriver.commonimportutils
模塊A:
#包名稱為Module下名稱為Class_Add的模塊下的類A
classA:
def__init__(self,xx,yy):
self.x=xx
self.y=yy
defadd(self):
print("x和y的和為:%d"%(self.x+self.y))
文件B:
fromModule.Class_AddimportA
#不重寫父類的__init__方法
a=A(2,3)
a.add()
總結:
容器:例如列表、元組、字符串、字典等,這些是對數據的封裝
函數:是對語句的封裝
類:是對方法和屬性的封裝,也就是對函數和數據的封裝
模塊:模塊就是程序,就是平常寫的任意代碼,保存的每壹個.py結尾的文件都是壹個獨立的模塊(模塊的名字就是py文件的名字)
包:方便管理多個模塊