python高级

版权声明: https://blog.csdn.net/qq_41868948/article/details/79991276
 数据库密码必须加码
数据库不能远程连接(道德)
数据库设计
字段必须分隔
设计的时候必须有主键(一般是id,一般是自动增长的,跟我们的业务没有关系的)
消除重复的数据

#python
1. gil是什么:全局解析器锁
2. gil的作用:单核的情况下可以实现多任务(并发)
3. gil的解决方案:
1.换成一个cpu一个进程,进程池
2.换个java解析器(不建议,性能)
3.用java,c实现多线程的功能,
4.后期我一般用多进程加协程实现效率最高
#拷贝
1.深拷贝:递归里面的数据全部复制一份,这个性能低,元组,字符串,数字,一般深拷贝跟我们的引用一样
2.浅拷贝:复制第一层的数据

#私有属性
xx: 公有变量
_x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问
__xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到),但是可以通过特殊的方式去访问,_类名__私有属性名------->这个可以使用(实例对象.__dict__查看)
__xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:__init__ , __ 不要自己发明这样的名字
xx_:单后置下划线,用于避免与Python关键词的冲突

#搜索路径
导入模块,去我们搜索路径下去一个一个查找,如果找到一个就完成了此次导入


#导入模块
from xx import xx :这个你理解成深拷贝,会重新创建一个内存对象,这个如果多个文件需要个性同一个文件的,那么这个不能使用,使用(import xx)

![](images/05.png)
#封装
一个功能封装成一个函数,目的是为了重复使用代码,方便查看代码
#继承
如果多的子类都需要都一个方法,那么我们会把这个方法给父类,目的,重复使用代码

#多态
必须是继承的,一个函数有多种不同的显示效果(结果不一样),这个在Python中不严谨.

#面向对象开发
1. 把相关的函数组合在一起形成一个对象,特性:封装,继承,多态.

#super()
从继承表中找到当前自己的位置,super()相当于调用继承表中上一个对象,优点:让所有用继承用来的类只初始化一次,继承表可以使用(类.__mro__查看)

#实例对象和类对象
1.实例可以访问所有的方法及属性
2.类对象一般只能访问类属性,静态方法,类方法,当然可以访问实例(但是这种不常用)
![](images/04.png)

#常用的魔法方法
__init__
__new__
__call__ 

没有更多推荐了,返回首页