• Python语法糖,提升编程幸福感!!!


    转载请注明出处❤️

    作者:测试蔡坨坨

    原文链接:caituotuo.top/a52bc938.html

    大家好,我是测试蔡坨坨。

    今天,我们来盘点一下Python中的那些语法糖。

    什么是语法糖?语法糖不是糖,而是编程语言中某些特殊的写法

    作为最体贴程序员的编程语言——Python,就有很多语法糖。

    有了这些特殊写法,可以让我们的代码写起来更加简洁,更加容易理解,使得程序员在撸代码的时候更加happy,因此叫做语法糖,给你点甜头尝尝,提升幸福感!

    交换两个变量的值

    交换两个变量的值,这个需求相信每个学编程的人都遇到过,例如:有两个变量a、b,要求交换a、b的值

    # 先定义两个变量
    a = 1
    b = 2
    print('交换前:', a, b) # 交换前: 1 2
    
    # 交换a、b的值
    # 传统写法
    # 先引入一个变量c,用c作为中介来倒腾,需要三句代码
    c = a
    a = b
    b = c
    print('交换后:', a, b) # 交换后: 2 1
    
    # 语法糖写法
    a1 = "蔡"
    b1 = "坨坨"
    print(a1, b1) # 蔡 坨坨
    # 只需下面一句代码
    a1, b1 = b1, a1
    print(a1, b1) # 坨坨 蔡
    

    用下划线分割数字

    当我们在代码中定义一个很大的数值时,不容易直接看出具体是多少,数起来实在是令人眼瞎

    例如:定义一个值为100亿的数字

    # 传统写法
    number1 = 10000000000
    # 改进版写法
    number2 = 100 * 10000 * 10000
    # 语法糖写法
    number3 = 100_0000_0000
    print(number1)
    print(number2)
    print(number3)
    

    判断变量范围

    # 例如:判断绩效等级
    # A:(4.5,5]
    # B:(4,4.5]
    # C:(3.5,4]
    # 传统写法
    score = 4.6
    if score > 4.5 and score <= 5:
        print('A')
    elif score > 4 and score <= 4.5:
        print('B')
    elif score > 3.5 and score <= 4:
        print('C')
    # 语法糖
    if 4.5 < score <= 5:
        print('A')
    

    字符乘法

    有时为了方便分割输出内容,我们会敲上一行分割线,比如下面这个栗子

    # 传统写法
    print('-----------------------------------')
    # 语法糖写法
    print('-' * 100)
    print('/' * 100)
    print('&' * 100)
    

    打包与解包

    # 解包
    # 有一个元组,需打印元组中的每个值
    # 传统写法
    a = (1, 2, 3)
    x = a[0]
    y = a[1]
    z = a[2]
    print(x, y, z)  # 1 2 3
    # 语法糖写法
    x, y, z = a
    print(x, y, z)  # 1 2 3
    
    # 打包
    b = (x, y, z)
    print(b)  # (1, 2, 3)
    

    列表拼接

    # 有两个列表
    list1 = ['蔡', '坨', '坨']
    list2 = ['6', '6', '6']
    list3 = list1 + list2
    print(list3)  # ['蔡', '坨', '坨', '6', '6', '6']
    

    列表切片

    list4 = ['测', '试', '蔡', '坨', '坨', '6', '6', '6']
    # 取出正数第三个到倒数第二个之间的值组成新列表
    print(list4[3:-2])  # ['坨', '坨', '6']
    # 前五个元素
    print(list4[:5])  # ['测', '试', '蔡', '坨', '坨']
    # 后三个元素
    print(list4[-3:])  # ['6', '6', '6']
    

    with语句

    # 例如:文件读取操作
    # 传统写法:1.打开文件 2.读取文件 3.关闭文件
    f = open('caituotuo.txt', 'rb')
    text = f.read()
    print(text)
    f.close()
    
    # with写法,会自动close
    with open('caituotuo.txt', 'rb') as f:
        text2 = f.read()
        print(text2
    

    列表推导式

    # 定义一个列表
    a = [1, 2, 3]
    # 需要列表中的每个元素加上100.组成新的列表b
    # 传统写法
    b = []
    for i in a:
        b.append(i + 100)
    print(b)  # [101, 102, 103]
    # 语法糖写法
    b = [i + 200 for i in a]
    print(b)  # [201, 202, 203]
    

    PS:虽然它叫列表推导式,但同样适用于字典和集合

    有了这些语法糖,让枯燥的编码工作变得有趣,记不住怎么办,建议收藏起来!!!

  • 相关阅读:
    <QT学习>串口QSerialPort类同步与异步接收和发送数据
    <QT学习>QT生成与调用共享库
    《Pinctrl和GPIO子系统的使用》
    《查询方式的按键驱动程序》
    《C库 — sprintf字符串格式化命令,把格式化的数据写入某个字符串中》
    《C库 — 字符串合并函数strcat 字符串常量导致程序崩溃》
    Ex 5_22 在此我们基于以下性质给出一个新的最小生成树算法..._第九次作业
    Ex 5_21 无向图G=(V,E)的反馈边集..._第九次作业
    Ex 5_33 实现一个关于公式长度(其中所有文字总的出现次数)为线性时间的Horn公式可满足性问题_第十次作业
    Ex 5_28 Alice想要举办一个舞会..._第十次作业
  • 原文地址:https://www.cnblogs.com/caituotuo/p/16463285.html
Copyright © 2020-2023  润新知