建设旅游网站的费用预算,自己做的网站手机不能看,网页设计如何居中,网站开发用什么框架好目录
#x1f354; Python下多线程的限制以及多进程中传递参数的⽅式
#x1f354; Python是如何进⾏内存管理的#xff1f;
#x1f354; Python⾥⾯如何拷⻉⼀个对象#xff1f;
#x1f354; Python⾥⾯search()和match()的区别#xff1f;
#x1f354; lambd…
目录 Python下多线程的限制以及多进程中传递参数的⽅式 Python是如何进⾏内存管理的 Python⾥⾯如何拷⻉⼀个对象 Python⾥⾯search()和match()的区别 lambda表达式格式以及应⽤场景 *args和**kwarg作⽤是什么 is和的区别是什么 简述Python的深浅拷⻉以及应⽤场景 Python垃圾回收机制 解释 Python 中的三元表达式 Python的可变类型和不可变类型 Python下多线程的限制以及多进程中传递参数的⽅式 python多线程有个全局解释器锁global interpreter lock这个锁的意思是任⼀时间只能有⼀个线程 使⽤解释器跟单cpu跑多个程序⼀个意思⼤家都是轮着⽤的这叫“并发”不是“并⾏”。多进程间共享数据可以使⽤ multiprocessing.Value 和 multiprocessing.Array Python是如何进⾏内存管理的 Python引⽤了⼀个内存池(memory pool)机制即Pymalloc机制(malloc:n.分配内存)⽤于管理对⼩块内存的申请和释放。 内存池memory pool的概念 当创建⼤量消耗⼩内存的对象时频繁调⽤new/malloc会导致⼤量的内存碎⽚致使效率降低。内存池的概念就是预先在内存中申请⼀定数量的⼤⼩相等 的内存块留作备⽤当有新的内存需求时就先从内存池中分配内存给这个需求不够了之后再申请新的内存。这样做最显著的优势就是能够减少内存碎⽚提升效率。内存池的实现⽅式有很多性能和适⽤范围也不⼀样。 python中的内存管理机制——Pymalloc python中的内存管理机制都有两套实现⼀套是针对⼩对象就是⼤⼩⼩于256bits时,pymalloc会在内 存池中申请内存空间当⼤于256bits则会直接执⾏new/malloc的⾏为来申请内存空间。关于释放内存⽅⾯当⼀个对象的引⽤计数变为0时python就会调⽤它的析构函数。在析构时也采⽤了内存池机制从内存池来的内存会被归还到内存池中以避免频繁地释放动作。 Python⾥⾯如何拷⻉⼀个对象 标准库中的copy模块提供了两个⽅法来实现拷⻉.⼀个⽅法是copy,它返回和参数包含内容⼀样的对象 使⽤deepcopy⽅法,对象中的属性也被复制 Python⾥⾯search()和match()的区别 match()函数只检测re是不是在string的开始位置匹配search()会扫描整个string查找匹配, 也就是说 match()只有在0位置匹配成功的话才有返回如果不是开始位置匹配成功的话match()就返回none。 lambda表达式格式以及应⽤场景 lambda函数就是可以接受任意多个参数包括可选参数并且返回单个表达式值得函数。 语法lambda [arg1 [,arg2,.....argn]]:expression def calc(x,y):return x*y
# 将上述⼀般函数改写为匿名函数
lambda x,y:x*y 应⽤ lambda函数⽐较轻便即⽤即仍适合完成只在⼀处使⽤的简单功能。 匿名函数⼀般⽤来给filtermap这样的函数式编程服务 作为回调函数传递给某些应⽤⽐如消息处理。 *args和**kwarg作⽤是什么 *args代表位置参数它会接收任意多个参数并把这些参数作为元组传递给函数。 **kwargs代表的关键字参数允许你使⽤没有事先定义的参数名。 位置参数⼀定要放在关键字参数的前⾯。 作⽤使⽤*args和**kwargs可以⾮常⽅便的定义函数同时可以加强扩展性以便⽇后的代码维护。 is和的区别是什么 是python标准操作符中的⽐较操作符⽤来⽐较判断两个对象的value(值)是否相等 is也被叫做同⼀性运算符这个运算符⽐较判断的是对象间的唯⼀身份标识也就是id是否相同。 简述Python的深浅拷⻉以及应⽤场景
导⼊模块import copy 浅拷⻉copy.copy 深拷⻉copy.deepcopy 浅拷⻉指仅仅拷⻉数据集合的第⼀层数据深拷⻉指拷⻉数据集合的所有层。br 所以对于只有⼀ 层的数据集合来说深浅拷⻉的意义是⼀样的⽐如字符串数字还有仅仅⼀层的字典、列表、元祖等. 应用 浅拷⻉在拷⻉⼤量数据且不需要改变内部元素的值的时候能⼤量的减少内存的使⽤ 深拷⻉在拷⻉⼤量数据的时候需要在前后内部元素的内容进⾏改变的时候可以修改拷⻉出来的模板。 Python垃圾回收机制
回收计数引⽤为0的对象释放其占⽤空间 循环垃圾回收器。释放循环引⽤对象 解释 Python 中的三元表达式 与 C不同, 在 Python 中我们不需要使⽤符号⽽是使⽤如下语法 [on true] if [expression]else [on false] 如果 [expression] 为真, 则 [on true] 部分被执⾏。如果表示为假则 [on false] 部分被执⾏ Python的可变类型和不可变类型
不可变类型
整数int浮点数float元组tuple字符串str布尔值bool
可变类型
列表list字典dict集合set 若能为您的学习之旅添一丝光亮不胜荣幸 期待您的宝贵意见让我们共同进步共同成长