本文共 2703 字,大约阅读时间需要 9 分钟。
if __name__ == 'main' 的理解__name__ 是当前模块名,当模块被直接运行时,模块名为 __main__,此时代码将执行。如果模块被导入其他模块运行,模块名则不是 __main__,此时代码不会执行。
a. 引用计数机制
Python内部使用引用计数来追踪内存中的对象。当对象被创建时,创建一个引用计数。当对象不再被引用时,引用计数归零,对象被垃圾回收。b. 垃圾回收
c. 内存池机制
Python使用内存池机制来管理内存。# 使用set函数list = [1, 3, 4, 5, 51, 2, 3]unique_list = list(set(list))print(unique_list)# 使用字典函数a = [1, 2, 4, 2, 4, 5, 6, 5, 7, 8, 9, 0]b = {}b = dict.fromkeys(a)c = list(b.keys())print(c) list()或copy()模块的copy()函数进行完全切片。copy()模块的deepcopy()函数进行深拷贝。except 的用法与作用except 用于处理异常。
try下的代码正常执行时,会执行except对应的语句。except匹配,则执行相应语句。except都不匹配,异常会传递到上层try。try正常执行,且存在else块,则执行else代码。__new__ 与 __init__ 的区别__new__:在对象创建时调用,返回对象实例。可以用于实现单例模式。__init__:在对象创建后调用,对对象进行初始化,无返回值。urllib 与 urllib2 的区别urllib:只能通过URL发送请求,无法设置请求头,无法伪装User-Agent。urllib2:支持通过Request类设置headers,伪装User-Agent。urllib:提供urlencode()函数,用于生成GET查询字符串。基于Session的登录验证需要使用浏览器模拟工具(如Selenium)进行抓取,确保每次请求都携带有效Session cookie。
urllib、urllib2、requests。re、xpath、Beautiful Soup、Lxml。常用的爬虫框架包括Scrapy、Selenium、Beautiful Soup等。选择框架时需根据项目需求和复杂度进行权衡。
gunicorn)。virtualenv)或容器化工具(如Docker)。class Singleton(object): _instance = None def __new__(cls, *args, **kw): if not cls._instance: cls._instance = super(Singleton, cls).__new__(cls, *args, **kw) return cls._instance def __init__(self, a): self.a = a @classmethod def get_instance(cls): return cls._instance def some_method(self): print("Singleton instance:", self.a) # 启动脚本./start.sh# 停止脚本./stop.sh# 检查状态./status.sh
asyncio处理I/O等待任务。lambda x, y: x + ya = lambda x, y: x + yprint(a(3, 11)) # 输出14
转载地址:http://ezlfk.baihongyu.com/