
Python
文章平均质量分 67
Python程序开发
Wallace Zhang
博客初衷:
将学习到的知识分享给大家,一起学习,同时自己又能再一次提高对知识的理解(费曼定理)
2011年 - 2018年(电气工程师,研发自动化设备)
2018年 - 2021年(电气工程师 + 电子工程师,研发机器人)
2021年 - 2024年(嵌入式MCU开发工程师,研发机器人)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python | Windows11通过离线方式安装pyserial
因公司网络访问的限制,没办法使用pip install pyserial去轻松地安装pyserial库。打开网页:https://pypi.org/project/pyserial/#files。原创 2025-06-06 23:14:11 · 447 阅读 · 0 评论 -
Python | 虚拟环境04 - Qt Creator设置Python虚拟环境
如上图所示,在Qt Creator里编译项目时,可以选择用系统里的python还是项目里python虚拟环境。如上所示,在左侧找到项目,构建设置是配置python3解析器的位置。如上所示,居然还可以创建一个新的python3虚拟环境。原创 2024-12-18 23:09:11 · 797 阅读 · 0 评论 -
Python | 虚拟环境03 - 必要性
虚拟环境的最重大意义是管理乱七八糟的第三方库。原创 2024-12-18 23:03:07 · 259 阅读 · 0 评论 -
Python | 虚拟环境02 - 创建与激活、去激活
对应的。原创 2024-12-18 22:55:27 · 367 阅读 · 0 评论 -
Python | 虚拟环境01 - 什么是虚拟环境、它的由来
学习python3虚拟环境,建议参考B站视频:https://www.bilibili.com/video/BV1V7411n7CM/?这位博主用了6个视频,每一个视频仅仅几分钟。居然把python3的虚拟环境讲明白了。虚拟环境(Virtual Environment)是Python中的一个独立的、隔离的Python运行环境。它就像是在您的计算机上创建了一个"小房间",这个房间里有:独立的Python解释器(python.exe)独立的包管理系统(pip.exe)原创 2024-12-18 22:41:17 · 611 阅读 · 0 评论 -
Python | threading05 - 使用有界信号量,实现线程间同步
文章目录一、前言二、ValueError异常2.1、测试有界信号量过多释放是否真的会产生ValueError异常三、生产者-消费者模型3.1、代码3.2、运行的结果一、前言上一节学习完信号量,接着继续学习有界信号量。首先看看python官方对有界信号量的描述:从官方的描述可以看到,release( )方法过多被调用时,就会产生ValueError异常。二、ValueError异常2.1、测试有界信号量过多释放是否真的会产生ValueError异常我在命令行测试了一下,过多的释放的确会产生原创 2022-01-16 20:07:00 · 758 阅读 · 0 评论 -
Python | threading04 - 使用信号量,实现线程间同步
文章目录一、前言二、生产者-消费者模型2.1、代码2.2、运行的结果2.3、Semaphore没有设置上限值一、前言先说一下信号量与互斥量之间的关系。信号量的一个特殊的应用是互斥锁(互斥量),当信号量的最大数量是1时,它跟互斥锁(互斥量)的作用相同。以下摘自《python并行编程》中文版:二、生产者-消费者模型本次的代码目的如下:生成者producer每隔3秒时间同步一次消费者1(customer1)与消费者2(customer2)。消费者1(customer1)与消费者2(custo原创 2022-01-16 20:00:10 · 1794 阅读 · 0 评论 -
Python | threading03 - 使用条件对象,实现线程间的同步
文章目录一、前言二、生产者-消费者的模型2.1、代码2.2、运行2.3、wait( )方法会将互斥锁释放三、条件同步 - threading.Condition( )3.1、相关API3.2、acquire( )3.2、release( )3.3、wait( )3.4、notify(n=1)3.5、notify_all( )3.6、wait_for(predicate,timeout=None)一、前言上一篇博文学习了线程的互斥锁(Python | threading02 - 互斥锁解决多个线程之间随原创 2022-01-09 00:29:47 · 1233 阅读 · 0 评论 -
Python | threading02 - 互斥锁解决多个线程之间随机调度,造成“线程不安全”的问题。
文章目录一、前言二、线程不安全的现象2.1、代码2.2、运行三、使用互斥锁解决线程不安全3.1、代码3.2、运行四、忘记释放互斥锁,造成死锁4.1、代码4.2、运行五、with语句拯救粗心的人类5.1、with语句在互斥锁上的使用5.3、运行的结果一、前言多线程的优势在于并发性,即可以同时运行多个任务。但是当线程需要使用共享数据时,也可能会由于数据不同步产生“错误情况”,这是由系统的线程调度具有一定的随机性造成的。由于线程之间的任务执行是CPU进行随机调度的,并且每个线程可能只执行了n条指令之原创 2022-01-03 01:23:39 · 3706 阅读 · 0 评论 -
Python | threading01 - 创建两个同时运行的子线程
文章目录一、前言二、创建两个同时运行的线程2.1、代码2.2、运行三、threading库的函数3.1、threading.Thread()3.2、threading.join()3.3、threading.start()四、最终的完整代码一、前言使用threading库,咱们的python程序就能从单线程串行变成多线程并发。python的threading库实现的“并发”是假的并发,即同一时刻只有一个线程在运行。据说python后来想将这个假的“并发”改为真的并发,但出现特别多的BUG,最后放弃了原创 2022-01-02 20:22:02 · 7992 阅读 · 0 评论 -
Python | Socket02 - 使用with语句建立一个TCP服务器(阻塞+单线程),将TCP客户端发过来的字符串原路返回
一、前言Python | Socket01 - 创建一个TCP服务器(阻塞+单线程),将TCP客户端发过来的字符串原路返回在上一篇博文完成TCP服务器简单的收发程序后,发现在Python上有更加简洁的方式来实现,使用with语法提供的上下文管理器。该程序的功能还是跟上一篇博文一样。二、代码import socketdef main(): # 使用with语句创建并管理一个套接字对象tcp_Server with socket.socket(socket.AF_INET,so原创 2021-12-17 18:43:14 · 1641 阅读 · 0 评论 -
Python | Socket01 - 创建一个TCP服务器(阻塞+单线程),将TCP客户端发过来的字符串原路返回
一、前言使用Python可以很简单地创建一个TCP服务器程序,该TCP服务器的程序目的是完成这个功能:TCP客户端发送一段字符串给TCP服务端,TCP服务端将字符串原路返回去。我是从该B站视频教程学习python的socket编程:https://www.bilibili.com/video/BV1Xx411R743?spm_id_from=333.999.0.0二、代码import socketdef main(): # 创建套接字tcp_Server_Socket t原创 2021-12-17 18:34:58 · 1751 阅读 · 0 评论