当前位置: 首页 > article >正文

分享6 个值得收藏的 Python 代码

1、类有两个方法一个是 new,一个是 init,有什么区别哪个会先执行呢1classtest(object):​​​def__init__(self):​​​print(test - __init__)​​​def__new__(cls):​​​print(test -__new__)​​​returnsuper().__new__(cls)​​​​​atest()运行结果如下test -__new__​​​test - __init__再来看另一个例子1classtest2(object):​​​def__init__(self):​​​print(test2 - __init__)​​​ ​​​def__new__(cls):​​​print(test2 -__new__)​​​returnobject()​​​ ​​​btest2()运行结果如下test2 -__new__这里给出官方的解释init作用是类实例进行初始化第一个参数为 self代表对象本身可以没有返回值。new 则是返回一个新的类的实例第一个参数是 cls 代表该类本身必须有返回值。很明显类先实例化才能产能对象显然是new先执行然后再init实际上只要 new 返回的是类本身的实例它会自动调用 init 进行初始化。但是有例外如果 new 返回的是其他类的实例则它不会调用当前类的 init。下面我们分别输出下对象 a 和对象 b 的类型1print(type(a))​​​#class __main__.test​ ​​print( type(b))​​​#class object可以看出a 是 test 类的一个对象而 b 就是object的对象。2、map 函数返回的对象map函数第一个参数是 fun第二个参数是一般是 list第三个参数可以写 list也可以不写作用就是对列表中 list 的每个元素顺序调用函数fun。1 bmap(lambdax:x*x,[1,2,3])​​​ [iforiinb]​​​[1,4,9]​​​ [iforiinb]​​​[]​​​有没有发现第二次输出 b 中的元素时发现变成空了。原因是map()函数返回的是一个迭代器并用对返回结果使用了 yield这样做的目的在于节省内存。举个例子1#encoding:UTF-8 ​​​def yield_test(n): ​​​ for i in range(n): ​​​ yield call(i) ​​​ #做一些其它的事情 ​​​ ​def call(i): ​​​ return i*2 ​​​ ​​#使用for循环 ​​​x yield_test(5)​​​print([i for i in x])​​​print([i for i in x])执行结果为[0, 2, 4, 6, 8]​​​ []这里如果不用yield那么在列表中的元素非常大时将会全部装入内存这是非常浪费内存的同时也会降低效率。3、正则表达式中 compile 是否多此一举比如现在有个需求对于文本中国用正则匹配出标签里面的“中国”其中 class 的类名是不确定的。有两种方法代码如下1importre​​ textdiv classnam中国/div​​​#方法一​​​...​​​ re.findall(div class.*(.*)/div,text)​​​[中国]​​​ #方法二​​​...​​​ regexdiv class.*(.*)/div​​​ pattern re.compile(regex)​​​ re.findall(pattern,text)​​​[中国]​​​这里为什么要用compile多写两行代码呢 原因是compile将正则表达式编译成一个对象加快速度并重复使用。4、[[1,2],[3,4],[5,6]]一行代码展开该列表得出[1,2,3,4,5,6]1 [jforiin[[1,2],[3,4],[5,6]]forjini]​​​[1,2,3,4,5,6]​​​5、一行代码将字符串 - 插入到 abcdefg中每个字符的中间1-.join(abcdef)​​​a-b-c-d-e-f​​​这里也建议多使用os.path.join()来拼接操作系统的文件路径。6、zip 函数zip()函数在运算时会以一个或多个序列可迭代对象做为参数返回一个元组的列表。同时将这些序列中并排的元素配对。zip()参数可以接受任何类型的序列同时也可以有两个以上的参数;当传入参数的长度不同时zip能自动以最短序列长度为准进行截取获得元组。1 a[1,2]​​​ b(3,4)​​​zip(a,b)​​​zipobjectat0x000001A20201AA08​​​foriinzip(a,b):​​​...print(i)​​​...​​​(1,3到此这篇关于分享6 个值得收藏的Python代码的文章就介绍到这了

相关文章:

分享6 个值得收藏的 Python 代码

1、类有两个方法,一个是 new,一个是 init,有什么区别,哪个会先执行呢?1class test(object):​​​ def __init__(self):​​​ print("test -> __init__")​​​ def __new__(cls):​​​ print("test…...

DS4Windows:让PS4/PS5手柄在Windows上获得原生游戏体验的终极方案

DS4Windows:让PS4/PS5手柄在Windows上获得原生游戏体验的终极方案 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 你是否想在Windows电脑上使用PlayStation手柄,却…...

告别官方模板!手把手教你从零搭建CH32V003自定义工程(附目录结构规划)

从零构建CH32V003工程架构:打造可维护的嵌入式开发基石 当官方模板无法满足复杂项目需求时,如何从零开始构建一个既规范又灵活的工程结构?这不仅是技术问题,更是项目管理智慧的体现。对于使用CH32V003这类RISC-V内核MCU的中级开发…...

D3KeyHelper终极指南:5分钟掌握暗黑3智能按键宏,游戏效率提升300%

D3KeyHelper终极指南:5分钟掌握暗黑3智能按键宏,游戏效率提升300% 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑…...

ComfyUI ControlNet Aux预处理器终极配置指南:5步快速解决安装与运行问题

ComfyUI ControlNet Aux预处理器终极配置指南:5步快速解决安装与运行问题 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux ControlNet Aux预处理…...

深度强化学习在NLP中的应用与优化实践

1. 深度强化学习与自然语言理解的融合契机第一次看到"深度强化学习在自然语言理解中的应用"这个标题时,我的笔记本上立刻画出了两个交叉的圆圈。左边是带着Q-table图标的RL(强化学习),右边是贴着BERT标签的NLP&#xff…...

AI模型部署进阶:Docker容器化部署AI项目

什么是Docker容器化? 为什么AI部署需要容器化? 容器化部署AI项目的核心流程 容器化部署中的常见考量 常见误区与避坑指南...

别再只懂LRU了!深入聊聊LRU-K:它在数据库缓存里到底比LRU强在哪?(附C++代码示例)

从LRU到LRU-K:数据库缓存淘汰策略的进化逻辑与工程实践 当你的数据库查询突然变慢,当你的Web服务器开始频繁访问磁盘,背后往往隐藏着一个关键决策:缓存淘汰策略选择不当。在众多缓存淘汰算法中,LRU(Least …...

虚拟手柄驱动架构深度解析:vJoy内核级输入模拟技术

虚拟手柄驱动架构深度解析:vJoy内核级输入模拟技术 【免费下载链接】vJoy Virtual Joystick 项目地址: https://gitcode.com/gh_mirrors/vj/vJoy 在游戏开发、模拟训练和人机交互领域,物理输入设备的局限性始终是技术创新的瓶颈。传统手柄硬件成本…...

Docker 27车载部署必踩的9个坑,第7个导致某头部智驾平台批量召回ECU固件更新

第一章:Docker 27车载部署容器稳定性综述Docker 27(即 Docker v27.x 系列)作为面向边缘与车载场景深度优化的发行版,显著增强了容器在资源受限、网络波动、电源中断频发等车规级环境下的运行韧性。其内核调度器适配了 Linux CFS 的…...

基于libexpat的C语言XML流式解析实战:从原理到高性能应用

1. libexpat为何成为XML解析的首选利器 第一次接触XML解析是在十年前的一个物联网网关项目里,当时需要处理每秒上千条的传感器数据流。尝试过DOM解析器后,内存直接爆涨到2GB——这就是我遇见libexpat的契机。这个用纯C编写的小巧库,能在10MB内…...

收藏!程序员转行AI工程师的最佳时机与学习路线图,小白也能轻松上手

文章指出当前转行AI工程师并非末班车,企业更需能写代码且懂AI基础的全栈选手。建议程序员从需求出发,而非从理论入手,根据自身方向选择学习路径。文章强调后端、前端及数据开发背景的程序员在AI领域有天然优势,并提供了一套为期约…...

2026年心理学论文降AI工具推荐:实验研究和心理分析部分降AI方案

2026年心理学论文降AI工具推荐:实验研究和心理分析部分降AI方案 试过五款工具之后,现在固定用嘎嘎降AI(www.aigcleaner.com)。 价格4.8元一篇,实测知网从61%降到5.3%。心理学论文降AI选工具不用纠结太久,…...

小白程序员必看!掌握残差连接+层归一化,轻松入门大模型世界(收藏版)

本文详细介绍了深度学习中的残差连接和层归一化技术,解释了它们如何解决梯度消失/爆炸和网络退化问题。残差连接通过提供梯度高速公路和实现恒等映射,使网络能够深度扩展;层归一化则稳定训练过程,允许使用更大学习率。两者结合&am…...

5个必知技巧:用nxdumptool高效备份你的Switch游戏数据

5个必知技巧:用nxdumptool高效备份你的Switch游戏数据 【免费下载链接】nxdumptool Generates XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket dumps from Nintendo Switch gamecards and installed SD/eMMC titles. 项目地址: https://gitcode.com/gh_mirrors/nx/…...

tchMaterial-parser:中小学智慧教育平台电子课本下载终极指南

tchMaterial-parser:中小学智慧教育平台电子课本下载终极指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项…...

保姆级教程:在Windows上部署字节跳动Piano Transcription,把MP3钢琴曲一键转成MIDI

零基础Windows部署指南:用字节跳动Piano Transcription将钢琴曲转为MIDI 你是否收藏了许多优美的钢琴曲MP3,却苦于无法直接用于音乐创作或学习?字节跳动开源的Piano Transcription项目能将这些音频一键转换为可编辑的MIDI文件。本教程将手把…...

nli-MiniLM2-L6-H768惊艳案例:直播弹幕流每秒千条实时分类并生成话题热度词云

nli-MiniLM2-L6-H768惊艳案例:直播弹幕流每秒千条实时分类并生成话题热度词云 1. 项目背景与价值 在当今直播行业蓬勃发展的背景下,弹幕互动已成为用户参与的重要形式。然而,面对每秒上千条的弹幕数据流,传统的人工监控方式显得…...

Docker 27资源配额动态调整全链路拆解:从OCI runtime hook到runc v1.2.0配额注入机制(仅限内部技术白皮书级披露)

第一章:Docker 27资源配额动态调整全链路概览Docker 27(即 Docker Engine v27.x)引入了原生支持的运行时资源配额动态重配置能力,无需重启容器即可实时更新 CPU、内存、IO 及 PIDs 等核心限制。该机制依托于 cgroups v2 的可写接口…...

Windows HEIC缩略图终极解决方案:让资源管理器直接预览iPhone照片

Windows HEIC缩略图终极解决方案:让资源管理器直接预览iPhone照片 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 还…...

别再复制官网命令了!手把手教你为MX450显卡(CUDA 11.1)安装正确的PyTorch-GPU版本

别再复制官网命令了!手把手教你为MX450显卡(CUDA 11.1)安装正确的PyTorch-GPU版本 每次看到新手在论坛里抱怨"为什么我的PyTorch-GPU安装后还是显示CPU版本",我都会想起自己第一次在MX450显卡上踩过的坑。当时我花了整…...

实测10款降AI工具|去AI痕迹高效方法,附免费降AI技巧

前言:AI率动辄90%?降AI我踩过的坑全给你说透 各位正在赶论文的小伙伴看过来!最近被问得最多的问题,就是论文的AIGC检测率太高怎么办。毕竟现在大家写文献综述、整理实验背景,多多少少都会用AI工具搭个框架&#xff0c…...

如何查看Visual Studio中使用的C++的版本

现在的页面:在 解决方案资源管理器 里,右键单击项目名称:弹出上下文菜单,找到属性(在下方),点击:在左侧导航栏中找到 配置属性-》C/C》语言,在右侧找到 C语言标准&#x…...

别只盯着门锁!用ESP32-CAM+Arduino玩转5个超酷的人脸识别小项目

用ESP32-CAM玩转5个创意人脸识别项目:从智能相框到互动艺术 在创客圈里,ESP32-CAM正以惊人的性价比重新定义着嵌入式视觉的可能性。这块不足百元的小板子,搭载了双核处理器、WiFi/蓝牙模块和200万像素摄像头,配合Arduino生态的丰富…...

如何用开源工具重新定义游戏存档管理:暗黑破坏神2存档编辑器的技术实践

如何用开源工具重新定义游戏存档管理:暗黑破坏神2存档编辑器的技术实践 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 在数字游戏时代,游戏存档管理一直是玩家和技术爱好者关注的核心问题。特别是对于像…...

告别混乱视图:用Imaris的Section与Free Rotate功能快速‘摆正’你的3D图像

告别混乱视图:用Imaris的Section与Free Rotate功能快速‘摆正’你的3D图像 当你面对一个角度歪斜的3D细胞图像时,是否曾为无法在标准解剖平面上进行精确测量而苦恼?在神经突触的共聚焦扫描数据中,一个微小的旋转偏差可能导致突触间…...

CUDA 13编译失败?显存泄漏?核函数崩溃?——AI工程师必须掌握的5大隐性陷阱及3步诊断协议

更多请点击: https://intelliparadigm.com 第一章:CUDA 13编译失败?显存泄漏?核函数崩溃?——AI工程师必须掌握的5大隐性陷阱及3步诊断协议 陷阱一:CUDA 13.0 中 __host__ __device__ 函数签名不一致引发…...

VNC连上了但GUI应用打不开?手把手教你解决DISPLAY环境变量问题(以Swingbench为例)

VNC连接成功但GUI应用无法启动?深度解析DISPLAY环境变量问题 当你通过VNC成功连接到远程Linux服务器,却发现Swingbench等图形界面应用无法启动时,这种挫败感可能让人抓狂。本文将带你深入理解X Window系统的工作原理,并提供一套完…...

Python实战:用NetworkX可视化TSP问题,手把手教你实现最邻近与插入算法

Python实战:用NetworkX可视化TSP问题,手把手教你实现最邻近与插入算法 当你在规划一次跨越多个城市的旅行路线时,如何找到最短的路径?这就是经典的旅行商问题(TSP)。作为组合优化领域的著名难题&#xff0c…...

BERT模型实战指南:从原理到部署优化

1. BERT模型基础认知 2018年那个秋天,当BERT论文首次出现在arXiv上时,NLP领域的研究者们很快意识到:一个新时代到来了。这个基于Transformer架构的双向编码器表示模型,彻底改变了我们对语言模型预训练的理解。与传统的单向语言模型…...