首页 知识动态 python基础 ( Page 402 )

python基础

Python双向队列是什么

1、说明Python 的双向队列使用 collections.deque 类来实现。它是一个线程安全且可以快速从两端添加或者删除元素的类。deque /dɛk/2、实例Lucian…

2025-12-01 81,294

Python如何标识线程?

1、threading.current_thread() 可以返回当前的线程对象。>>> threading.Thread(target=lambda: print(threadi…

2025-12-01 57,261

Python实例属性的优先级分析

1、说明当在实例上给类属性赋值时,实际上是给这个实例绑定了同名的属性而已,并不会影响类属性和其他实例。使用实例访问一个属性时优先查找实例上是否有该属性,如果没有再去类上查找。当实例…

2025-12-01 53,258

Python类成员的访问限制

1、说明(1)默认情况下,Python中的类成员都是公开的,在Python中没有像public,private这样的关键字来修饰类成员。定义Python中的私有成员只需在变量名或函…

2025-12-01 5,684

Python魔术方法的三个特点

1、特点(1)定义在class中(2)不需要直接调用(3)Python的某些函数或操作符会调用对应的特殊方法2、实例class Person(object):     def __…

2025-12-01 84,379

Python中装饰属性的方法

1、使用 get、set 方法来封装对一个属性的访问在很多面向对象编程的语言中都很常见。class Student(object):     def __init__(self, …

2025-12-01 3,665

Python死锁的产生原因

1、程序永远无法运行结束,根本原因在于:一个线程持有锁1同时在请求锁2,另一个线程持有锁2同时在请求锁1,二者不得到对方的锁都不会放开自己的锁,程序就这样僵持下去了。2、实例两个线…

2025-12-01 25,334

Python中threading.RLock的使用

1、和Lock的不同(1)同一个线程可以对RLock请求多次,且RLock必须是本线程;(2)如果用lock = threading.Lock(),则自动构成死锁,因为Lock只能…

2025-12-01 80,922

Python获取GIL锁的流程

1、流程(1)先尝试去获取互斥量mutex,如果获取失败,则循环监控locked状态,等待持有锁的线程释放锁(2)如果获取到互斥量,将locked状态置1,表示锁已被该线程持有,其…

2025-12-01 84,203

Python中如何切换GIL?

1、通过判断指令计数器切换GIL(1)python的解释器是在一个大的循环中逐个解析字节码指令;(2)每次循环开始都会检查一下_Py_Ticker的值。{     ...     …

2025-12-01 37,376