
python
文章平均质量分 84
python语言
NickDeCodes
这个作者很懒,什么都没留下…
展开
-
python常见问题
FastAPI 是一个非常强大的工具,用于快速开发高性能的 API 服务。它支持异步编程,可以处理大量并发请求。通过自动文档生成,它也极大地简化了 API 的测试和前后端的协同开发工作。装饰器是 Python 中一个非常强大的功能,允许开发者以非常干净和模块化的方式增强函数功能。理解装饰器的工作原理可以帮助开发者写出更清晰、更有效、更 Pythonic 的代码。Python 的垃圾回收机制通过引用计数来实时回收无用对象,并通过标记-清除和分代收集来处理复杂情况如循环引用。原创 2024-04-29 10:55:08 · 676 阅读 · 0 评论 -
asyncio 并发编程
asyncio是 Python 中处理并发编程的强大工具,特别适合处理 I/O 密集型和高级别并发应用程序。通过使用asyncawait语法,asyncio使得异步代码易于编写和理解。asyncio的事件循环是异步编程的核心,它允许代码以非阻塞的方式执行多个操作。通过合理使用事件循环和相关的asyncioAPI,可以构建出高效的异步应用程序。任务的取消和子协程的调用是asyncio异步编程中的两个基本操作。任务取消允许你优雅地中断可能长时间运行的异步操作,而子协程的调用则是构建复杂异步应用程序的基石。原创 2024-04-29 10:48:59 · 866 阅读 · 0 评论 -
python协程和异步io
并发和并行处理多任务的方式不同,前者是任务交替执行,后者是真正同时执行。同步和异步关注任务处理的流程是否被阻塞。阻塞和非阻塞描述的是程序在等待调用结果时的行为。理解这些概念有助于开发者更好地设计和优化多任务处理和 I/O 密集型应用。通过使用async和await,Python 程序员可以有效地避免回调之痛,同时保持代码的清晰和简洁。这些工具也使得错误处理和测试变得更加简单。在现代 Python 异步编程中,推荐使用这些新的语言特性来处理并发和异步操作。原创 2024-04-29 10:37:45 · 642 阅读 · 0 评论 -
python多线程、多进程和线程池编程
Lock:适用于需要简单互斥的场景。RLock:适用于同一个线程需要多次获取同一锁的场景,例如递归调用。正确使用这些锁可以帮助避免多线程编程中的竞态条件和死锁问题,保证数据的一致性和程序的稳定性。原创 2024-04-28 23:34:26 · 844 阅读 · 1 评论 -
python socket编程
Python 中的 socket 编程是通过socket模块来实现的,它提供了标准的 BSD 套接字接口。使用 socket,你可以实现网络通信,创建客户端和服务器应用程序。这里,我将介绍如何在 Python 中使用 socket 创建一个简单的服务器和客户端。原创 2024-04-28 23:17:51 · 369 阅读 · 0 评论 -
python迭代器和生成器
在 Python 中,迭代器和可迭代对象是常用的概念,它们使得处理序列数据(如列表、元组等)和自定义数据结构变得更加灵活和高效。理解这两个概念对于高效地使用 Python 非常重要。可迭代对象可以是任何实现了__iter__()或方法的对象。__iter__()和__next__()。迭代器允许逐个处理集合中的元素,而可迭代对象提供了一种方式来获取一个可以实现这种逐个处理的迭代器。原创 2024-04-28 23:02:00 · 618 阅读 · 0 评论 -
python元类编程
使用property功能可以让你控制属性的访问和设置,增加数据验证,改变属性的内部实现而不影响外部调用代码。这是一种强大的封装和接口控制工具,可以帮助你编写更健壯、易于维护的代码。getattr属性描述符提供了一种强大的方法来控制属性的访问,它们在 Python 的很多高级特性中都有应用,如@property装饰器就是建立在描述符基础之上的。理解属性查找过程和描述符的工作原理是深入理解 Python 对象模型的关键。在 Python 中,元类是类的类,即它们定义了其他类的行为。原创 2024-04-28 22:51:46 · 844 阅读 · 0 评论 -
对象引用、可变性和垃圾回收
使用del语句可以删除对象的引用,从而可能导致对象的内存被释放,但它本身不执行内存回收。垃圾回收是 Python 自动进行的内存管理过程,用于回收没有被任何引用指向的对象的内存。在大多数情况下,Python 开发者不需要显式地介入垃圾回收过程,但了解其工作原理可以帮助优化内存使用和诊断内存相关的问题。原创 2024-04-28 19:01:17 · 676 阅读 · 0 评论 -
深入python的set和dict
dict类是 Python 中的一个非常强大的内置数据结构,它不仅实现了的所有方法,还通过继承链实现了其他几个重要的抽象基类的方法。这些抽象基类为dict提供了规范的行为和接口,使得dict可以与其他实现了相同接口的自定义类在多态性方面兼容。这种设计也便于开发者在创建自己的类时,通过继承或实现这些抽象基类来确保它们的类具有一致的接口和行为。Python 中的dict和set是基于高效的哈希表实现的,它们提供了快速的数据存取操作。原创 2024-04-28 18:56:27 · 848 阅读 · 0 评论 -
python自定义序列类
使用bisect模块可以高效地维护一个有序序列,特别是在需要频繁插入元素且希望保持序列有序的情况下。这个模块避免了每次插入元素后进行全排序的开销,使得操作更加高效。列表推导式:适用于创建列表,尤其是需要对元素进行变换或应用过滤条件时。生成器表达式:适用于处理大数据集,或当你不需要立即拥有所有数据,而是希望按需处理时。字典推导式:适用于构建键值对的映射,可以通过对键和值应用表达式来创建字典。这些工具都提供了强大的数据处理能力,使代码更加简洁和易于理解。原创 2024-04-28 18:50:09 · 841 阅读 · 1 评论 -
python深入理解类和对象
在设计类时,应根据变量是否应该由所有实例共享来选择使用类变量还是实例变量。类变量适合用于所有实例共享的属性(如公司所有员工的年度加薪比例),而实例变量适合用于每个实例独有的属性(如员工的姓名和工资)。数据封装和私有属性是面向对象编程中保护和隐藏数据的重要手段。封装使得对象的内部表示被隐藏起来,只暴露有限的接口与外界交互,而私有属性则提供了一种防止外部直接访问对象状态的方法。这些机制有助于降低系统的复杂性,并增强代码的安全性和可维护性。原创 2024-04-28 18:40:10 · 814 阅读 · 0 评论 -
python魔法函数示例
在 Python 中,魔法函数(也称为特殊方法)是以双下划线(__)开头和结尾的方法。它们允许开发者定义类的行为。原创 2023-12-07 17:43:47 · 269 阅读 · 0 评论 -
xiecheng_spider携程民宿爬虫
xiecheng_spider携程民宿爬虫获取URL由于携程网页由CSS编写,因此我们需要使用浏览器去跳转页面,这里我需要做一些准备工作1.安装谷歌浏览器驱动,链接如下。安装成功后要放在PATH路径下http://npm.taobao.org/mirrors/chromedriver/2.安装环境,这里我用的Python3.7# 我们需要使用其中的模块pip install s...原创 2020-02-09 11:41:33 · 1241 阅读 · 1 评论 -
基于urllib2库的小说爬取
urllib2库的基本使用所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 在Python中有很多库可以用来抓取网页,我们先学习urllib2。urllib2 是 Python2.7 自带的模块(不需要下载,导入即可使用)urllib2 官方文档:https://docs.python.org/2/library/urllib2.htmlurllib2 源码:...原创 2020-02-09 11:44:33 · 403 阅读 · 1 评论 -
Python 从剪贴板上传图片到阿里云Oss
Python 从剪贴板上传图片到阿里云Oss图床功能阿里云创建用户首先创建阿里云用户点击控制台,开通对象存储Oss功能新建Bucket存储点击头像,点击accesskeys创建密钥【建议使用子密钥】环境配置安装Python版本#安装Python SDKpip install oss2#安装PILpip install pillow#安装pyperclippip...原创 2020-02-09 11:45:54 · 223 阅读 · 1 评论