随笔分类 - python疑难杂症
摘要:join和daemon 下面仅以多进程为例: 知识点一: 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,默认情况下(其实就是setDaemon(False)),主线程执行完自己的任务以后,就退出了,此时子线程会继续
阅读全文
摘要:原理: 当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1, 当对象的引用计数减少为0时,就意味着对象已经再没有被使用了, 可以将其内存释放掉。 优点:引用计数有一个很大的优点,即实时性,任何内存,一旦没有指向它的引用, 就会被立即回收,而其他的垃圾收
阅读全文
摘要:解释型语言和编译型语言的区别 首先,我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。 说到翻译,其实翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不
阅读全文
摘要:@wrap修复技术 首先我先说一下wrap的效果 如果没使用@wraps,当A调用了装饰器B的话,即使A.name,返回的会是装饰器B的函数名称,而不是A的函数名称如果使用了@wraps,当A调用了装饰器B的话,A.__name__返回的会是A函数的名称,而不是饰器B的名称,这也即使常说的@wrap
阅读全文
摘要:python中生成器,迭代器可以说是一个难点了 所以总结了一些心得 迭代器: 迭代器遵循迭代器协议:必须拥有__iter__方法和__next__方法。 迭代器的特点: 节省内存,惰性运算,一次性取值,只能按顺序取 for循环和迭代器的关系: 无论是可迭代的还是迭代器都可以被for循环 如果直接循环
阅读全文
摘要:默认参数的陷阱 : 默认参数实际上只有一个值 代码1 def func(l = 1): l += 1 print(l) func() func() func() 代码2 lst = [] def func(a,l = lst): l.append(a) print(l)func(1) # [1] f
阅读全文

浙公网安备 33010602011771号