python基础
文章平均质量分 93
python基础
海哥python
专注服务端技术分享,欢迎一起交流学习!
展开
-
Python异常处理:基础到进阶的实用指南
大家好,我是海鸽。异常处理在工程文件中必不可少,今天就带大家彻底搞定python的异常处理。在Python中,异常是指在程序执行过程中出现的错误或异常情况。当Python解释器无法执行代码时,它会引发异常,这可能是由于语法错误、运行时错误或逻辑错误等原因引起的。自定义异常通常被用于特定的情况或者错误类型,以便能够更清晰地识别和处理特定类型的问题。def __init__(self, message="这是一个自定义异常"):在这个例子中,我们创建了一个名为的自定义异常类,它继承自Python。原创 2024-04-01 16:11:58 · 592 阅读 · 0 评论 -
Python方法链调用的优雅之处
在日常的Python开发中,我们经常会遇到需要对一个对象进行一系列的操作,然后得到最终结果的情况。而方法链调用()就是一种十分优雅的解决方案。例如:字符串的各种方法print("公众号:海哥python".strip().lower().title()) # 公众号:海哥Python方法链接是一种编程风格,其中多个方法调用按顺序发生。它消除了在每个中间步骤分配变量的痛苦,因为每个调用都对同一对象执行操作,然后将该对象返回到下一个调用。它可以减少整个代码的长度,因为不必创建无数变量。由于方法是按。原创 2024-03-21 13:37:41 · 704 阅读 · 0 评论 -
attrs,一个OOP编程的Python高效神器
大家好,这一期我想和大家分享一个OOP编程的高效神器:`attrs库`。原创 2024-02-19 18:39:08 · 1141 阅读 · 0 评论 -
60行python代码带你了解刘谦春晚魔术的奥秘
60行python代码带你了解刘谦春晚魔术的奥秘原创 2024-02-19 18:37:51 · 988 阅读 · 0 评论 -
【python3】多线程详解
返回当前存活的Thread对象数量。:返回当前线程的Thread对象。:列表形式返回所有存活的Thread对象。:返回主Thread对象。:线程的名字,没有语义,可以相同名称。:线程标识符,非零整数。:是否为守护线程。:是否存活。:开始线程活动。若多次调用抛出RuntimeError。:用来重载的,:等待直到线程正常或异常结束。尚未开始抛出RuntimeError:构造函数。原创 2024-02-04 17:42:01 · 1318 阅读 · 0 评论 -
【python】一文带你了解什么是dataclass?
通过对field()对象的剖析,我们可以指定属性:是否参与比较,是否参与hash计算等等。不过我们知道默认的比较顺序,我们也可以通过增加属性以实现按需比较的功能。而这个用于比较的属性位于数据类的第一个属性,并可以借助魔法函数实现灵活赋值。sort_index: tuple = field(init=False) # 添加一个 sort_index 字段,并设置为不在 __init__ 方法中初始化name: strgrade: str。原创 2024-01-26 19:03:48 · 923 阅读 · 0 评论 -
python包管理工具:pipenv的基本使用
很多语言都提供了环境隔离的支持,例如nodejs的,golang的go mod,python也有virtualenv和pyvenv等机制。为了建立依赖快照,通常会用命令生成一个requirements.txt文件,在一些场景下这种方式就可以满足需求,但是在复杂场景下requirements.txt就力不从心了。原创 2024-01-12 17:16:21 · 570 阅读 · 0 评论 -
python tcp socket中实现SSL/TLS认证
官话说SSL是安全套接层(secure sockets layer),TLS是SSL的继任者,叫传输层安全(transport layer security)。说白点,就是在明文的上层和TCP层之间加上一层加密,这样就保证上层信息传输的安全。如HTTP协议是明文传输,加上SSL层之后,就有了雅称HTTPS。它存在的唯一目的就是保证上层通讯安全的一套机制。原创 2024-01-11 18:50:23 · 1637 阅读 · 0 评论 -
【python】魔术方法大全(六)-- 模拟篇
这期我们接着聊聊拥有模拟功能的魔术方法。原创 2024-01-08 11:53:46 · 417 阅读 · 0 评论 -
【python】魔术方法大全(五)-- 运算篇
今天我们来聊聊魔术方法使用的精髓,叫做emulation。我们知道python中的类型系统叫做duck type。简单的说,就是他不去检查具体的这个对象是什么类型,而是检查这个对象有没有响应的功能。而python中有大量的魔术方法,就是给某一个对象加上相应的功能,接下来聊一聊emulating numeric types,也就是让你的类型实现一些数的功能。__add__原创 2024-01-06 11:45:05 · 448 阅读 · 0 评论 -
【python】魔术方法大全(三)-- 属性篇
这次我们主要来聊聊跟对象的属性有关的魔术方法。原创 2024-01-06 11:43:12 · 992 阅读 · 0 评论 -
【python】魔术方法大全(四)——类构建篇
方法是 Python 3 中新引入的一个元类方法,它在类定义之前被调用,用于创建用于存储类属性的字典。当定义一个数据描述符时,它通常是作为类中的一个属性来定义的,而属性名就是描述符的名称。是 Python 3.6 新增的一个特殊方法,用于在类定义时自动设置属性的名称。它是在数据描述符的定义中使用的,用于设置描述符属性的名称。方法会在访问泛型类型的类方法或静态方法时自动调用,并传入泛型类型的参数列表。是 Python 3.5 新增的一个特殊方法,用于在定义泛型类型时实现类型参数的协变或逆变。原创 2023-10-10 18:45:35 · 162 阅读 · 0 评论 -
【python】魔术方法大全(一)--基础篇
所谓魔法方法,它的官方的名字实际上叫,是Python的一种高级语法,允许你在类中自定义函数,并绑定到类的特殊方法中。比如在类A中自定义__str__()函数,则在调用str(A())时,会自动调用__str__()函数,并返回相应的结果。我们常常看到的这个名字,在官方的文档里是没有出现过的。当然无论是还是魔术方法,这些词都被广泛的使用着。所谓的魔术方法,是python提供的,让用户客制化一个类的方式,它顾名思义,就是定义在类里面的一些特殊的方法。这些。原创 2024-01-05 16:18:08 · 860 阅读 · 0 评论 -
【python】魔术方法大全(二)-- 比较篇
在python的内置数据结构中,比如说dict,或者list,尤其是integer、string、float,它们的rich comparison都是有良好的定义的。函数在 Python 中是非常重要的,它为我们提供了一种快速比较对象是否相等的方法,使我们能够在使用字典、集合等可哈希类型时,快速查找对象。如果y是x的衍生类,优先使用y的rich comparison的函数,否者优先使用x的函数。在python中,当你没有去写一个类的比较逻辑的时候,它默认比较两个对象的是否相等的方法是会默认调用。原创 2024-01-05 16:18:57 · 809 阅读 · 0 评论 -
【python】生成器是什么?
生成器是一种特殊的迭代器(注意这个逻辑关系反之不成立)。使用生成器,你可以写出来更加清晰的代码;合理使用生成器,可以降低内存占用、优化程序结构、提高程序速度。喜欢这篇文章的话,可以关注一下我的公众号『海哥python。原创 2024-01-04 18:20:10 · 1320 阅读 · 0 评论 -
善用Itertools,让你的python代码更整洁更优雅
大家好,我是海鸽。我们知道,在Python中,迭代器是一个非常强大的利器,可以更高效地处理数据。然而,当处理大量数据时,迭代器的效率可能受到影响。如果你还不清楚迭代器,你可以先温习下我的这篇文章。【python】对迭代器一知半解?为了解决这个问题,我们可以利用Python标准库中的itertools模块。itertools专门为处理迭代器而设计,提供了许多高效的函数,用于创建、组合和操作迭代器。每个函数都经过精心设计,以在内存使用和性能之间取得平衡,使其能够处理大型数据集。原创 2023-12-15 09:31:10 · 797 阅读 · 0 评论 -
【python】上下文管理器和with语句
有人认为Python中的with语句是一个晦涩难懂的特性,但是只要你了解了其背后的原理,就不会感觉到神秘了。with语句实际上是非常有用的特性,有助于编写清晰易读的Python代码。而上下文管理器存在的目的便是管理with语句,就像迭代器的存在是为了管理for语句一样。那么,究竟 with 语句要怎么用,与之相关的上下文管理器(context manager)是什么,它们之间又有着怎样的联系呢?在任何一门编程语言中,文件的输入输出数据库的连接断开等,都是很常见的资源管理操作。原创 2023-12-08 14:59:40 · 748 阅读 · 0 评论 -
pathlib,一个优雅的python库
如果你需要在 Python 里进行文件处理,那么标准库中的os和os.path兄弟俩一定是你无法避开的两个模块。它们提供了非常多与文件路径处理、文件读写、文件状态查看相关的工具函数。os.path一直是Python中处理路径事实上的标准,但它可能会显得有些繁琐。与之相比,pathlib模块提供了更简单、更直观的方式来完成绝大多数任务。在Python3.4开始,官方提供了pathlib面向对象的文件系统路径,核心的点在于面向对象, 这也是os.path和pathlib的本质区别。原创 2023-12-08 14:57:57 · 1024 阅读 · 0 评论 -
【python】对迭代器一知半解?
如果我们想在for loop里面使用链表的话,那我们就要自己把链表变成一个iterable。这段代码演示了如何自定义一个可迭代对象和对应的迭代器。首先,我们定义了一个Node类,表示一个节点,每个节点具有一个名称和一个指向下一个节点的引用。Node类实现了__iter__()方法,该方法返回一个迭代器对象。然后,我们定义了一个NodeIter类作为迭代器,它接收一个节点对象作为参数,并在__init__()方法中初始化当前节点。NodeIter类实现了__next__()方法,用于返回下一个节点。原创 2023-05-23 10:12:09 · 75 阅读 · 1 评论