面向对象小结——定义及调用的固定模式
class 类名: def __init__(self,参数1,参数2): self.对象的属性1 = 参数1 self.对象的属性2 = 参数2 def 方法名(self):pass def 方法名2(self):pass 对象名 = 类名(1,2) #对象就是实例,代表一个具体的东西 #类名() : 类名+括号就是实例化一个类,相当于调用了__init__方法 #括号里传参数,参数不需要传self,其他与init中的形参一一对应 #结果返回一个对象 对象名.对象的属性1 #查看对象的属性,直接用 对象名.属性名 即可 对象名.方法名() #调用类中的方法,直接用 对象名.方法名() 即可
类(定义) 静态属性 类属性(变量) 直接写在类中,全大写 动态属性 方法(函数) self 类方法 @classmethod cls 静态方法 @staticmethod 没有默认参数 选课系统 专门给面向对象编程的时候 的函数准备的 特性 @property class Person: @staticmethod def login(): pass class Teacher(Person): pass 调用 对象名.动态属性()/类名.动态属性(对象) 类名.静态属性/对象名.静态属性 类名.类方法()/对象名.类方法() 类名.静态方法/对象名.静态方法() 对象的命名空间中能存的: 属性 对象能调用的: 对象属性 类中的普通方法 私有的 __名字 静态属性 动态属性 类方法 静态方法 属性 私有的有什么特点 只能在类的内部调用 不能被继承 什么时候用私有的? 当不想被外部调用也不想被继承,只想在类内部使用的时候 当在外部使用的时候,想给用户的使用前后直接加上某些功能 私有 + property使用