. 多繼承
1. 為什麼使用多繼承? 為了隔離多個維度的變化
2. 同名方法解析順序? 繼承列表從左向右(廣度優先)
class a:
def func01(self):
print("a -- func01")
class b(a):
def func01(self):
print("b -- func01")
# 建立d物件,執行c
# 建立b物件,執行a
super().func01()
class c(a):
def func01(self):
print("c -- func01")
super().func01()
class d(b, c):
def func01(self):
print("d -- func01")
super().func01()
d = d() # d --> b --> c --> a
d.func01()
# 通過型別的mro方法,檢視同名方法解析順序
print(d.mro())
. 模組:
匯入方式1:語法:import 模組名
使用:模組名. 成員
import module01
module01.func01()
匯入方式2:語法:from 模組 import 內容
使用:直接使用內容
本質:將該模組成員匯入到當前作用域
def func01():
print("demo02 - func01")
from module01 import func01
func01()
func01()
from module01 import *
func02()
. 包:
根目錄 包(資料夾+init.py)
模組(檔案)
類 函式
語句
# 路徑:從根目錄開始寫(不寫根目錄)
# 方式一:我過去
import package01.package02.module02 as m2
m2.func01()
# 方式二:你過來
from package01.package02.module02 import func01
func01()
只匯入包,不匯入包的模組,必須配置__init__.py
# 方式1
import package01.package02 as p2
p2.module02.func01()
# 方式2
# from package01 import package02
## package02.module02.func01()
from package01.package02 import *
module02.func01()
if __name__ == "__main__":
print("老子(demo04)是主模組!!!!")
. 總結:
為什麼要有模組和包?將**有邏輯的組織在一起,使得結構更加清晰
(主流)匯入方式
方式1:我過去
import 模組名
模組名. 成員
import 路徑. 模組名 as 別名
別名. 成員
方式2:你過來
from 模組 import 成員
直接使用成員
from 路徑.模組 import 成員
直接使用成員
from *** import *
直接使用所有成員
路徑:從專案根目錄開始(不包含根目錄)
3. (非主流)匯入方式:匯入包,不匯入模組
必須配置包的__init__.py模組
import 包
from 包 import 包
4.搜尋模組順序:按照系統路徑搜尋,如果有滿足條件,立即停止.
import sys
print( sys.path)
系統路徑是乙個列表
第乙個元素是根目錄(主模組(第一次執行的模組)所在的資料夾)
匯入模組是否成功的唯一標準:
匯入路徑 + 系統路徑 = 真實路徑
模組變數
# 1. 變數__doc__儲存的是:模組的文件注釋
# print(__doc__)
# print(random.__doc__)
# 2. 變數__name__儲存的是:當前模組名稱
import demo04
# 如果當前是主模組
if __name__ == "__main__":
print("老子(demo05)是主模組!!!!")
python class 繼承和多繼承
繼承和多繼承 子類在繼承的時候,在定義類的時候,填寫的是父類的名字 父類的屬性和方法,子類都可以繼承並使用 父類 子類 基類 派生類 class chickensoup object 繼承的子類引數是object,多繼承的子類引數是父類的名字 definit self self.name 爺爺傳承下...
單繼承和多繼承
物件導向的三大特性 封裝,繼承,多型.什麼是繼承?專業角度 b 繼承 a類,b就叫做a的子類,派生類,a叫做b的父類,基類,超類.b類以及b類的物件使用a類的所有的屬性以及方法.字面意思 繼承就是繼承父母所有的資產.單繼承,多繼承.繼承的優點.節省 增強的耦合性.規範化.單繼承.子類以及物件可以呼叫...
python 模組和包 python模組和包
一.模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 二.匯入模組 1.語法 import模組名from 模組名 import功能名from 模組名 import i...