Python學習系列之動態繫結屬性和方法(二十六)

2022-07-05 19:18:11 字數 1491 閱讀 3453

動態繫結屬性和方法

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