1、类也是用class定义命名规则也和java相同
2、类中三种特性,封装、继承、多肽(java一样)
封装:定义一个类,在类中定义函数和属性
继承:定义一个类继承其它的类,它就拥有这个类的属性和函数
myList(list)自己定义的myList列表继承了list列表
多肽:不同对象对同一方法体现出来不同的行动
3、可以在类中定义多个方法
4、OOA:面相对象分析 OOD:面相对象设计OOP:面相对象编程
5、self相当于java中的this,指的是当前对象
6、python中定义私有变量只需要在变量名或者函数前面加上'__’两个下划线,那么这个函数或变量就会编程私有的了
7、python中定义变量和函数默认都是public的
8、对象中有方法重写和方法重载
9、每次第一次执行的时候是true第二次执行的时候不就变成false执行false代码块
class Shark(Fish):
def __init__(self):
self.hungry = True
def eat(self):
if self.hungry:
print('吃')
self.hungry = False
else:
print('吃的太饱了')
10、当子类重写了父类的方法,但子类执行的时候又需要执行到父类的方法,这个时候可以在子类执行方法的时候使用 父类对象.方法名(self对象),这个时候该子类方法又会拥有父类的执行方法。
这个self是子类的实例对象传入到父类的方法中,该方法是个未绑定父类方法
或者使用super函数:不用给出基类的名字系统自动会找到对应的基类,super函数有两个一个是带参的,一个是无参的,无参的是默认传入当前的self和变量函数。有参默认传入的是当前self和变量函数,变量函数可以重新定义
super().方法名称(空(self参数都不需要))
11、使用多重继承,使用class 类名(继承1,继承2,...)
类名调用继承多个父类中的方法
12、创建爱你一个实例对象的属性进行赋值,覆盖了类对象属性的赋值