java中的接口是类吗
249
2022-08-24
Python中常用的四个小技巧总结(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 pprintpprint(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. 输出到文件中
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 = 85if score >= 50: grade = "pass"else: grade = "fail"
为这个简单的逻辑编写多行代码有时会让人恼火。但幸运的是,Python有一个三元运算符,允许我们在一行中编写这个逻辑!如下所示:
score = 85grade = "pass" if score>=50 else "fail"
一个稍微复杂的示例:
score = 85if score >= 75: grade = "A"elif score >= 50: grade = "B"else: grade = "F"
使用三元运算符后的代码如下:
score = 85grade = "A" if score>=75 else "B" if score>=50 else "F"
6. 总结
本文重点介绍了Python进行日常编码中常见的四个小技巧,通过例子对比介绍了其简洁性和功能强大性,希望大家在日常工作多多学以致用。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~