python 动态语言 在运行时可以改变类的结构,添加属性,添加方法删除函数添加属性 :
就是在类的结构以外 添加属性也可以修改
1.添加对象属性
(1)p1.age="123" #使用对象名创建
(2)setattr(p1,"home","阳光小区") #使用内置方法设置和取得属性值
getattr(p1,"home")#取得新增属性的值
2.添加类属性
(1)Preson.ID=111112 #使用类名创建添加方法:
3.添加对象方法
import types
def study(self):
print("学海无涯")
p1.study=types.MethodType(study,p1)#将study方法绑定到对象类似将方法赋值给对象的属性
p1.study() #成为一个函数对象
4.添加类的方法
(1)添加静态方法
@staticmethod
def test():
print("静态方法")
Preson.stat = test
#Preson.stat = test()#如果不小心写成这样就会报错 将test类方法返回值传给类属性stat就None
Preson.stat()
p1.stat()#对象调用类方法
(2)添加类方法
@classmethod
def test2(cls):
print("类方法")
Preson.cl=test2
Preson.cl()
class Preson:
def __init__(self, name):
self.name = name
p1 = Preson("王五")
@classmethoddef
test2(cls):
print("类方法")
Preson.cl=test2