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:虽然它叫列表推导式,但同样适用于字典和集合
有了这些语法糖,让枯燥的编码工作变得有趣,记不住怎么办,建议收藏起来!!!
Python语法糖,提升编程幸福感!!!的更多相关文章
- Python 语法糖装饰器的应用
Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里. 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数. def sa ...
- python 语法糖是什么意思
语法糖指那些没有给计算机语言添加新功能,而只是对人类来说更“甜蜜”的语法.语法糖往往给程序员提供了更实用的编码方式,有益于更好的编码风格,更易读.不过其并没有给语言添加什么新东西.
- python语法基础-并发编程-进程-进程理论和进程的开启
############################################## """ 并发编程的相关概念: 进程 1,运行中的程序,就是进程,程序是没有生 ...
- python语法基础-并发编程-线程-长期维护
############### 线程和GIL,全局解释器锁 ############## """ 线程 为什么会有进程? 主要是能够同时处理多个任务,多个任务还 ...
- python语法基础-网络编程-TCP协议和UDP协议
############### 网络编程 ############## """ 网络编程 学习了Python基础之后,包括函数,面向对象等,你就可以开发了,你 ...
- python语法糖/装饰器
1.python高阶函数和嵌套函数 1.1高阶函数 def func1(x): return x**2 def func2(x): return x**3 def func(x,y): return ...
- python语法基础-并发编程-进程-进程池以及回调函数
############### 进程池 ############## """ 进程池的概念 为什么会有进程池? 1,因为每次开启一个进程,都需要创建一个内存空间 ...
- python语法基础-并发编程-线程-线程理论和线程的启动
####################### 线程介绍 ############################## """ 线程介绍 为什 ...
- python语法基础-并发编程-进程-进程锁和进程间通信
############### 守护进程 ############## """ 守护进程 父进程中将一个子进程设置为守护进程,那么这个子进程会随着主进程的结束而结束 ...
随机推荐
- k8s入门之PV和PVC(八)
某些应用是要持久化数据的,如果直接持久化在pod所在节点,当pod因为某种原因重建或被调度另外一台节点,是无法访问到之前持久化的数据,所以需要一个公共存储数据的地方,无论pod删除重建或重新调度到其他 ...
- Nessus如何解除IP限制以及解决重启失效的后遗症
Nessus如何解除IP限制以及解决重启失效的后遗症 1.解除IP限制 1.获取当前plugins的版本号. https://plugins.nessus.org/v2/plugins.php 2.停 ...
- TS 自学笔记(二)装饰器
TS 自学笔记(二)装饰器 本文写于 2020 年 9 月 15 日 上一篇 TS 文章已经是很久之前了.这次来讲一下 TS 的装饰器. 对于前端而言,装饰器是一个陌生的概念,但是对于 Java.C# ...
- vivo 万台规模 HDFS 集群升级 HDFS 3.x 实践
vivo 互联网大数据团队-Lv Jia Hadoop 3.x的第一个稳定版本在2017年底就已经发布了,有很多重大的改进. 在HDFS方面,支持了Erasure Coding.More than 2 ...
- 【Java面试】请说一下Mysql索引的优点和缺点?
今天分享的这道面试题,让一个工作4年的小伙子去大众点评拿了60W年薪. 这道面试题是: "请你说一下Mysql索引的优点和缺点" 关于这道题,看看普通人和高手的回答 普通人: 嗯. ...
- Sec资产管理——SwebUI开源应用解决方案
产品简介 Sweb Sec是一款资产管理类的开源解决方案,通过SwebUI平台开发,包含资产管理.耗材管理两种管理系统,由部门管理.区域管理.盘点.标签打印.出入库等核心功能组成. 免费获取方案 开源 ...
- fpm工具安装
概述 最近在对机房的编译环境做整理,过程曲折而痛苦,记录一下. 之前的一个老项目,在打包的时候用到了一个叫做fpm的工具. 编译环境涉及centos6和centos7,在新的编译环境的过程中,如何安装 ...
- FlinkSQL 之乱序问题
乱序问题 在业务编写 FlinkSQL 时, 非常常见的就是乱序相关问题, 在出现问题时,非常难以排查,且无法稳定复现,这样无论是业务方,还是平台方,都处于一种非常尴尬的地步. 在实时 join 中, ...
- Wireshark学习笔记(一)常用功能案例和技巧
@ 目录 常用功能 1.统计->捕获属性 2.统计->协议分级 3.过滤包Apply as filter E1:过滤出特定序号的包 E2:过滤出某IP地址或端口 E3:导出php文件 E4 ...
- Spring Boot 实践 :Spring Boot + MyBatis
Spring Boot 实践系列,Spring Boot + MyBatis . 目的 将 MyBatis 与 Spring Boot 应用程序一起使用来访问数据库. 本次使用的Library spr ...