學習python,從入門到放棄(25)
阿新 • • 發佈:2022-04-07
學習python,從入門到放棄(25)
面向物件程式設計
python中一切皆物件。
Python從設計之初就已經是一門面向物件的語言,正因為如此,在Python中建立一個類和物件是很容易的。
面向過程程式設計的核心思想便是將程式的執行流程化,即分步操作,分步的過程中解決問題。
面向物件程式設計的核心思想就是物件,物件其實就是一個容器將資料與功能整合到一起,只要是符合上述描述的事物都可以稱之為是物件;模組檔案內部含有資料和功能,也可以稱之為面向物件程式設計。
面向過程與面向物件兩者沒有優劣之分,具體要結合實際情況。
類與物件的概念
物件是資料與功能的結合體,而類是用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。物件是類的例項。
類與物件的建立
建立類
class ClassName:
'類的幫助資訊' #類文件字串
class_suite #類體
類的幫助資訊可以通過ClassName.__doc__
檢視。
class_suite 由類成員,方法,資料屬性組成。
class ClassName: '類的幫助資訊' #類文件字串 class_suite #類體 print(ClassName.__dict__) # 返回值是一個字典 print(ClassName.__dict__['school']) # 獲取類中的屬性 print(ClassName.__dict__['choose_course']) # 獲取類中的屬性 '''類獲取資料和功能有一個簡便的方式>>>:句點符''' print(ClassName.school) print(ClassName.choose_course)
建立物件
obj1 = ClassName() # 類名加括號就是在產生一個物件
print(obj1.__dict__) # {}
類名加括號便可以產生物件。
物件的例項化
class Student: def __init__(self, name, age, gender): '''該方法就一個功能>>>:給物件新增獨有的資料''' self.name = name # obj.__dict__['name'] = name self.age = age # obj.__dict__['age'] = age self.gender = gender # obj.__dict__['gender'] = gender
類中的__init__
方法會在類產生物件的時候自動執行,類產生物件的具體步驟如下:
- 先建立一個沒有獨有資料的空物件 {}
- 將空物件和類括號內傳入的資料一併交給
__init__
執行,__init__
的第一個引數就是物件本身,__init__(obj,name,age,gender)
。 - 將建立好的物件自動返回。
繫結方法
在類中定義的函式預設都是繫結給物件使用的,也就是說物件來呼叫時,會自動將物件當做第一個引數傳入。這就是類中所有的函式第一個引數都是 self 的原因。
class Student:
school = '清華大學'
# __init__方法不要自己去呼叫
def __init__(self, name, age):
self.name = name
self.age = age
def func(self):
print('%s正在呼叫func方法'%self.name)
def index(self):
print('%s正在呼叫index方法'%self.name)
obj1 = Student('jason', 18)
# print(obj1)
obj2 = Student('kevin', 28)