Python物件導向

2022-07-28 20:00:34 字數 1851 閱讀 2111

目錄派生

繼承的菱形問題

二、菱形繼承問題

class parent1:

pass

class parent2:

pass

class sub1(parent1, parent2):

pass

print(sub1.__bases__)
class person(object):

def __init__(self, name, age):

self.name = name

self.age = age

# def init_1(self, name, age):

# self.name = name

# self.age = age

class student:

school = 'yyyy'

def __init__(self, name, age, course):

# 指名道姓的使用person的__init__方法

person.__init__(self,name,age)

# init_1(self,name,age)

self.course = course

stu = student('nick', 19, 'python')

print(stu.name)

print(stu.age)

print(stu.course)

hugh

19python

class person(object):

def __init__(self, name, age):

self.name = name

self.age = age

class student(person):

school = 'yyyy'

def __init__(self, name, age, course):

# super()相當於得到了乙個特殊物件,第乙個引數不需要傳,呼叫繫結方法,會把自己傳過去

########## self不需要傳,不需要傳

# super().__init__(name,age)

# 看到別人這麼寫:super(類名,物件) 在py3中為了相容py2

# 在py3中這麼寫和省略寫法完全一樣

# 在py2中必須super(student,self)寫

# super(student,self).__init__(name,age)

super().__init__(name, age)

self.course = course

stu = student('hugh', 19, 'python')

print(stu.name)

print(stu.age)

print(stu.course)

hugh

19python

新式類

經典類如果繼承關係為菱形結構,即子類的父類最後繼承了同乙個類,那麼屬性的查詢方式有兩種:

mro()方法

f1 = f()

print(f.mro())

[, , , , , , ]

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...