動態繫結屬性和方法
python是動態語言,在建立物件之後,可以動態地繫結屬性和方法
1. 動態地繫結屬性
**示例:
'''動態地繫結屬性'''執行結果:class student:
def __init__(self,name,age):
self.name=name
self.age = age
#例項方法
def eat(self):
print('學生在吃飯...')
stu1=student('張三',20)
stu2=student('李四',30)
stu1.gender='女' #動態繫結性別
print(stu1.name,stu1.age,stu1.gender)
print(stu2.name,stu2.age)
說明:乙個student類可以建立n個student類的例項物件,每個實體物件的屬性值可以不同
**示意圖如下:
2. 動態的繫結方法
'''動態地繫結方法'''class student:
def __init__(self,name,age):
self.name=name
self.age = age
#例項方法
def eat(self):
print('學生在吃飯...')
stu1=student('張三',20)
stu2=student('李四',30)
# stu1.gender='女' #動態繫結性別
# print(stu1.name,stu1.age,stu1.gender)
# print(stu2.name,stu2.age)
def show(): #函式
print('我是動態繫結的函式')
stu2.show=show #動態繫結方法,函式繫結到物件上就是方法
stu2.show() #stu1.show()執行時會報錯attributeerror,因為stu1沒有繫結show方法執行結果
說明:stu2.show=show 是動態繫結方法的寫法
類物件總結:
類物件有類屬性、類方法、靜態方法、例項方法
例項物件使用類名()建立例項物件c
例項物件可以動態繫結屬性,stu1.gender='女'
例項物件可以動態繫結方法,stu2.show=show stu2.show()
vue系列 class動態繫結
操作元素的 class 列表和內聯樣式是資料繫結的乙個常見需求。因為它們都是屬性,所以我們可以用 v bind 處理它們 只需要通過表示式計算出字串結果即可。不過,字串拼接麻煩且易錯。因此,在將 v bind 用於 class 和 style 時,vue.js 做了專門的增強。表示式結果的型別除了字...
python 踩坑系列之遲繫結
將函式體和函式呼叫關聯起來,就叫繫結 在程式執行之前 也就是編譯和鏈結時 執行的繫結是早繫結,遲繫結 late binding 是發生在執行時。def outer return lambda x x i for i in range 3 f1,f2,f3 outer print f1 1 print...
Java之動態繫結
動態繫結就是多型。class1繼承了class2,class2繼承了class3,一直到class n 1 定義class1的物件。class1 class1test new class1 class1test.funtionname 編譯器就會從class1開始尋找這個方法,如果在class1中不...