一、 含義 Cookie意為“甜餅”,是由W3C組織提出,最早由Netscape社區發展的一種機制。目前Cookie已經成為標準,所有的主流瀏覽器如IE、Netscape、Firefox、Opera等都支持Cookie。 由於HTTP是一種無狀態的協議,伺服器單從網路連接上無從知道客戶身份,怎麼辦呢 ...
模塊是一個包含所有你定義的函數和變數的文件,其尾碼名是.py。模塊可以被別的程式引入,以使用該模塊中的函數等功能。
模塊名要遵循Python變數命名規範,不要使用中文、特殊字元
先查看系統是否已存在該模塊,檢查方法是在Python交互環境執行import abc,若成功則說明系統存在此模塊
一、import語句
- import moudle_name :導入指定的py文件,此時這個py文件被認為是一個模塊,當前腳本文件可以調用模塊中定義好的參數和函數
- import module_name as newname :此語法可以用來簡化模塊名稱,方便隨時調用
- from modname import name : 從模塊中導入一個指定的部分到當前命名空間中,而不是導入整個模塊
- from modname import * : 此語法把一個模塊的所有內容全都導入到當前的命名空間,但是其會被認為是一種“拙劣實踐”
一個模塊只會被導入一次,不管執行了多少次import。這樣可以防止導入模塊被一遍又一遍地執行,在notebook中體現為第一次導入時會執行一下文件中的語句,後面再導入則不會
在較大的模塊中有很多參數與函數,為了不與當前文件中變數名混淆,最好在調用時使用modname.name的結構
import numpy as np
list1 = np.arange(10)
print(list1)
#[0 1 2 3 4 5 6 7 8 9]
二、搜索路徑
當解釋器遇到 import 語句,如果模塊在當前的搜索路徑就會被導入。 搜索路徑是一個解釋器會先進行搜索的所有目錄的列表,是由一系列目錄名組成的,Python解釋器就依次從這些目錄中去尋找所引入的模塊
搜索路徑是在Python編譯或安裝的時候確定的,安裝新的庫應該也會修改。搜索路徑被存儲在sys模塊中的path變數
sys.path 輸出是一個列表,其中第一項是空串'',代表當前目錄,即我們執行python解釋器的目錄,對於腳本的話就是運行的腳本所在的目錄
import sys
sys.path
['',
'D:\software\Anaconda3\python36.zip',
'D:\software\Anaconda3\DLLs',
'D:\software\Anaconda3\lib',
'D:\software\Anaconda3',
'D:\software\Anaconda3\lib\site-packages',
'D:\software\Anaconda3\lib\site-packages\win32',
'D:\software\Anaconda3\lib\site-packages\win32\lib',
'D:\software\Anaconda3\lib\site-packages\Pythonwin',
'D:\software\Anaconda3\lib\site-packages\IPython\extensions',
'C:\Users\wanyu\.ipython']
三、'main'
當.py文件被直接運行時,if __name__ ==’__main__'
之下的代碼塊將被運行;當.py文件以模塊形式被導入時,if __name__ == '__main__'
之下的代碼塊不被運行
if __name__ == '__main__':
pass # 所需要執行的語句
# python學習交流群:711312441
四、作用域
在模塊中定義的函數與變數一般分為外部不需要的和需要的,外部需要的定義為public,正常定義即可,外部不需要的定義成private,即在變數名前加_
或__
五、包
包是一種管理 Python 模塊命名空間的形式,採用"點模塊名稱"使用模塊的時候,不用擔心不同模塊之間的全局變數相互影響。採用點模塊名稱這種形式也不用擔心不同庫之間的模塊重名的情況
目錄只有包含一個叫做__init__.py
的文件才會被認作是一個包
__init__.py
可以是空文件,也可以有Python代碼,因為其本身就是一個模塊
一般推薦使用from Package import specific_submodule語句來導入包中的模塊
六、模塊通用函數
dir()函數
內置的函數 dir() 可以找到模塊內定義的所有名稱。以一個字元串列表的形式返回
如果沒有給定參數,那麼 dir() 函數會羅列出當前定義的所有名稱