動態新增屬性和方法

2021-10-21 06:45:07 字數 1091 閱讀 5129

import types #新增方法的庫

#新增動態方法

def lookstate(self):

print(『使用者{}使用者名稱{}年齡{}密碼{}』

.format(self.name,self.admin,self.age,self.password))

pass

#動態新增乙個類方法

@classmethod

def classtest(cls):

print(『這個乙個類方法』)

pass

#動態新增乙個靜態方法

@staticmethod

def staticmethodtest():

print(『這個乙個靜態方法』)

pass

class user:

definit(self,name,age):

self.name=name

self.age=age

pass

defstr(self):

return 『{}的年齡為{}』.format(self.name,self.age)

pass

print(『繫結類方法』)

user.testmethod=classtest#繫結類方法

user.testmethod()

user.static=staticmethodtest#繫結靜態方法

user.static()#呼叫靜態方法

r=user(『root』,22)

r.password=『pwd@123』#在執行過程中,動態的為這個r賦予專屬的屬性

print®

print(r.password)

user.admin=『a』#動態新增類屬性

print(r.admin)

r.printinfo=types.methodtype(lookstate,r)#動態繫結方法

r.printinfo()#呼叫動態繫結的方法

r.testmethod()#屬性成員呼叫動態新增的類方法

r.static()#屬性成員呼叫動態新增的靜態方法方法

python動態新增屬性和方法

class person def init self,name,age self.name name self.age age p1 person ff 28 print p1.name,p1.age 給例項物件動態新增 屬性 p1.female print p1.給類動態新增屬性 person.h...

Python動態新增屬性和方法

動態新增屬性,就是這個屬性不是在類定義的時候新增的,而是在程式執行過程中新增的,動態新增屬性有兩種方法,第乙個是直接通過物件名.屬性名,第二個是通過setattr新增 1 第一種 使用物件.屬性名新增 p.ageb 18 2 第二種,使用setattr函式新增 class person def in...

為類動態新增屬性和方法

動態新增屬性 import types class person object country china def init self,name self.name name 動態刪除屬性和方法 del delattr p1 person zhiliao print p1.name del p1.n...