python 基础知识提升

版权声明: https://blog.csdn.net/weixin_42157608/article/details/80402567

三范式

1.一个数据一个字段
2. 只要有主键的
3. 减少重复

GIL

叫什么:全局解释器锁cpython
有什么用:单核的情况下实现多任务NB
怎么解决:
    换解释器锁jpython
    进程加协程(个人建议)
    线程用其他语言实现,python调用


深拷贝与浅拷贝

深拷贝


递归拷贝每一层的数据

浅拷贝


拷贝第一层的数据

跟引用的区别


引用:多个变量指向同一个内存地址
拷贝:产生一个新地址(不可变类型不会产生,int,字符串,元组)

python基本上如果提供了copy方法都是浅copy

私有化


_x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问
__xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到)
__xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:__init__ , __ 不要自己发明这样的名字
xx_:单后置下划线,用于避免与Python关键词的冲突

模块搜索路径


sys.path

模块更新


from imp import reload

导入两种模块方式的区别


import  **** 这个可以当做是引用
from **** import *** 这个可以当做深拷贝


猜你喜欢

转载自blog.csdn.net/weixin_42157608/article/details/80402567