Tensorflow入门笔记(二) Python类和实例动态添加属性和方法

  1. Python作为一种动态语言,可以给实例和类动态添加属性和方法。不过需要注意的是给实例添加的属性和方法只对该实例有效,对类无效,而类添加的属性和方法对实例有效。
  2. 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)

猜你喜欢

转载自www.cnblogs.com/Lilu-1226/p/9301639.html
今日推荐