#動態新增屬性import types
class person(object):
country = 'china'
def __init__(self,name):
self.name=name
#動態刪除屬性和方法
#del
#delattr
p1=person('zhiliao')
print(p1.name)
# del p1.name
delattr(p1,name)
print(p1.name)
#動態新增例項方法
@staticmethod
def run():
print('正在奔跑')
person.run=run
person.run()
#動態新增類方法
@classmethod
def run(cls):
print('%s 在奔跑'%cls.country)
person.run=run
person.run()
#動態新增例項方法
def run(self):
print('{} 在奔跑'.format(self.name))
p1=person(name='zhiliao')
p1.run=types.methodtype(run,p1)
p1.run()
#動態新增屬性
p=person('zhiliao')
p.age=18
print(p.age)
#setattr
# setattr(p,'age',18)
print(p.age)
print(p.__dict__)
# print(p.__class__)
# print(p.__dir__())
print(p.__init__('cyy'))
print(p.__dict__)
print(hasattr(p,'name'))
if hasattr(p,'name'):
print('true')
else:
print('false')
Runtime 動態建立類新增屬性和方法
void createclass myclasstest是已經實現的函式,v 這種寫法見引數型別連線 class addmethod myclass,selector myclasstest imp myclasstest,v 註冊這個類到runtime系統中就可以使用他了 objc registe...
動態新增屬性和方法
import types 新增方法的庫 新增動態方法 def lookstate self print 使用者 使用者名稱 年齡 密碼 format self.name,self.admin,self.age,self.password pass 動態新增乙個類方法 classmethod def ...
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...