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:
def init(self,name,age):
self.name=name
self.age=age
pass
def str(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()#属性成员调用动态添加的静态方法方法
相关文章
- 12-14子类继承之后添加新的属性出现报错及解决方法
- 12-14python-使用装饰器从类外部动态添加方法
- 12-14python基础教程_学习笔记11:魔法方法、属性和迭代器
- 12-14【转】invokeRequired属性和 invoke()方法
- 12-14vue2自定义指令动态添加修饰符和value
- 12-14实现Square类,让其继承自Rectangle类,并在Square类增添新属性和方法
- 12-14实现Square类,让其继承自Rectangle类,并在Square类增添新属性和方法,在2的基础上,在Square类中重写Rectangle类中的初始化和打印方法...
- 12-14docker Dockerfile指令ADD和COPY的区别,添加目录方法
- 12-14Python3动态添加属性,删除属性,判断属性函数
- 12-14springboot:动态给父对象添加属性和值