#*************************===模組*************************==
# 乙個模組就是乙個包含pytho**的檔案, 字尾名是.py
# 模組匯入:
import module_name [as alis_module_name]
module_name.function_name() #呼叫模組中的方法
module_name.class_name #呼叫模組中的屬性
# 假如模組名稱直接以數字開頭,需要借助importlib幫助
# 借助於importlib包可以實現匯入以數字開頭的模組名稱
import importlib
mymodule = importlib.import_module("01")
# 選擇性的匯入,使用時可以直接使用匯入的內容,不需要字首
from module_name import func_name, class_name
func_name()
# 匯入模組所有內容
from module_name import *
# 為有效避免模組**被匯入的時候被動執行的問題,建議所有程式的入口都以此**為入口
# 只有該段**作為主程式執行時才會被執行
if __name__ == __main__:
pass
#*************************===包*************************==
#包是一種組織管理**的方式,包裡面存放的是模組
#自定義包的結構:
|---包
|---|--- __init__.py 包的標誌檔案
|---|--- 模組1
|---|--- 模組2
|---|--- 子包(子資料夾)
|---|---|--- __init__.py 包的標誌檔案
|---|---|--- 子包模組1
|---|---|--- 子包模組2
#包的匯入:
# import乙個包名,就等於執行了這個包下的__init__檔案
# 方法1、僅匯入當前包 `__init__.py`檔案中所有的函式和類
import package_name [as alis_package_name]
package_name.func_name
package_name.class_name.func_name()
# 方法2、匯入包中某乙個具體的模組,包括`__init__.py`檔案
import package.module [as alis_module]
package.module.class_name.function()
# 方法3、同方法1,僅匯入當前包 `__init__.py`檔案中所有的函式和類
from package import *
func_name()
class_name.func_name()
# `__all__` 的用法
# 在使用from package import * 的時候, * 可以匯入的內容
# `__init__.py`中如果檔案為空, 或者沒有 `__all__`, 那麼只可以把`__init__`中的內容匯入
# `__init__` 如果設定了`__all__`的值,那麼則按照`__all__` 指定的子包或者模組進行載入
# 如此則不會載入`__init__`中的內容
__all__=['module1', 'module2', 'package1'.........]
# 方法4、不匯入`__init__.py`的定義的方法,但是`__init__.py`的函式(例:print)會執行
from package import module1, module2, module3, .....
module2.function_name()
# 方法5、匯入包中指定的模組的所有內容
from package.module import *
func_name()
class_name.func_name()
#*************************===命名空間*************************===
# 用於區分不同位置不同功能但相同名稱的函式或者變數的乙個特定字首,作用是防止命名衝突
setname()
student.setname()
dog.setname()
Python學習筆記 包
包用於將一組模組歸併到乙個目錄中,此目錄即為包,目錄名即為包名 1.包是乙個有層次的檔案目錄結構,它定義了乙個由模組和 子包組成的python應用程式執行環境 2.基於包,python在執行模組匯入時可以指定模組的匯入路徑 import 目錄名.目錄名 模組名 import dir1 dir2 mo...
python學習筆記 閉包
乙個函式a和乙個函式b,其中b函式位於a函式體內部,同時b函式體內呼叫了b函式之外,a函式之內的其他變數x 包括a中傳遞過來的引數 此時,x稱為b函式的環境變數,b函式和變數x就構成了乙個閉包。而函式b是需要返回的,也就是返回函式b,其中在返回的時候,對a引數x的呼叫也包括在了裡面,有點封閉包含的意...
Python學習筆記 閉包
在學習閉包之前,我們先要弄懂一件事兒。同理 test其實就是乙個變數,變數中存放著函式體的位址,就像a變數中存放著100的位址一樣。t test實質上就是淺拷貝行為。將變數test中的位址存放到變數t中 我們如果要呼叫test函式,test 當t獲取了函式體的位址後,同樣可以以t 的形式呼叫函式 注...