![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python学习
文章平均质量分 71
一个不入流的程序员对Python的理解
双木林的林
这个作者很懒,什么都没留下…
展开
-
Python的继承
在面向对象编程(OOP)中,继承是一个强大且重要的概念。它允许我们基于现有类创建新类,从而实现代码的重用和结构化。本文将深入探讨Python中的继承,包括其基本概念、使用方法以及高级技巧。继承是一种机制,通过它,一个类(子类)可以继承另一个类(父类)的属性和方法。子类不仅可以使用父类的所有功能,还可以增加新的功能或者重写父类的功能。继承是Python面向对象编程中的一个核心概念,它使得代码更加模块化和可重用。通过理解和正确使用继承,我们可以创建更加复杂和功能丰富的程序。原创 2024-07-10 14:11:36 · 908 阅读 · 0 评论 -
Python的同步原语
在多线程编程中,同步原语(synchronization primitives)是确保线程安全和正确执行的关键。Python 提供了一些基础的同步原语,用于协调线程之间的访问和操作。Python的同步原语包括 Lock、RLock、Semaphore、Event 和 Condition,接下来简单介绍一下他们的使用Python 和其他语言哟杨,同步原语为多线程编程提供了强大的工具,以确保线程安全和正确执行。原创 2024-07-09 14:01:01 · 440 阅读 · 0 评论 -
Python的进程、线程、协程总结篇
进程:适用于CPU密集型任务,比如多路视频流处理,能够利用多核优势,但开销较大。线程:适用于I/O密集型任务,开销较小,但受GIL限制,无法实现真正的并行计算。协程:适用于I/O密集型任务,切换开销极低,但只能在单线程中运行。原创 2024-07-05 21:53:04 · 182 阅读 · 0 评论 -
Python的协程
在现代编程中,并发编程变得越来越重要。为了更有效地利用计算资源和提高程序的响应速度,开发者们需要掌握各种并发编程技术。Python 作为一门广泛使用的编程语言,自然也提供了多种并发编程的方法,其中协程(coroutines)是一个非常强大且灵活的工具。协程是一种比线程更加轻量级的并发编程方式,它允许函数在执行过程中暂停并恢复,从而使得多个任务可以交替进行。与线程不同的是,协程的切换完全由程序控制。原创 2024-07-05 17:49:54 · 513 阅读 · 0 评论 -
Python的线程
在Python中,线程(Thread)是比进程更轻量级的执行单位。一个进程可以包含多个线程,它们共享进程的内存空间和资源。Python提供了threading模块来创建和管理线程。线程是进程中的一个独立执行路径,一个进程可以包含多个线程,它们共享进程的资源和内存空间。在上面的使用中,不知道你发现没有,Python中线程和进程的使用语法上,基本是一样的,事实上,Python也是尽量保持两者语法上的一致性,到线程和进程是两个不同的概念。线程是执行单元进程是资源平台,但这两都是由操作系统来调度。原创 2024-07-04 10:22:56 · 385 阅读 · 0 评论 -
Python的进程
在Python中,进程(Process)是独立运行的程序实例,每个进程有自己独立的内存空间、文件描述符等资源。Python提供了multiprocessing模块用于多进程编程,可以方便地创建和管理进程。进程是操作系统分配资源和调度的基本单位。每个进程都有自己的内存空间,独立运行,并且无法直接与其他进程共享内存。进程的优点是稳定性高,一个进程的崩溃不会影响其他进程。缺点是进程间通信(IPC)比较复杂,且创建和切换进程的开销较大。我们电脑中每一个独立的应用,都是一个进程。牢记一点,进程是资源平台,是。原创 2024-07-04 09:44:05 · 119 阅读 · 0 评论 -
Python的深复制和浅复制
在Python编程中,理解对象的复制是至关重要的。Python提供了两种主要的复制方法:浅复制(shallow copy)和深复制(deep copy)。这两种方法在处理可变对象时有着显著的区别。下面我们简单看一下两者的使用。千夫指是指创建一个新对象,这个新对象是原对象的一部分或者全部的副本,但对于原对象中嵌套的对象(比如列表中的列表),浅复制仅仅复制它们的引用,也就是说浅复制不会递归复制所有的子对象。深复制则是创建一个新对象,并递归地复制所有子对象。原创 2024-06-24 16:37:33 · 222 阅读 · 0 评论 -
Python的可变类型和不可变类型
在编程语言中,数据类型是一个非常重要的概念。在 Python 中,数据类型分为两类:可变类型和不可变类型。理解这两类数据类型之间的区别及其使用场景,对于编写高效和可靠的代码至关重要。可变类型是指其值可以直接修改的类型。对这些对象的任何修改都会直接影响到原有的对象。列表(list)字典(dict)集合(set)下面以列表为示例,看一下可变类型特性print(lst1) #输出 [1,2,3,4]print(lst2) #输出 [1,2,3,4]print(True) #输出 True。原创 2024-06-22 14:26:44 · 349 阅读 · 0 评论 -
Python的with上下文管理
with我们可以使用__enter__和__exit__方法实现一个自定义的上下文管理器,下面示例实现一个简单的文件管理器# 处理异常(可选)# 返回 True 表示异常已处理,不再传播;返回 False 表示异常未处理,继续传播。原创 2024-06-19 10:51:00 · 346 阅读 · 0 评论 -
Python的装饰器和闭包
闭包是指在一个内部函数中,引用了外部函数的变量。即使外部函数已经返回,内部函数依然可以访问这些变量。外部函数一般返回内部函数。装饰器是一个函数,它接受另一个函数作为参数,并返回一个新函数。装饰器常用于在不改变原函数代码的情况下,扩展或修改函数的行为。原创 2024-06-18 09:24:11 · 433 阅读 · 0 评论 -
Python的迭代器和生成器
迭代器是实现了迭代器协议的对象,简单来说,就是实现了__iter__()和__next__()两个魔法函数(注:实现了**应该也是迭代器)。迭代器用于逐个访问容器的元素,而不用暴露容器的底层表示。生成器是简化迭代器创建的一种方法。生成器是使用yield关键字的函数,可以在每次迭代时生成一个值,而不是一次性返回所有值。生成器在每次生成值后会自动暂停并记住其位置,下一次调用时从暂停处继续执行。生成器可以理解为一种特殊的迭代器。原创 2024-06-17 21:41:14 · 255 阅读 · 0 评论