Python 類和對象。 第 9 部分 Python 課程從初學者到高級,共 11 篇博文

已發表: 2022-01-25

本文將幫助讀者了解基本的 Python 類以及現實世界中的一些基本應用程序。 我們將使用 Visual Studio Code 作為我們的代碼編輯器。 如果您還沒有安裝 Visual Studio Code,說明在第一篇博客中給出。

Python 類和對象——目錄:

  1. Python 類
  2. Python 類 – 定義
  3. Python類的初始化
  4. 讓我們編寫我們的第一個 Python 類
  5. 屬性
  6. 班級行為
  7. Python 中的對象
  8. 遺產

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 中類的一些基礎知識。 在下一篇博文中,我們將介紹文件處理的主題。

python_classes

您可能還喜歡我們從初級到高級的 JavaScript 課程。

Python classes and objects. Part 9 Python Course from Beginner to Advanced in 11 blog posts robert whitney avatar 1background

作者:羅伯特·惠特尼

JavaScript 專家和指導 IT 部門的講師。 他的主要目標是通過教其他人如何在編碼時有效合作來提高團隊生產力。

11 篇博文中從初級到高級的 Python 課程:

  1. Python課程簡介。 第 1 部分 Python 課程從初學者到高級,共 11 篇博文
  2. Python 中的變量和數據類型。 第 2 部分 Python 課程從初學者到高級,共 11 篇博文
  3. Python 元組、列表、集合和字典。 第 3 部分 Python 課程從初學者到高級,共 11 篇博文
  4. Python 集和字典。 第 4 部分 Python 課程從初學者到高級,共 11 篇博文
  5. Python 中的條件語句。 第 5 部分 Python 課程從初學者到高級,共 11 篇博文
  6. Python中的循環。 第 6 部分 Python 課程從初學者到高級,共 11 篇博文
  7. Python 函數。 第 7 部分 Python 課程從初學者到高級,共 11 篇博文
  8. Python 中的高級函數。 第 8 部分 Python 課程從初學者到高級,共 11 篇博文
  9. Python 類和對象。 第 9 部分 Python 課程從初學者到高級,共 11 篇博文
  10. Python 中的文件。 第 10 部分 Python 課程從初學者到高級,共 11 篇博文
  11. 實踐中的 Python 應用程序。 第 11 部分 Python 課程從初學者到高級,共 11 篇博文