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

转载请注明出处❤️

作者:测试蔡坨坨

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

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

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

今天,我们来盘点一下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  4 and score  3.5 and score

字符乘法

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

传统写法
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:虽然它叫列表推导式,但同样适用于字典和集合

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

Original: https://www.cnblogs.com/caituotuo/p/16463285.html
Author: 测试蔡坨坨
Title: Python语法糖,提升编程幸福感!!!

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599311/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • BigDecimal 设置小数位数、小数比例转换整数

    控制小数位数 DecimalFormat decimalFormat = new DecimalFormat("0.00"); decimalFormat.fo…

    数据库 2023年6月6日
    090
  • MySQL基础_索引

    一、介绍 1.什么是索引? 在一般的应用系统中,读写比在10:1左右,插入操作和一般的更新操作很少有性能问题,在生产环境中,我们遇到的最多,也是最容易出现问题的,或者一些复杂的查询…

    数据库 2023年5月24日
    0106
  • pycharm2022.2.1版本设置中文语言

    进入”File👉Sttings”界面 进入”Plugins(插件)”下,输入Chinese,找到”Chinese (Si…

    数据库 2023年6月14日
    098
  • MySQL8自增主键变化

    MySQL8自增主键变化 醉后不知天在水,满船清梦压星河。 一、简述 MySQL版本从5直接大跃进到8,相信MySQL8一定会有很多令人意想不到的改进,如果不想只会CRUD可以看看…

    数据库 2023年6月14日
    083
  • 解决执行npm run dev 后报错 Mix: not found的问题

    开发环境:homestead 宿主机环境:windows10 在homestead虚拟机内运行npm run dev时出现错误信息:mix: not found (此时打开lara…

    数据库 2023年6月14日
    089
  • MySQL学习(3)—MySQL常用命令

    ps:此随笔基于mysql 5.7.*版本。 准备 net start mysql 启动MySQL服务 net stop mysql 关闭MySQL服务 mysql [-h exi…

    数据库 2023年6月14日
    075
  • MySQL8自增主键变化

    MySQL8自增主键变化 醉后不知天在水,满船清梦压星河。 一、简述 MySQL版本从5直接大跃进到8,相信MySQL8一定会有很多令人意想不到的改进,如果不想只会CRUD可以看看…

    数据库 2023年5月24日
    080
  • 前后端数据交互利器–Protobuf

    Protobuf 介绍 简而言之,Protobuf 是 Google 开源的一款用于处理前后端数据交互格式的工具。通常来讲前后端使用的编程语言是不同的,使用 Protobuf无需多…

    数据库 2023年6月16日
    099
  • postman自动化测试

    postman做接口的自动化测试case 记录一次自动化测试的工作,以及该过程中对于测试设计的一些思考。 postman工具 简单介绍,这个工具无论是开发还是测试,使用来调试接口的…

    数据库 2023年6月6日
    0120
  • kafka学习

    Kafka概述 Kafka是分布式(点对点模式)(发布-订阅模式)消息系统,由Scala 写成, 它主要用于处理流式数据。本质是基于消息队列缓存数据. Kafka对消息保存时根据T…

    数据库 2023年6月16日
    082
  • IDEA springboot “spring-boot-maven-plugin“报红问题的解决方法

    使用环境 项目环境:Idea 2020.2.3、 Maven 3.6.3 、springboot 2.1.4 本人在创建springboot项目时spring-boot-maven…

    数据库 2023年6月14日
    084
  • centos 自己常用命令

    tar 1. 使用tar压缩文件 tar -zcvf test.tar.gz ./test/ 该命令表示压缩当前文件夹下的文件夹test,压缩后缀名为test.tar.gz 如果不…

    数据库 2023年6月11日
    081
  • RadonDB MySQL Kubernetes 2.2.1 发布!

    RadonDB MySQL Kubernetes[1] 于近日正式发布新版本 2.2.1[2]。该版本主要在用户管理、高可用组件等进行了优化,并修复一些问题。 感谢 @runkec…

    数据库 2023年5月24日
    073
  • 我设计数据库常用的几个原则

    以MySQL5.7为例,在一个项目中的数据库schema中建表 〇、建库 统一字符集和排序规则 规则 库的默认字符集选择utf8mb4,表、字段默认上级 库的排序规则选择utf8m…

    数据库 2023年6月9日
    0103
  • 2022-8-27 vue 第一天

    什么是vue? Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建…

    数据库 2023年6月14日
    075
  • MySQL多表查询

    多表查询 案列说明 笛卡尔积的理解 select id,department_name from employees,departments;#错的 select id,depar…

    数据库 2023年5月24日
    081
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球