# class Student:
#
# def __init__(self, age = 19):
# self.age = age
#
# def read(self):
# print('实例方法阅读')#类不可直接调用实例方法,得通过实例对象来调用
# student = Student()
# student.read()
# print(Student.age)类不可以访问成员属性,也就是对象属性,即实例属性
类可以调用添加的静态方法,类方法,不可直接调用实例方法,可通过实例对象调用
对象可以调用静态方法,类方法,可以调用实例方法,对象可以访问私有属性,但类不可以
下边说动态添加静态方法,类方法:
类的动态特性
可以动态添加静态方法,类方法,实例方法,上边已经说过了
可以限制属性个数,比如,这个类里边我想它只能有hp,mp,move,可以用
__slots__这个方法,三个属性那么就可以这样写
大家可以看到Ai.count = 10000这行代码还是执行的了的,只是对象受限制了,它可以用类名.属性名= 值,来添加属性
将类实例化的对象与外界函数联系调用:
首先先引入一个types的包,然后对象名.函数名(不带括号) = tyep.
MethodType(函数名, 对象名)
然后对象名.函数名()调用
外界动态添加静态方法,类方法。
先创建一个类,
定义好静态方法,与类方法
调用,这里要注意
类名.静态方法名(不带括号) = 方法名(不带括号)
类名.类方法名(不带括号) = 方法名(不带括号)
类名.静态方法名()
类名.类方法名()
代码演示
删除方法
del 方法名(不带括号)
最后删除__init__函数是楼主一是兴起,不要模仿