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中常用的四个小技巧总结相关推荐

  1. php页面开发,PHP网站开发中常用的8个小技巧

    这篇文章主要介绍了PHP网站开发中常用的8个小技巧,本文讲解了命名.使用.PHP判断Form表单是否提交.PHP 获取字符串长度.PHP超全局对象等内容,需要的朋友可以参考下 PHP是一种用于创建动态 ...

  2. 辨别 Python 中 load 和 loads 的小技巧

    load 和 loads 都是实现"反序列化",load 通过 json.load(open('*.json')) 这样的格式,从文件句柄中打开文件,加载到Python的变量中,并 ...

  3. Python中常用的一些操作总结(未完待续)update @ 2017-5-18

    写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西.或许有价值 ...

  4. python中template是什么意思啊_Python中Template使用的一个小技巧

    Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用. from string import Template s = Template("there ...

  5. python中常用的模块二

    一.序列化 指:在我们存储数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式,这个就是序列化, 不同的序列化结果不同,但目的是一样的,都是为了存储和传输. 一,pickle.可 ...

  6. 内存占用小的手机输入法_华为手机输入法中6个超实用的小技巧,你没用过就太可惜了!...

    阅读本文前,请您先点击上面蓝色字体"财经史"再点击"关注",这样您就可以免费收到我们的最新内容了,每天都会有更新,完全是免费订阅,请放心关注. 想必大家对华为手 ...

  7. 常用的一些javascript小技巧(收藏http://www.car371.com/article.asp?id=13)

    常用的一些javascript小技巧 作者:隆轩 日期:2005-12-21 字体大小: 小 中 大 //事件源对象 event.srcElement.tagName event.srcElement ...

  8. pytorch梯度下降函数_Pytorch中常用的四种优化器SGD、Momentum、RMSProp、Adam

    来源:AINLPer微信公众号 编辑: ShuYini 校稿: ShuYini 时间: 2019-8-16 引言     很多人在使用pytorch的时候都会遇到优化器选择的问题,今天就给大家介绍对比 ...

  9. MathType使用中的四个小技巧

    MathType是一种比较常见的数学公式编辑器,常常与office搭配着使用,我们在使用的时候有一些要注意的小技巧,下面我们就来给大家介绍介绍MathType使用中的四个小技巧? 技巧一:调整工具栏显 ...

  10. Java 中代码优化的 30 个小技巧(下)

    21 防止死循环 有些小伙伴看到这个标题,可能会感到有点意外,代码中不是应该避免死循环吗?为啥还是会产生死循环? 殊不知有些死循环是我们自己写的,例如下面这段代码: while(true) {if(c ...

最新文章

  1. integer是值传递还是引用传递_数据值Value传递-高位传递
  2. [CPyUG] Instagram被收购了一细看,python味很重的说。 - maolingzhi@gmail.com - Gmail
  3. XXXXX CodeForces - 1364A(思维)
  4. DataBinder.Eval数据绑定中的使用
  5. 月均数据_药品销售数据分析案例
  6. windows 安装docker_Windows下docker安装 postgresql12.0
  7. 解决在IDEA 的Maven下 出现 Cannot access in offline mode 问题
  8. 计算机网络网线制作工具有,网线制作工具 网线水晶头制作过程详解(视频+图文教程)...
  9. lammps案例:空位缺陷对石墨烯力学性能影响模拟
  10. pycharm新建python文件快捷键_Pycharm快捷键
  11. 程序员最喜欢的15款文本编辑器推荐
  12. Css3:选择器、字体和颜色样式
  13. Servlet生命周期详解
  14. Android 讯飞语音识别功能开发
  15. 马来酰亚胺和琥珀酰亚胺交联剂Sulfo-SMCC,CAS:92921-24-9的溶解性介绍
  16. 高德纳:盖茨亲自为他的书做推广
  17. 服务器开机一进系统就黑屏,win7系统开机在欢迎界面直接黑屏怎么办
  18. Jess的各种小问题
  19. Unity3D命令手册
  20. synaptic No protocol specified issue

热门文章

  1. linux系统开机自动锁定键盘,设置linux开机启动小键盘的详细教程设置linux开机启动小键盘的图文教程...
  2. ipad上的游戏服务器无响应,教你 game center无法连接服务器解决办法及iOS9.3.2公测版已修复GameCenter无响应bug...
  3. 禁止chrome更新呢
  4. 计算机的硬盘有几个区,电脑固态硬盘需要分区吗 分几个区比较好?
  5. 367. 有效的完全平方数【我亦无他唯手熟尔】
  6. ?Agilent.GoldenGate.RFIC.Simulation.2015.01.v4.9.0.Win64 1CD(RTL验证标准)
  7. 【Sql】sql server2008附加数据库:错误9003
  8. 岩七郎·小山馆の《圣童》章目概要
  9. Linux Canbus调试笔记
  10. linux虚拟机安装配置vsftpd,Linux 使用 vsftpd 搭建 FTP 服务器