- Python作为一种动态语言,可以给实例和类动态添加属性和方法。不过需要注意的是给实例添加的属性和方法只对该实例有效,对类无效,而类添加的属性和方法对实例有效。
-
from types import MethodType
class Person(object):
def __init__(self, name):
self.name = name
def set_age(self, age):
self.age = age
def set_gender(self, gender):
self.gender = gender
def set_color(self, color):
self.color = color
student1 = Person('张三')
student2 = Person("李四")
student1.age = 23 # 实例添加属性
print(student1.age)
# print(student2.age) # 报错
student2.set_age = MethodType(set_age, student2) # 实例添加方法
Person.set_gender = MethodType(set_gender, Person) # 类添加方法
student2.set_age(25)
student2.set_gender('MALE')
print(student2.age)
print(student2.gender)
Person.set_color = set_color # 类添加属性
student2.set_color = 'Black'
print(student2.set_color)
Tensorflow入门笔记(二) Python类和实例动态添加属性和方法
猜你喜欢
转载自www.cnblogs.com/Lilu-1226/p/9301639.html
今日推荐
周排行