python中類的相互調(diào)用的實(shí)踐
在 Python 中,類可以相互調(diào)用。這意味著一個(gè)類可以訪問(wèn)另一個(gè)類的方法或?qū)傩浴O旅媸菐讉€(gè)例子:
模塊內(nèi)部類的調(diào)用
在同一個(gè)文件內(nèi),不同類的相互調(diào)用例子如下:
代碼
class Car: def __init__(self, make, model): self.make = make self.model = model class Dealership: def __init__(self, name): self.name = name self.cars = [] def add_car(self, make, model): new_car = Car(make, model) self.cars.append(new_car) def show_inventory(self): for car in self.cars: print(car.make, car.model) dealership = Dealership("ABC Motors") dealership.add_car("Toyota", "Camry") dealership.add_car("Honda", "Civic") dealership.show_inventory()
在上面的代碼中,Dealership 類調(diào)用了 Car 類。它通過(guò)創(chuàng)建一個(gè) Car 對(duì)象來(lái)添加汽車,并通過(guò)循環(huán)遍歷汽車列表來(lái)顯示汽車的目錄。這個(gè)例子說(shuō)明了在 Python 中如何在一個(gè)類中調(diào)用另一個(gè)類。
運(yùn)行結(jié)果
Toyota Camry
Honda Civic
跨模塊類的調(diào)用
跨文件類的相互調(diào)用是指在不同的.py文件中定義的兩個(gè)或多個(gè)類之間的相互調(diào)用。
步驟
要實(shí)現(xiàn)跨文件類的相互調(diào)用,需要遵循如下步驟:
- 將需要被調(diào)用的類定義在一個(gè)單獨(dú)的.py文件中,這個(gè)文件稱為模塊。
- 在另一個(gè)文件中,使用import語(yǔ)句導(dǎo)入該模塊。
- 在當(dāng)前文件中使用該模塊中定義的類時(shí),需要使用模塊名加點(diǎn)號(hào)進(jìn)行引用。例如,如果在module.py文件中定義了一個(gè)類MyClass,那么在另一個(gè)文件中使用該類時(shí)可以這樣寫:module.MyClass()。
實(shí)際應(yīng)用場(chǎng)景:如果您的項(xiàng)目中有很多個(gè)類,并且每個(gè)類都有很多方法,那么您可以把每個(gè)類放到一個(gè)單獨(dú)的模塊中,以減少代碼的冗余,并使代碼結(jié)構(gòu)更清晰易懂。
代碼
文件1(module1.py)
class ClassA: def __init__(self): self.name = 'ClassA' def greet(self): return 'Hello from ' + self.name
文件2(module2.py):
from module1 import ClassA class ClassB: def __init__(self): self.name = 'ClassB' def greet(self): return 'Hello from ' + self.name def call_class_a(self): a = ClassA() return a.greet()
在程序的主文件中,可以通過(guò)下面的方式使用這兩個(gè)類:
from module2 import ClassB b = ClassB() print(b.greet()) print(b.call_class_a())
從上面的代碼可以看出,ClassB對(duì)象通過(guò)調(diào)用call_class_a方法,獲取了ClassA的實(shí)例,并調(diào)用了它的greet方法。這就是跨文件類的相互調(diào)用的一個(gè)簡(jiǎn)單示例。
運(yùn)行結(jié)果
Hello from ClassB
Hello from ClassA
到此這篇關(guān)于python中類的相互調(diào)用的實(shí)踐的文章就介紹到這了,更多相關(guān)python類的相互調(diào)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Pycharm中python調(diào)用另一個(gè)文件類或者函數(shù)
- Python函數(shù)調(diào)用的幾種方式(類里面,類之間,類外面)
- Python類的定義繼承調(diào)用比較方法技巧
- python 子類調(diào)用父類的構(gòu)造函數(shù)實(shí)例
- Python實(shí)現(xiàn)子類調(diào)用父類的初始化實(shí)例
- python 中不同包 類 方法 之間的調(diào)用詳解
- python 定義類時(shí),實(shí)現(xiàn)內(nèi)部方法的互相調(diào)用
- python調(diào)用函數(shù)、類和文件操作簡(jiǎn)單實(shí)例總結(jié)
- 調(diào)用其他python腳本文件里面的類和方法過(guò)程解析
- Python中不同類之間調(diào)用方法的四種方式小結(jié)
相關(guān)文章
python文件讀取和導(dǎo)包的絕對(duì)路徑、相對(duì)路徑詳解
每次在讀或?qū)懳募r(shí),獲取腳本文件的絕對(duì)路徑和相對(duì)路徑時(shí)很容易搞混,下面這篇文章主要給大家介紹了關(guān)于python文件讀取和導(dǎo)包的絕對(duì)路徑、相對(duì)路徑的相關(guān)資料,需要的朋友可以參考下2022-04-04使用Python設(shè)置,更新和獲取Excel單元格的值
Excel工作簿作為一款廣泛使用的數(shù)據(jù)管理工具,與Python相結(jié)合,可以使得自動(dòng)化處理大量數(shù)據(jù)成為可能,本文將演示如何使用Python設(shè)置、更新以及獲取Excel文件中單元格的值,希望對(duì)大家有所幫助2024-10-10樹(shù)莓派用python中的OpenCV輸出USB攝像頭畫面
這篇文章主要為大家詳細(xì)介紹了樹(shù)莓派用python中的OpenCV輸出USB攝像頭畫面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Python如何將list中的string轉(zhuǎn)換為int
這篇文章主要介紹了Python如何將list中的string轉(zhuǎn)換為int,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07python?使用ctypes調(diào)用C/C++?dll詳情
這篇文章主要介紹了python?使用ctypes調(diào)用C/C++?dll詳情,文章首先通過(guò)導(dǎo)入ctypes模塊,加載C/C++?dll到python進(jìn)程空間展開(kāi)主題相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-04-04Python序列化與反序列化相關(guān)知識(shí)總結(jié)
今天給大家?guī)?lái)關(guān)于python的相關(guān)知識(shí),文章圍繞著Python序列化與反序列展開(kāi),文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06Python圖像文字識(shí)別詳解(附實(shí)戰(zhàn)代碼)
這篇文章主要給大家介紹了關(guān)于Python圖像文字識(shí)別的相關(guān)資料,本文介紹使用python進(jìn)行圖像的文字識(shí)別,將圖像中的文字提取出來(lái),可以幫助我們完成很多有趣的事情,需要的朋友可以參考下2024-02-02