
Python
文章平均质量分 77
Long_1979
这个作者很懒,什么都没留下…
展开
-
python中常见的面试题
Python的内存管理机制和垃圾回收机制为开发者提供了自动、高效的内存管理方案。通过引用计数和标记-清除算法的结合使用,以及分代回收的优化策略,Python能够有效地管理和回收内存资源,避免内存泄漏和资源浪费。这些机制允许开发者专注于编写代码逻辑,而无需过多关注内存管理的细节。在Python中,理解深拷贝(deep copy)和浅拷贝(shallow copy)之间的区别非常重要,尤其是在处理复杂数据结构(如列表、字典、嵌套对象等)时。这两种拷贝方式都用于复制对象,但它们在处理对象内部的引用时表现不同。原创 2024-07-20 00:39:15 · 917 阅读 · 0 评论 -
多线程和异步的对比
Python中的多线程和异步是两种不同的并发编程模型,它们在实现方式、性能、内存消耗以及使用场景上存在显著的差异。以下是对两者的详细解释以及它们之间的区别:定义:特点:缺点:使用场景:定义:特点:优点:使用场景:综上所述,多线程和异步是Python中两种不同的并发编程模型,它们在实现方式、性能、内存消耗以及使用场景上各有优势。选择哪种模型取决于具体的应用场景和需求。原创 2024-07-19 21:21:05 · 1154 阅读 · 1 评论 -
全局解释器锁(GIL, Global Interpreter Lock)和线程锁(也称为互斥锁)
全局解释器锁(GIL)是Python解释器级别的锁,用于保证同一时刻只有一个线程在执行Python字节码,主要影响的是Python多线程在CPU密集型任务上的并行执行能力。线程锁(互斥锁)是一种用于保护共享资源或临界区的同步机制,用于防止多个线程同时访问或修改数据,确保数据的一致性和线程安全。两者在Python并发编程中扮演着不同的角色,但都是实现线程安全和资源保护的重要手段。原创 2024-07-19 21:11:09 · 492 阅读 · 0 评论 -
pytest自动化测试案例
简单易用:Pytest 提供了简洁的语法和易于理解的测试代码结构,使得编写测试用例变得简单直观。丰富的插件支持:Pytest 提供了丰富的插件系统,可以扩展其功能,例如生成测试报告、集成其他测试工具等。自动发现测试用例:Pytest 可以自动发现项目中的测试用例,无需繁琐的配置,只需按照规范命名测试文件和测试函数即可。丰富的断言库:Pytest 内置了丰富的断言方法,可以轻松地进行结果验证,包括比较值、异常捕获等。原创 2024-03-08 10:52:25 · 1572 阅读 · 1 评论 -
爬取西安二手房数据(多线程版)
目前房源数据作为人们都经常讨论的话题,房源数据又分为新房和二手房,而二手房想对于新房来说,不管是价格还是其他方面,对于居住地不稳定的打工来来说都是一个不错的选择。可以将指定的子串替换为新的子串,也可以指定替换次数。说明:get_house_data()方法:该方法用于获取每个房屋的详细信息,包括房屋标题、总价、单价、关注人数、发布时间等,并将数据存储到一个字典中。需要获取所指定内容,比如首页中的关注人数和发布月份,还有详情页中的总价和单价以及小区的所在位置和基本信息的获取,这些都是需要获取的文本内容。原创 2024-03-08 10:21:32 · 1046 阅读 · 0 评论 -
在命令框中输入pip list 报错解决措施——ImportError: cannot import name ‘InvalidSchemeCombination‘ from ‘pip._intern
2. 进入之后输入以下命令:curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py。3. 接着输入:python get-pip.py。再次输入:pip list 查结果。1. 进入命令行窗口。原创 2024-02-28 17:24:28 · 572 阅读 · 0 评论 -
Python中的闭包
一个函数定义中引用了函数定义以外的函数变量,并且该函数可以在函数定义外执行闭包其实就是一个函数内嵌在另一个函数内,并且这个内嵌函数可以在函数外被调用,而且该内嵌函数必须被返回。原创 2023-07-20 00:34:21 · 172 阅读 · 0 评论 -
Python中的property修饰器的用法
修饰器可以将一个方法转换为属性,使其可以像访问属性一样使用。通过@property修饰的方法被称为getter,用于获取属性的值。同时可以使用@property.setter修饰器定义一个setter方法,用于设置属性的值。说明:property的用法就是将某个特定的函数暴露出来,例如这里的age的上面使用了property修饰器就表示将age这个函数暴露出去,属性可以进行修改,当没有这个设置的时候,比如这里的name只设置了property,就表示只能对该属性进行读取操作,不能进行修改。原创 2023-07-19 19:06:39 · 167 阅读 · 0 评论 -
【超详细】Python的垃圾回收机制以及应用场景
当python的某个对象的引用计数降为0时,说明没有任何引用指向该对象,该对象就成为要被回收的垃圾,比如某个新建对象,被分配给某个应用,对象的引用计数为1,如果引用被删除,对象的引用计数会降为0.这时该对象就可以被垃圾回收(简单粗暴理解就是:当一个东西没有任何利用价值的时候,就会被当作垃圾进行回收处理)释放该对象占用的内存空间引用计数和隔代回收机制是Python中两种常用的垃圾回收机制。引用计数适用于轻量级的对象管理,能够及时回收对象并释放内存。原创 2023-07-18 18:20:36 · 1829 阅读 · 1 评论 -
简易的学生管理系统(并将py文件打包成exe文件)
每个学校都有自己的教学管理系统,其中关于学生而言,最关心的就是学生关系系统,因为一般每个学生都会在该系统中对自己的成绩进行查看,对于老师来说就可以对学生的成绩进行更改和填入,有时候需要对成绩或者人数进行统计,而整个系统是如何进行编写的呢?说明:首先按照一定的规则,找到符合该规则的数据,再对其进行修改,修改之后将数据进行保存处理,同样需要设置相应的提示信息,来表示修改是否成功。说明:对插入的数据或者已经修改之后的数据进行保存(方式多种,如csv,mysql数据库等,我这里使用的是使用文件存储)原创 2023-07-13 17:12:15 · 767 阅读 · 1 评论 -
爬取上海链家二手房数据信息并使用mysql进行保存
打开所要爬取的网页,进入网页源代码模式,按照自己的需求找到爬取的数据内容所在位置,接下来使用解析库对网页进行解析,得到所需要的数据内容。首先使用python的第三方库request按照网址获取该网页的所有信息,确保后面对代码进行检索的时候,不是空数据。1首先进入所要爬取的网址,打开该网页的源代码(F12或者鼠标右击单击检查),观察所要爬取的数据内容的代码特征。爬取的内容是:标题,房屋位置,房屋信息,价格(总价,真实价格),房屋标签。提取到数据之后,对数据进行存储,使用mysql。原创 2023-06-28 15:08:19 · 525 阅读 · 1 评论