Python中常用的四个小技巧总结
1.引言
在编程世界中,相比其他语言使用Python语言进行编码非常简便,因为Python语法简单,功能强大。
本文重点介绍Python中常见的五个小技巧,希望可以帮助大家快速提升编码效率。
2.对元组进行解包
假设我们有一个表示狗的列表,其中包含一些属性:
dog = ["pipi", 6, "poodle", "male", "brown"]
如果元组解包不存在,那么我们获取相应的元素的代码如下:
name = dog[0]
age = dog[1]
breed = dog[2]
gender = dog[3]
color = dog[4]
上述写法当列表较小时,还没什么问题。但是随着列表的增大,情况会变得更糟。。。此时我们来看下使用元组解包操作后的代码,如下所示:
name, age, breed, gender, color = dog
使用元组解包操作后,代码将变得非常简单,仅需一行代码即可,同时增加了代码的可读性。
3. Pprint
假设我们有一个多层嵌套的列表,如下所示:
dogs = [["pipi", 6, "poodle", "male", ["brown"]],["rocky", 8, "german shepherd", "male", ["brown", "black"]],["fifi", 15, "german shepherd", "female", ["brown", "black"]],["lexi", 2, "mongrel", "female", ["yellow"]],
]
通常我们会使用print打印上述列表内容,如下:
[['pipi', 6, 'poodle', 'male', ['brown']], ['rocky', 8, 'german shepherd', 'male', ['brown', 'black']], ['fifi', 15, 'german shepherd', 'female', ['brown', 'black']], ['lexi', 2, 'mongrel', 'female', ['yellow']]]
输出一团糟,稍微改进后可视化效果:
for dog in dogs:print(dog)
# this prints each dog list line by line
但每次我想可视化这些数据时,都要编写for循环,这是一件相当麻烦的事。直到我发现pprint。
from pprint import pprint
pprint(dogs)
使用pprint
输出会更加美观,并且无需编写for循环即可进行打印,如下:
[['pipi', 6, 'poodle', 'male', ['brown']],['rocky', 8, 'german shepherd', 'male', ['brown', 'black']],['fifi', 15, 'german shepherd', 'female', ['brown', 'black']],['lexi', 2, 'mongrel', 'female', ['yellow']]]
4. 输出到文件中
比如说,我们有一个小程序,可以打印很多东西,但我们不希望仅仅为了这个而引入日志logging
模块。在cmd/terminal
中不停上下滚动可能又非常痛苦,此时我们可能希望将输出写入文件中。
通常来说,写入文件的常用代码如下:
with open("out.txt", "w") as f:f.write(stuff)
但是我们也可以使用重定向的方式将输出写入文件中,如下所示:
python run.py > out.txt
上述命令中的>out.txt
告知Python来将print
命令的输出写入到文件out.txt
中。此时我们方便地将输出写入文件中而不在需要写麻烦的写诸如with open(filename ...)
代码啦。
5. 三元运算符
假设我们需要将成绩score
转换为grade
:
score = 85
if score >= 50:grade = "pass"
else:grade = "fail"
为这个简单的逻辑编写多行代码有时会让人恼火。但幸运的是,Python有一个三元运算符,允许我们在一行中编写这个逻辑!如下所示:
score = 85
grade = "pass" if score>=50 else "fail"
一个稍微复杂的示例:
score = 85
if score >= 75:grade = "A"
elif score >= 50:grade = "B"
else:grade = "F"
使用三元运算符后的代码如下:
score = 85
grade = "A" if score>=75 else "B" if score>=50 else "F"
6. 总结
本文重点介绍了Python进行日常编码中常见的四个小技巧,通过例子对比介绍了其简洁性和功能强大性,希望大家在日常工作多多学以致用。
Python中常用的四个小技巧总结相关推荐
- php页面开发,PHP网站开发中常用的8个小技巧
这篇文章主要介绍了PHP网站开发中常用的8个小技巧,本文讲解了命名.使用.PHP判断Form表单是否提交.PHP 获取字符串长度.PHP超全局对象等内容,需要的朋友可以参考下 PHP是一种用于创建动态 ...
- 辨别 Python 中 load 和 loads 的小技巧
load 和 loads 都是实现"反序列化",load 通过 json.load(open('*.json')) 这样的格式,从文件句柄中打开文件,加载到Python的变量中,并 ...
- Python中常用的一些操作总结(未完待续)update @ 2017-5-18
写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西.或许有价值 ...
- python中template是什么意思啊_Python中Template使用的一个小技巧
Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用. from string import Template s = Template("there ...
- python中常用的模块二
一.序列化 指:在我们存储数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式,这个就是序列化, 不同的序列化结果不同,但目的是一样的,都是为了存储和传输. 一,pickle.可 ...
- 内存占用小的手机输入法_华为手机输入法中6个超实用的小技巧,你没用过就太可惜了!...
阅读本文前,请您先点击上面蓝色字体"财经史"再点击"关注",这样您就可以免费收到我们的最新内容了,每天都会有更新,完全是免费订阅,请放心关注. 想必大家对华为手 ...
- 常用的一些javascript小技巧(收藏http://www.car371.com/article.asp?id=13)
常用的一些javascript小技巧 作者:隆轩 日期:2005-12-21 字体大小: 小 中 大 //事件源对象 event.srcElement.tagName event.srcElement ...
- pytorch梯度下降函数_Pytorch中常用的四种优化器SGD、Momentum、RMSProp、Adam
来源:AINLPer微信公众号 编辑: ShuYini 校稿: ShuYini 时间: 2019-8-16 引言 很多人在使用pytorch的时候都会遇到优化器选择的问题,今天就给大家介绍对比 ...
- MathType使用中的四个小技巧
MathType是一种比较常见的数学公式编辑器,常常与office搭配着使用,我们在使用的时候有一些要注意的小技巧,下面我们就来给大家介绍介绍MathType使用中的四个小技巧? 技巧一:调整工具栏显 ...
- Java 中代码优化的 30 个小技巧(下)
21 防止死循环 有些小伙伴看到这个标题,可能会感到有点意外,代码中不是应该避免死循环吗?为啥还是会产生死循环? 殊不知有些死循环是我们自己写的,例如下面这段代码: while(true) {if(c ...
最新文章
- integer是值传递还是引用传递_数据值Value传递-高位传递
- [CPyUG] Instagram被收购了一细看,python味很重的说。 - maolingzhi@gmail.com - Gmail
- XXXXX CodeForces - 1364A(思维)
- DataBinder.Eval数据绑定中的使用
- 月均数据_药品销售数据分析案例
- windows 安装docker_Windows下docker安装 postgresql12.0
- 解决在IDEA 的Maven下 出现 Cannot access in offline mode 问题
- 计算机网络网线制作工具有,网线制作工具 网线水晶头制作过程详解(视频+图文教程)...
- lammps案例:空位缺陷对石墨烯力学性能影响模拟
- pycharm新建python文件快捷键_Pycharm快捷键
- 程序员最喜欢的15款文本编辑器推荐
- Css3:选择器、字体和颜色样式
- Servlet生命周期详解
- Android 讯飞语音识别功能开发
- 马来酰亚胺和琥珀酰亚胺交联剂Sulfo-SMCC,CAS:92921-24-9的溶解性介绍
- 高德纳:盖茨亲自为他的书做推广
- 服务器开机一进系统就黑屏,win7系统开机在欢迎界面直接黑屏怎么办
- Jess的各种小问题
- Unity3D命令手册
- synaptic No protocol specified issue
热门文章
- linux系统开机自动锁定键盘,设置linux开机启动小键盘的详细教程设置linux开机启动小键盘的图文教程...
- ipad上的游戏服务器无响应,教你 game center无法连接服务器解决办法及iOS9.3.2公测版已修复GameCenter无响应bug...
- 禁止chrome更新呢
- 计算机的硬盘有几个区,电脑固态硬盘需要分区吗 分几个区比较好?
- 367. 有效的完全平方数【我亦无他唯手熟尔】
- ?Agilent.GoldenGate.RFIC.Simulation.2015.01.v4.9.0.Win64 1CD(RTL验证标准)
- 【Sql】sql server2008附加数据库:错误9003
- 岩七郎·小山馆の《圣童》章目概要
- Linux Canbus调试笔记
- linux虚拟机安装配置vsftpd,Linux 使用 vsftpd 搭建 FTP 服务器