类的定义使用驼峰,python也就只有类使用驼峰命名方式,类名不要用中文。
object代表python中的一个通用对象,建议书写通用对象,会带有更多内置功能
函数中的self参数有两个功能 :1.帮助我们调用类属性 2.将我们这个函数定义到类中(绑定了self的函数 都可以通过self.来调用)
如果类中的某个函数 没有设置self参数,①类的实例就无法使用这个函数,②类的外部也无法调用这个函数,③类中的其他带self参数的函数内 也无法调用这个函数;在类的代码块中,要定义函数,必须使用self参数。只有一种情况可以让类函数调用没有self参数的函数:在这个函数中定义一个函数,并且只能在这个函数中进行调用。
输出为:
不会报错
构造函数要定义在函数的最上面
当看到__单词__ 这种样子的函数名 表示是python内置函数
要调用也是可以的 通过 实例对象._类名__私有函数名()的方式调用。最好不要在实例化对象中调用私有函数 变量。
python并没有封装的功能,只是有这么一个概念。
外围函数中 的参数 func_args表示要处理的函数,他作为参数传进去;
外围函数体内定义的函数 叫内嵌函数,内嵌函数中传递两种可变参数, 这两个可变参数就是处理函数带过来的参数,
在内嵌函数 函数体中 调用要处理的函数func_args,并将可变参数放回处理函数中,此处可以对函数的结果做二次处理等等
最后 return inter 这一句必须要有 而且是没有括号的 表示没有执行inter这个函数;所有的业务都在内嵌函数中;
a是外围函数 b是内嵌函数 c是要处理的函数(也叫 被调用函数),他做了外围函数a的参数
输出为:
类中常用的装饰器:
参数变成了cls,表示当前类,cls不需要通过实例化就可以调用
self表示当前对象(实例化对象);cls表示当前的类
使用了staticmethod装饰器的函数add 依然可以被实例化的对象调用
也可以在其他self参数的函数中调用add函数
但是staticmethod装饰器的函数中 无法调用普通的类函数 和 classmethod 装饰器函数 因为他的参数内没有self
父类如果有初始化函数,继承了父类的子类 必须要传入初始化函数中的参数
python3.0之后 super().__init__() 省略了Child和self
此处案例没写
子类继承了父1 父2 若父1 父2都有一个方法名叫work(),则子类在使用work()方法时,会调用最左边书写的父类的work()方法