ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 魔术函数 \_\_name\_\_ 文件调用者、函数的名字 \_\_author\_\_ \_\_doc\_\_ \_\_len\_\_ 方法 有此方法的对象 可以用len计算长度 len(obj) \_\_slots\_\_ 属性 限制类能添加的属性 \_\_str\_\_ 方法 返回打印对象时 显示的内容 \_\_repr\_\_ 方法 返回(返回对象时) 显示的内容 class Student(object): def __init__(self, name): self.name = name def __str__(self): return 'Student object (name=%s)' % self.name __repr__ = __str__ # 偷懒用法 \_\_iter\_\_ + next()方法 类想被用于for ... in循环 \_\_getitem\_\_ list那样按照下标取出元素 也可以切片; 是下标int还是切片slice 参数需要做判断 \_\_getattr\_\_ 没有找到属性/方法的情况下,调用\_\_getattr\_\_ 可以返回匿名方法 默认返回就是None \_\_call\_\_ 吧对象看成函数 直接调用 `s = Student('那谁'); s()` \_\_metaclass\_\_ 指定元类 控制类的创建行为; 我不要用type创建类 我要用type的子类(期间对类做一些修改 然后再用type创建)