一、交换两个变量的值
1、通常的处理方式是借用中间变量,例如C语音:
temp = a;
a = b;
b = temp;
原理打个比方,要交换杯子a和杯子b中的水,可以借用一个空杯子temp,第一步将a杯中的水倒入temp杯子中,然后将b杯子中的水倒入空杯子a中,最后将temp杯子中的水倒入空杯子b中,完成a和b杯子水的交换。
2、python对交换a和b的值,用元组语法处理很是简便
a, b = b, a
二、三元运算
1、通常使用三目运算符,例如C语言
int x = a > b ? a = b;
2、对应python的语法糖
x = a > b and a or b;
3、官方建议的书写方式
x = a if a > b else b
三、短路功能
与关系:a and b,若a为False,则程序不会执行b代码块
或关系:a or b,若a为True,则程序不会执行b代码块
利用and和or的短路功能,一些消耗性能的操作可以写在b代码块里,若a条件不满足造成短路,则不会执行b,提升性能。
四、连续的关系运算符
例如C语言,表示两段关系运算用and或者or连接起来
if (a > b and b > c)
python接近数学的自然写法
if a > b > c :
五、生成式和生成器
1、列表生成式:读取元素速度快,占用空间大
[x for x in rang(n)]
2、生成器:读取元素速度慢,占用空间小
(1)、方式一:
(x for x in range(n))
(2)、方式二:
def fib(a):
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
yield a
for val in fib(20):
print(val)