代码拉取完成,页面将自动刷新
# 定义一个类
from types import MethodType
class Student(object):
pass
# 实例化类,绑定属性name
s = Student()
s.name = 'Tom'
print(s.name)
# 给实例绑定函数
# 但是这个函数只能用于这个实例,不能用于同类的其它实例
def set_name(self, name):
self.name = name
s.set_name = MethodType(set_name, s)
s.set_name('Tina')
print(s.name)
# 解决这个问题,可以使用给类绑定函数
def set_age(self, age):
self.age = age
Student.set_age = set_age
s.set_age(18)
print(s.age)
# 使用__slots__限制实例的属性,比如我们只允许对类添加name和age属性
class Teacher(object):
__slots__ = ('name', 'age')
t = Teacher()
t.name = 'Tom'
t.age = 18
print(t.name)
print(t.age)
# 下面不在__slots__里面的属性就会报错
# t.gender = 'male'
# TODO __slots__只对当前类的实例起作用,对继承的子类不起作用
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。