Python/ target=_blank class=infotextkey>Python 是一種面向對象的編程語言。這意味著幾乎所有代碼都可以使用稱為“類”的特殊結構實現。
什么是類和對象
類:用戶定義的數據結構,是用于創建對象的模板。使用類,您可以根據需要創建任意數量的對象。
對象:類的實例,是屬性和方法的集合。
方法:類中定義的函數。
例如,我們設計一個類 Teacher,具有“姓名”、“年齡”等屬性,有“工作”等行為。根據類,創建多個對象,具體到某位老師。
類:Teacher |
屬性:姓名、年齡 |
行為:工作 |
對象 1 |
對象 2 |
…… |
姓名:張老師 |
姓名:李老師 |
…… |
年齡:30 |
年齡:36 |
…… |
工作:語文 |
工作:數學 |
…… |
在 Python 中創建類
在 Python 中,類是使用關鍵字 class 定義。
「語法:」
class class_name:
<statement 1>
<statement 2>
.
.
<statement N>
class_name:類的名稱。
statements:屬性和方法
「示例:」
在此示例中,我們將創建一個具有姓名、年齡和工作的 Teacher 類。
class Teacher:
def __init__(self, name, age, profession):
self.name = name
self.age = age
self.profession = profession
def show(self):
print('姓名:', self.name, '年齡:', self.age)
def work(self):
print(self.name, '從事', self.profession, '學科教學工作。')
在 Python 中創建對象
對象是使用類名創建的。當我們創建類的對象時,它被稱為實例化。該對象也稱為類的實例。
構造函數是用于創建和初始化類對象的特殊方法。此方法在類中定義。
「語法:」
<object-name> = <class-name>(<arguments>)
下面是創建 Teacher 類及對象的完整代碼。
class Teacher:
def __init__(self, name, age, profession):
self.name = name
self.age = age
self.profession = profession
def show(self):
print('姓名:', self.name, '年齡:', self.age)
def work(self):
print(self.name, '從事', self.profession, '學科教學工作。')
#創建對象
li = Teacher('李老師', '30', '語文')
#調用
li.show()
li.work()
「輸出:」
姓名: 李老師 年齡: 30
李老師 從事 語文 學科教學工作。
類中的變量和方法
類變量是在類內部聲明的變量,類的所有實例(對象)共享類變量,值不會因對象而異。通過對象可以訪問或修改類變量。
類方法用于訪問或修改對象狀態。
class Teacher:
#變量
School = '北京大學'
def __init__(self, name, age, profession):
self.name = name
self.age = age
self.profession = profession
#方法
def show(self):
print('姓名:', self.name, '年齡:', self.age)
def work(self):
print(self.name, '從事', self.profession, '學科教學工作。')
def change_profession(self, new_profession):
self.profession = new_profession
#創建對象
li = Teacher('李老師', '30', '語文')
#調用
li.show()
li.work()
print('學校:', Teacher.School)
li.change_profession('數學')
li.work()
「輸出:」
姓名: 李老師 年齡: 30
李老師 從事 語文 學科教學工作。
學校: 北京大學
李老師 從事 數學 學科教學工作。