Python 物件導向

2022-05-07 11:39:11 字數 1628 閱讀 5944

類建立:

# class 類名:

class demo:

""" demo doc (類的說明文件)"""

pass

# 類.__doc__ 檢視說明文件

print(demo.__doc__)

demo1(基本例項):
# 類的建立

class person:

""" person class, record base information """

# 類變數

country = 'china'

# 稱 __init__ 或 __new__ 為構造方法

def __init__(self, name):

self.name = name

def speak(self):

print(self.name, ' speaking ... ')

# 稱 __del__ 為析構方法,在物件被銷毀時執行

def __del__(self):

print(self.name, ' destroy ... ')

person = person('getcharzp') # 類例項化成物件

person.speak() # 呼叫物件中的 speak 方法

print(person.name) # 訪問物件中的屬性

print(person.country) # 通過類訪問類變數

print(person.country) # 通過物件訪問類變數

# getattr 獲取物件屬性的值,如果是函式可以在後面加括號讓其執行【反射】

print(getattr(person, 'country'))

speak = getattr(person, 'speak')

speak()

print(person.__dict__) # 類的屬性

print(person.__bases__) # 類的所有父類

demo2(類的繼承)
# 基類 1

class base1:

__country = 'china' # __ 雙下劃線用來定義私有屬性或方法

def func_base1(self):

print('method base1')

# 基類 2

class base2:

def func_base2(self):

print('method base2')

# 子類

class sun(base1, base2):

def func_sun(self):

""" 通過 super 呼叫父類的方法, 可以解決多繼承問題中的mro """

super().func_base1()

super().func_base2()

print('method sun')

obj = sun() # 類的例項化

print(obj.func_sun())

print(obj.__country) # 私有屬性子類無法直接訪問

print(obj._base1__country) # 只能間接訪問,但是不推薦這種方法方式

python物件導向學習 python物件導向學習

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...

python物件導向總結 Python物件導向總結

python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...

python登入物件導向 python 物件導向

一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...