转载请注明出处❤️
作者:测试蔡坨坨
原文链接:caituotuo.top/a52bc938.html
你好,我是测试蔡坨坨。
今天,我们来盘点一下Python中的那些语法糖。
什么是语法糖?
语法糖(Syntactic Sugar),也被译为糖衣语法,是由英国计算机科学家彼得·约翰·兰大(Peter J.Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说,使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
语法糖不是糖,而是编程语言中某些特殊的写法
。
作为最体贴程序员的编程语言——Python,就有很多语法糖。
有了这些特殊写法,可以让我们的代码写起来更加简洁,更加容易理解,使得程序员在撸代码的时候更加happy,因此叫做语法糖。
交换两个变量的值
交换两个变量的值,这个需求相信每个学编程的人都遇到过,例如:有两个变量a、b,要求交换a、b的值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| a = 1 b = 2 print('交换前:', a, b)
c = a a = b b = c print('交换后:', a, b)
a1 = "蔡" b1 = "坨坨" print(a1, b1)
a1, b1 = b1, a1 print(a1, b1)
|
用下划线分割数字
当我们在代码中定义一个很大的数值时,不容易直接看出具体是多少,数起来实在是令人眼瞎。
例如:定义一个值为100亿的数字
1 2 3 4 5 6 7 8 9
| number1 = 10000000000
number2 = 100 * 10000 * 10000
number3 = 100_0000_0000 print(number1) print(number2) print(number3)
|
判断变量范围
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
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')
|
字符乘法
有时为了方便分割输出内容,我们会敲上一行分割线,比如下面这个栗子
1 2 3 4 5 6
| print('-----------------------------------')
print('-' * 100) print('/' * 100) print('&' * 100)
|
打包与解包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
a = (1, 2, 3) x = a[0] y = a[1] z = a[2] print(x, y, z)
x, y, z = a print(x, y, z)
b = (x, y, z) print(b)
|
列表拼接
1 2 3 4 5
| list1 = ['蔡', '坨', '坨'] list2 = ['6', '6', '6'] list3 = list1 + list2 print(list3)
|
列表切片
1 2 3 4 5 6 7
| list4 = ['测', '试', '蔡', '坨', '坨', '6', '6', '6']
print(list4[3:-2])
print(list4[:5])
print(list4[-3:])
|
with语句
1 2 3 4 5 6 7 8 9 10 11
|
f = open('caituotuo.txt', 'rb') text = f.read() print(text) f.close()
with open('caituotuo.txt', 'rb') as f: text2 = f.read() print(text2
|
列表推导式
1 2 3 4 5 6 7 8 9 10 11
| a = [1, 2, 3]
b = [] for i in a: b.append(i + 100) print(b)
b = [i + 200 for i in a] print(b)
|
PS:虽然它叫列表推导式,但同样适用于字典和集合
以上,完。
有了这些语法糖,让枯燥的编码工作变得有趣。