1.概念
包——本质就是一个文件夹,但是这个文件夹与普通的文件夹有一个区别为,包的文件夹,必须包含一个叫做
“__init__.py” 的文件,这个文件可以写代码,也可以不写,作用只是标识这个文件夹是一个包
而且这个文件本身是一个模块,这个文件的命名空间不是普通模块的命名方式,而是这个包的名字
模块——在包的文件夹下的一个一个的.py文件就可以称为模块,模块的好处大大提高了代码的可维护性,当一个
模块完成后,就可以被其他地方引用,使用模块还可以避免函数名和变量名冲突,相同名字的函数和变量完全可
以分别存在不同的模块中。
import 导入模块(只能导入模块,不能导入变量)功能,impory +包名+ 模块名 as 变量名(用于简化命名空间)
form + 包名+模块名 import + 变量名、函数名、*(全部) 直接导入变量(可用 , 分隔) 可以直接使用变量 不需要加路径
__all__ : 模块内置变量 用于*号导入
代码换行 : \ 或者() python代码尽量一行不超过80字符
__init__.py : 当导入包或包下模块时,init文件首先被自动运行,用做于初始化
包与模块的几个常见错误:
1、包和模块是不会被重复导入的
2、避免循环导入 例:t1导t2 t2导t3 t3导t1
类
定义类:class 类名() 实例化:名称 = 类名()
定义实例方法:def 方法名(self) 传入参数不需要 关联的对象
调用类变量:类名.变量名 或者 self.__class__.变量名
定义类方法:def 方法名(cls) 方法上边需要加@classmethod 装饰器 关联的类
静态方法:def 方法名() @staticmethod 装饰器
成员的可见性:公开的 public 私有的 private 定义私有变量:private 变量名 或者 __变量名
对面对象3大特性:继承性,封装性,多态性
子类方法调用父类方法:super 关键字 super(子类名,self).父类的方法(相关参数)