面向對象的定義
類 Class
: 用來描述具體相同的屬性和方法的對象的集合。定義了該集合中每個對象所共有的屬性和方法。對象是類的示例。
類變量
:類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作為實例變量使用。
數據成員
:類變量或者實例變量用於處理類及其實例對象的相關數據。
方法重寫
:如果從父類繼承的方法不能滿足子類的需求,可以對其 進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。
實例變量
:定義在方法中的變量,只作用於當前實例的類。
繼承
:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。例如,有這樣一個設計:一個Dog類型的對象派生自Animal類,這是模擬”是一個(is-a)”關系(例圖,Dog是一個Animal)。
實例化
:創建一個類的實例,類的具體對象。就是將創建的類賦值給另一個變量。理解為賦值即可,a = class(),這個過程,就叫做實例化
方法
:類中定義的函數。
對象
:通過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。
定義
語法格式
class ClassName: '''Description''' <statement-1> . . . <statement-N>
類實例化后,可以使用其屬性,實際上,創建一個類之后,可以通過類名訪問其屬性
類的方法
在類內部,使用 def 關鍵字來定義一個方法,與一般函數定義不同,類方法必須包含參數 self, 且為第一個參數,self 代表的是類的實例。
class people: #定義基本屬性 name = '' age = 0 #定義私有屬性,私有屬性在類外部無法直接進行訪問 __weight = 0 #定義構造方法 def __init__(self,n,a,w): self.name = n self.age = a self.__weight = w def speak(self): print("%s 說: 我 %d 歲。" %(self.name,self.age)) # 實例化類 p = people('runoob',10,30) p.speak()
類對象
類對象支持兩種操作,屬性引用
和實例化
。
類對象創建后,類命名空間中所有的命名(變量、函數)都是有效屬性名。
class devops(): # 定義一個簡單的類 ops = ['Citizen_Wang', 'Bob_Zhou'] dev = ['Jerry_Xue', 'Bagwell_Yan'] def hello(self): print('Hello world') # 實例化 類 a = devops() # 訪問類的屬性 ops,dev print(a.ops) print(a.dev) # 訪問類的方法 hello 函數 a.hello()
輸出結果:
['Citizen_Wang', 'Bob_Zhou'] ['Jerry_Xue', 'Bagwell_Yan'] Hello world
實例化之后,支持對屬性進行修改
=大師兄python
class devops(): # 定義一個簡單的類 ops = ['Citizen_Wang', 'Bob_Zhou'] dev = ['Jerry_Xue', 'Bagwell_Yan'] def hello(self): print('Hello world') # 實例化 類 a = devops() # 訪問類的屬性 ops,dev print(a.ops) a.ops = 'No one has left' print(a.ops)
轉自:https://blog.csdn.net/cityzenoldwang/article/details/78359348