Python 類和對象。 第 9 部分 Python 課程從初學者到高級,共 11 篇博文
已發表: 2022-01-25本文將幫助讀者了解基本的 Python 類以及現實世界中的一些基本應用程序。 我們將使用 Visual Studio Code 作為我們的代碼編輯器。 如果您還沒有安裝 Visual Studio Code,說明在第一篇博客中給出。
Python 類和對象——目錄:
- Python 類
- Python 類 – 定義
- Python類的初始化
- 讓我們編寫我們的第一個 Python 類
- 屬性
- 班級行為
- Python 中的對象
- 遺產
Python 類
正如我們在第一篇博客中所討論的,Python 是一種面向對象的編程語言。 在討論 Python 中的面向對象編程時,有三個非常重要的短語。 第一個是類,第二個是對象,第三個是繼承。 讓我們從什麼是類開始。
Python 類 – 定義
類是有助於創建對象的藍圖或可擴展程序。 一個類由行為和狀態組成。 類的行為是通過類內部的函數來展示的,這些函數稱為方法。 類的狀態是使用類內部的變量來演示的,這些變量稱為屬性。
Python類的初始化
可以使用以下語法初始化一個類。
python中的類是使用類名後面的“class”關鍵字定義的。 Python 函數的基本語法如下所示。
例如:
<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" /> # Create a function # class Monkey class classname:
注意:類名也與變量聲明具有相同的規範。
讓我們編寫我們的第一個 Python 類
# first class class Animals: pass
在上面的代碼塊中,我們編寫了一個類,我們將在博客中進一步開發。 如您所見,我們使用了“class”關鍵字。
現在讓我們看看,如何將組件添加到動物的類中。 但在此之前,讓我們了解一下“__init__()”構造函數。 構造函數用於對象實例化。 這裡 __init__() 用於對象實例化。 構造函數可以是默認的,只有 self 作為參數,也可以使用所需的參數進行參數化。
屬性
有兩種不同類型的屬性,第一種是類變量,第二種是實例變量。 類變量是類所擁有的變量。 此外,這些變量可用於類的所有實例。 因此,即使實例發生變化,它們的值也不會改變。
# class variables class Animals: type=”mammals”
實例變量是屬於實例本身的變量。 因此,它們將隨著實例的變化而改變它們的值。
# class variables class Animals: def __init__(self,legs): self.legs=legs
注意:實例變量不能使用類名訪問,因為它們會根據訪問它的對象而變化。
讓我們創建一個同時聲明類變量和實例變量的程序。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs
在上面的程序中,我們使用了實例變量和類變量。 因此,這些變量形成了類的屬性。
班級行為
如前所述,類的行為由類內的方法定義。 但在討論行為之前,我們必須開始討論我們在 __init__() 中使用的“self”參數。
自己:
用一個非常簡單的術語來說,每當我們將任何東西附加到 self 時,它就表示該變量或函數屬於該類。 此外,通過“self”,可以訪問類的屬性或方法。
方法:
類方法是類內部的函數,它們的第一個參數是“self”。 類中的方法是使用“def”關鍵字定義的。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”)
在上面的方法“bark”中,由於我們使用了 name 變量,它是一個實例變量,所以我們使用“self”訪問它,這個函數將打印“woof woof!!!”,只有當名稱提供給對象,是狗。
我們已經討論了類的大部分組件,但您可能正在考慮如何查看該類是否正常工作。 答案是除非我們創建類的對象,否則我們將無法看到該類在做什麼。 現在,讓我們定義並創建一個類的對象。
Python 中的對象
對像是類的一個實例。 類只是一個藍圖,但對像是具有實際值的類的實例。
定義或創建對象的代碼如下所示。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4)
要創建一個對象,語法是 objectname=classname(arguments)。 因此,這裡我們將動物的名稱設為狗,腿數設為 4。現在,類的對像已創建,下一步是使用該對象訪問其屬性。 要使用對象訪問類的屬性,請記住只能使用對象訪問實例變量。 我們類中的實例變量是名稱和腿。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs)
正如我們所見,我們可以使用點符號來訪問實例變量。
讓我們探索一下輸出。
#Output dog 4
要訪問類或方法中的函數,我們將使用點符號。 示例如下圖所示。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs) print(dog.bark())
#Output dog 4 woof woof!!!
在上面的示例中,我們可以看到我們正在使用我們創建的 dog 對象訪問類方法“bark”。 我們可以看到我們沒有在函數參數中使用“self”參數。 這是因為我們不需要在類之外使用“self”,因為對象本身就是 self。
遺產
繼承是一個過程,通過該過程可以將類屬性和方法傳遞給子類。 子類繼承的類是父類。 繼承的語法如下所示。
#Inheritance class parent: class child(parent):
從上圖中,我們可以看到,對於繼承語法,我們將父類名稱作為子類的參數。 讓我們使用 Animals 類並創建一個名為 dog 的子類。 如下圖所示。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed
在上面的示例代碼中,我們創建了一個狗類,它擴展了我們之前創建的動物類。 我們還使用 Animals.__init__(arguments) 的 Animals 參數,它的名稱和腿將被繼承到 dog 類。 然後我們為狗類創建一個實例屬性,它是品種。
現在讓我們為狗類創建一個對象並訪問動物類的屬性和方法。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed pug=Dog("dog",4,"pug") pug.breed pug.name pug.legs pug.bark()
#Output pug dog 4 woof woof!!!
正如我們從輸出中看到的,父類屬性和方法正在被子類對象訪問。
在這篇博客中,我們介紹了 Python 中類的一些基礎知識。 在下一篇博文中,我們將介紹文件處理的主題。
您可能還喜歡我們從初級到高級的 JavaScript 課程。
11 篇博文中從初級到高級的 Python 課程:
- Python課程簡介。 第 1 部分 Python 課程從初學者到高級,共 11 篇博文
- Python 中的變量和數據類型。 第 2 部分 Python 課程從初學者到高級,共 11 篇博文
- Python 元組、列表、集合和字典。 第 3 部分 Python 課程從初學者到高級,共 11 篇博文
- Python 集和字典。 第 4 部分 Python 課程從初學者到高級,共 11 篇博文
- Python 中的條件語句。 第 5 部分 Python 課程從初學者到高級,共 11 篇博文
- Python中的循環。 第 6 部分 Python 課程從初學者到高級,共 11 篇博文
- Python 函數。 第 7 部分 Python 課程從初學者到高級,共 11 篇博文
- Python 中的高級函數。 第 8 部分 Python 課程從初學者到高級,共 11 篇博文
- Python 類和對象。 第 9 部分 Python 課程從初學者到高級,共 11 篇博文
- Python 中的文件。 第 10 部分 Python 課程從初學者到高級,共 11 篇博文
- 實踐中的 Python 應用程序。 第 11 部分 Python 課程從初學者到高級,共 11 篇博文