Python學習28 類 例項的其它內建函式

2021-06-23 00:45:22 字數 1813 閱讀 6958

#filename:classmethod.py

#類、例項及其它物件的內建方法

#定義三個類parent,child,gc

class parent:

arr = 1000

ls = ['hello','python','world']

def __init__(self):

print('calling parent』s constructor')

def foo(self):

print('parent_____foo')

class child(parent):

def __init__(self):

super(child,self).__init__()

print('calling child』s constructor')

def foo(self):

print('child_____foo')

class gc(child):

def __init__(self):

super(gc,self).__init__()

print('calling gc』s constructor')

def foo(self):

print('gc_____foo')

#使用gc構建物件例項

g = gc()

#1、內建函式issubcalss(sub,sup):判斷sub是否是sup的子類

print('issubclass(gc,parent) = ',issubclass(gc,parent))

print('issubclass(gc,child) = ',issubclass(gc,child))

#2、內建函式isinstance(obj1,obj2):obj1是obj2的乙個例項

print('isinstance(g,child) = ',isinstance(g,child))

print()

#類屬性的特性針對繼承也使用(子類的修改類屬性似於通過例項修改類屬性的方式)

print('類繼承:通過子類修改父類的類屬性')

gc.arr = 10000

print(gc.arr) #10000

print(parent.arr) #1000

gc.ls.pop(1)

print(gc.ls)

print(parent.ls)

print(g.ls)

#3、內建函式hasattr(obj,arr):判斷obj是否存在屬性arr

print('hasattr(gc,\'arr\') == ',hasattr(gc,'arr'))

#其它內建函式

#getattr(obj,arr):獲取例項obj的屬性arr的值,如果不存在值,則返回attrbuteerror異常,類似於obj.attr

#setattr(obj,attr,val):設定例項obj屬性attr的值為val,類似於:obj.attr = val

#delattr(obj,attr):從例項obj中刪除屬性attr,類似於del obj.attr

#vars(obj = none):返回obj的屬性以及其值的乙個字典,如果沒有給出obj(類名):顯示區域性名字空間字典(屬性及值),類似於locals()

28 類和例項

類 類是抽象的模板,用來描述具有相同屬性和方法的物件的集合,比如animal類。類名通常採用駝峰式命名方式,盡量讓字面意思體現出類的作用。python使用class關鍵字來定義類,其基本結構如下 class 類名 父類列表 pass 類的構成 類 class 由3個部分構成 類的名稱 類名 類的屬性...

python學習 類和例項

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。仍以student類為例,在python中,定義類是通過class關鍵字 class stude...

python學習 類與例項

python是一門物件導向 oop 程式語言,同樣用類class實現封裝 繼承 多型,例項就是具體的物件,每個例項資料型別相同,但擁有的資料不同。方法就是與例項繫結的函式,和普通函式不同,方法可以直接訪問例項的資料 1.類的方法在定義時第乙個引數必須為self,而普通函式定義時則不需要。例項呼叫方法...