python骨灰技巧_值得收藏!20个Python奇技淫巧,让你受益匪浅!-程序员宅基地

技术标签: python骨灰技巧  

Python作为一门灵活、充满技巧的语言,有着很多奇技淫巧,今天小编就跟大家分享一下 小编在平时的学习工作中所积累的技巧,这里面既有语法上的技巧,也有库函数的应用,可以帮助大家在平时的工作中提升效率,规避某些错误,一起来看看吧。

01.列表内容转字符串

6fc05bffd023594f80e016bef2887038.png

在日常工作中,经常会遇到将列表转换为字符串的情况,而列表中会存在字符串、数字等类型的数据,通过map将列表中元素转换成str类型,然后通过join函数就可以完成列表到字符串的转换。

02.频率统计

38efac5fef2293fdc3b57ed2f79152e3.png

在进行数据分析时,经常会用到频率统计,通过Python内置库collections中的Counter函数,可以快速实现频率统计。

3.繁体字转简体字

a7a5e2315e6fd00857380f6f9710ccf4.png

通过langconv.py和zh_wiki.py两个脚本,就可以实现繁体字转简体字的函数。

4.文件查阅

4d98b43c461cd66be5d504c1f9d8c0f8.png

通过glob库可以查询某文件夹下所有的文件,然后通过对文件的类型进行判断,可以输出某些特定类型的文件。

5.变量交换

c31efc45fed6e5356406d35ab36bc9f3.png

变量交换,是很多编程语言容易掉进去的坑,但是在Python语言中,可以很轻松的实现变量交换。

6.可变的默认参数

c6d91629e242d3b1c560559c74c2c391.png

7.时间戳转日期

c6a115fc4b34fb6be5acb2ebd6055725.png

在进行时间的处理时,常常会用到时间戳和时间的转换,利用time库中的函数,可以帮助我们快速实现时间戳的转换。

8.字典值得获取

64ea58d8acb7bba50018a0594a401d16.png

在字典数值获取时,我们有时候不知道字典中是否有某个键值,利用get函数来进行获取,如果有的话,就返回数值,如果没有的话就返回默认值(上述默认值为0)。这样便会提升程序的 鲁棒性。

9.获取列表中出现次数最多的元素

36e6fac19bdbc4d2f505ddf8ce1c751f.png

对于列表中出现最多元素的获取,可以利用列表的数量统计来判断,也可以利用Counter来实现。

10.变量类型、地址和内存占用量

787c4222e41fe5e6cd8f4e2bc2bf656a.png

通过type、id和sys.getsizeof可以分别查看变量的类型、地址和占用的字节大小。

11.随机验证码的生成

a32115a50d800dc3b80dc134b22c12db.png

对于随机验证码的生成,可以有很多的变化,例如随机字母,数字的组合,在 平时的工作中也会经常用到。

12.中文提取

5a46c37546e97f378f66e1ed98665023.png

通过正则表达式的匹配,可以在复杂的文本中提取中文词句,提升效率。

13.巧用eval函数

1b8a3d1067e6421d23fca23818ebc06e.png

eval是P ython的内置函数,它的作用是将传入字符串的表达式进行结果计算,并返回结果。

14.进度条的显示

对于进度条的显示,可以利用progressbar库或者是tqdm库两种方式进行实现。

15.用列表“找茬”

73fa5318ab799601a4cd2ec85bf969a9.png

通过set和Python中的位运算,一行代码就可以筛选出两个不同的列表之间相同的元素和不同的元素,非常的方便。

16.利用好zip

a85a26c2ae633d78e76812e1af6a9172.png

利用zip函数,可以将两个列表合并成字典,或者是直接对两个列表的数值进行操作,需要注意的是,zip函数会以长度小的列表为基准来进行操作。

17.字符串的反转

69d6b55fd643e3ced7029a583f5792ad.png

对于字符串的反转,可以采用切片处理,或者利用Python内置的reversed函数来实现。

18.匿名函数

6029f4966fb18417e211cd4ac87f15fd.png

匿名函数可以让我们在函数定义时不需要显式的定义函数,同样 可以完成常规函数的功能。

19.去除列表中重复元素

c2821a1cc9935b21a0c476a5d9c1536a.png

在列表去重中要善于利用set的特性来帮助我们去除重复的元素。

20.安全的打开文件

004869477374b72edc5333cf06ac7780.png

在程序中,对于文件流对象的使用,为了防止文件打开失败,或者是文件使用完毕后忘记调用close函数来关闭流对象,建议大家使用with...as的方式来打开文件,这样在with语句块使用完毕后,程序会自动帮助我们关闭文件。

同时在文件调用时,建议大家根据不同的文件调用方式来命名,例如对于文件读取使用“fr",文件的写入使用"fw",文件末尾插入采用"fa"来命名,方便自己来区分。

总结

以上就是小编为大家分享自己所收藏的 20个奇技淫巧,大家还有什么Python的技巧呢,欢迎在下方留言,吱一声哦。

菜鸟编程大本营,已经正式上线

专注于分享趣味的编程技巧,不限于Java, Python ,Go, Java等语言,让菜鸟爱上编程,进阶成为高手,欢迎关注。

菜鸟编程本营,从菜鸟进阶高手

点这里,获取新手福利

!!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34357833/article/details/113680544

智能推荐

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

OKHTTP3的依赖包与 权限_okhttp3 依赖包-程序员宅基地

文章浏览阅读2.1k次。依赖包: compile 'com.squareup.okio:okio:1.5.0' compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' compile 'com.google.code.gson:gson:2.8.2'_okhttp3 依赖包

Windows 10 桌面路径修改问题解决方案_无法更改桌面路径-程序员宅基地

文章浏览阅读150次。最近我遇到了一个问题,我在 Windows 10 上不小心修改了桌面路径,但现在无法将其改回原来的路径。我想知道如何通过编程来解决这个问题。要解决这个问题,我们可以使用编程来修改桌面路径。下面是一个使用 Python 编程语言的示例,演示了如何通过注册表修改桌面路径。在修改桌面路径后,你可能需要重新启动 Windows Explorer 进程以使更改生效。如果你有任何其他问题,请随时提问。注意:在运行以上代码之前,请确保你具有管理员权限。函数来将桌面路径修改为新路径。变量设置为你想要的新路径,并调用。_无法更改桌面路径

VoLTE的前世今生...说清楚VoIP、VoLTE、CSFB、VoWiFi、SIP、IMS那些事_volte视频转语音原因-程序员宅基地

文章浏览阅读1.4k次,点赞3次,收藏22次。VoLTE就像一位优雅的败家姑娘,千呼万唤使出来!难免有人会在VoLTE与VoIP之间打量对比。关于两者之间的对比分析太多,尽管如此,也是依然一头雾水。我们今天就从她们的前世说起,希望能够说清楚关于VoIP、VoLTE、CSFB、VoWiFi、SIP、IMS那些事...从VoIP到VoLTE观察家们认为VoIP的出现起始于1995年,那个时候GSM刚进入中国。20年来,VoIP语音服..._volte视频转语音原因

JAVA中使用JSON进行数据传递_java 如何实现 动态json里面有个json 想js 一样进行连点拿去数据-程序员宅基地

文章浏览阅读773次。最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作。其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JSON字符串来传递数据并在WEB前端或者Android客户端使用JSON来解析接收到的数据。首先,在JAVA中使用JSON需要引入 org.json 包(点击这里 可以下载相应的JAR包!_java 如何实现 动态json里面有个json 想js 一样进行连点拿去数据

java对接Modbus_java modbus-程序员宅基地

文章浏览阅读1.6k次,点赞3次,收藏11次。Modbus是一种单主站的主/从通信模式,它定义了一种通讯规范,用于在工业自动化系统中实现设备之间的数据交换。Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,而从站的地址范围为0-247,其中0为广播地址,从站的实际地址范围为1-247。Modbus通信协议可以通过多种传输方式传播,如RS232C、RS485、光纤和无线电等。它具有两种串行传输模式,即ASCII和RTU,它们定义了数据如何打包和解码的方式。_java modbus

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数