• Python中常用的四个小技巧总结


    1.引言

    在编程世界中,相比其他语言使用Python语言进行编码非常简便,因为Python语法简单,功能强大。
    本文重点介绍Python中常见的五个小技巧,希望可以帮助大家快速提升编码效率。

    2.对元组进行解包

    假设我们有一个表示狗的列表,其中包含一些属性:

    dog = ["pipi", 6, "poodle", "male", "brown"]
    
    • 1

    如果元组解包不存在,那么我们获取相应的元素的代码如下:

    name = dog[0]
    age = dog[1]
    breed = dog[2]
    gender = dog[3]
    color = dog[4]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    上述写法当列表较小时,还没什么问题。但是随着列表的增大,情况会变得更糟。。。此时我们来看下使用元组解包操作后的代码,如下所示:

    name, age, breed, gender, color = dog
    
    • 1

    使用元组解包操作后,代码将变得非常简单,仅需一行代码即可,同时增加了代码的可读性。

    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"]],
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    通常我们会使用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']]]
    
    • 1

    输出一团糟,稍微改进后可视化效果:

    for dog in dogs:
        print(dog)
    # this prints each dog list line by line
    
    • 1
    • 2
    • 3

    但每次我想可视化这些数据时,都要编写for循环,这是一件相当麻烦的事。直到我发现pprint。

    from pprint import pprint
    pprint(dogs)
    
    • 1
    • 2

    使用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']]]
    
    • 1
    • 2
    • 3
    • 4

    4. 输出到文件中

    比如说,我们有一个小程序,可以打印很多东西,但我们不希望仅仅为了这个而引入日志logging 模块。在cmd/terminal中不停上下滚动可能又非常痛苦,此时我们可能希望将输出写入文件中。
    通常来说,写入文件的常用代码如下:

    with open("out.txt", "w") as f:
        f.write(stuff)
    
    • 1
    • 2

    但是我们也可以使用重定向的方式将输出写入文件中,如下所示:

    python run.py > out.txt
    
    • 1

    上述命令中的>out.txt告知Python来将print命令的输出写入到文件out.txt中。此时我们方便地将输出写入文件中而不在需要写麻烦的写诸如with open(filename ...)代码啦。

    5. 三元运算符

    假设我们需要将成绩score转换为grade

    score = 85
    if score >= 50:
        grade = "pass"
    else:
        grade = "fail"
    
    • 1
    • 2
    • 3
    • 4
    • 5

    为这个简单的逻辑编写多行代码有时会让人恼火。但幸运的是,Python有一个三元运算符,允许我们在一行中编写这个逻辑!如下所示:

    score = 85
    grade = "pass" if score>=50 else "fail"
    
    • 1
    • 2

    一个稍微复杂的示例:

    score = 85
    if score >= 75:
        grade = "A"
    elif score >= 50:
        grade = "B"
    else:
        grade = "F"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    使用三元运算符后的代码如下:

    score = 85
    grade = "A" if score>=75 else "B" if score>=50 else "F"
    
    • 1
    • 2

    6. 总结

    本文重点介绍了Python进行日常编码中常见的四个小技巧,通过例子对比介绍了其简洁性和功能强大性,希望大家在日常工作多多学以致用。

    在这里插入图片描述

  • 相关阅读:
    【JPCS出版】2022年第三届控制理论与应用国际会议(ICoCTA 2022)
    蓝桥杯 题库 简单 每日十题 day5
    MICCAI 2022:基于 MLP 的快速医学图像分割网络—UNeXt
    WIZnet 物联网设计大赛 - WizFi360大赛
    C++ Reference: Standard C++ Library reference: C Library: cstdio: ungetc
    [大三上]区块链和分布式计算
    为什么AirtestIDE的selenium Window突然无法检索控件了?
    多线程&并发篇---第十篇
    海康设备、LiveNVR等通过GB35114国密协议对接到LiveGBS GB28181/GB35114平台的详细操作说明
    Python里的f-string中的补齐
  • 原文地址:https://blog.csdn.net/sgzqc/article/details/125860201