python 物件導向(二)

2021-08-04 13:28:58 字數 1565 閱讀 7538

class a():

def bar(self):

print("bar")

#這裡面的self相當於c,也就是從d 開始重新找

self.f1()

class b(a):

def f1(self):

print("b")

class c():

def f1(self):

print("c")

class d(c,b):

pass

c=d()

c.bar()

》bar

c

c呼叫父類的構造方法

class animal():

def __init__(self):

self.ti = "動物"

print("1")

class cat(animal):

def __init__(self):

self.a="貓"

print(2)

#將物件c根據self匯入animal

super(cat, self).__init__()

#animal.__init__(self)c=cat()

++++++++++++++反射++++++++++++++++++++++

class  foo():

def __init__(self,name):

self.name = name

def show(self):

print("show")

obj = foo('alex')

#反射:類,只能找類裡面的成員(__init__,show)

#以字串的形式

r = hasattr(foo,"name")

print(r)

#反射:物件,全能

#以字串的形式

r = hasattr(obj,"name")

print(r)

》false

true

從上面可以看出來。利用反射,當反射的條件是類的時候只能返回類裡面的方法,當用物件的時候返回的是屬性加方法

上面的檔案的包名叫做__init__  ,引出下面的例子

#匯入檔案

m = __import__("__init__",fromlist=true)

#匯入類

class_name = getattr(m,'foo')

#得到物件

obj=class_name("aexl")

#得到物件屬性

val = getattr(obj,"name")

#列印print(val)

》>>

aexl

python物件導向 二

屬性查詢 類有兩種屬性 資料屬性和函式屬性 類的資料屬性是所有物件共享的 類的函式屬性是繫結給物件用的 class beijingstudent school beijing def learn self print is learning def eat self print is eating ...

python學習(二) 物件導向

物件導向的方法簡介 類 class 方法重寫 override 繼承 例項化 類的方法必須要加乙個self引數 class classname def init self name salary self 是指類的例項而不是類 self name name 建立類物件 x class1 這是通過呼叫...

python之物件導向二

什麼時候用到多型?如果我們需要用到父類的方法的時候而且要修改父類方法的時候,或者想呈現出不同的效果是就會用到多型 這裡舉個小例子 class person object def get name self print 張三 class studens person 繼承自person類 def ge...