#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,而普通函式定義時則不需要。例項呼叫方法...