类->对象->1.他可以做什么行为 2.他是什么样的(属性或特征)
定义类:class (必须要有初始化_init__,这样创建的每个实例都有自己的属性,也方便直接调用类中的函数和变量)->self表示的是当前类的对象:调用对应的变量、调用对应的函数->如果没有在__init__中初始化对应的实例变量话,导致后续引用实例变量会出错
类中的方法:__str__是把类中的变量打出来实现字符串形式而不是打出地址形式(只要需要print的时候就必须要进行str)
访问限制:Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问。