Python:10.使用__slots__
作者:
许瘦子来世 | 来源:发表于
2018-07-11 16:57 被阅读2次# 正常操作
# 定义class
class Student(object):
pass
# 给实例绑定一个属性
s = Student()
s.name = 'Michael' # 动态给实例绑定一个属性
print(s.name)
# 给实例绑定一个方法
def set_age(self, age):
self.age = age
from types import MethodType
s.set_age = MethodType(set_age,s) # 给实例绑定一个方法
s.set_age(25)
print(s.age)
# 为了给所有实例绑定方法,可以给class绑定方法
def set_score(self, score):
self.score = score
Student.set_score = set_score
s.set_score(100)
print(s.score)
# __slots__
'''
1. 限制实例属性。在定义class的时候,定义一个特殊__slots__变量,来限制该class实例添加的属性
2. __slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的
'''
class School(object):
__slots__ = ('name', 'num') # 用tuple定义允许绑定的属性名称
本文标题:Python:10.使用__slots__
本文链接:https://www.haomeiwen.com/subject/vqghpftx.html
网友评论