5、条件、循环和其他语句

作者:@houkai
本文为作者原创,转载请注明出处:https://www.cnblogs.com/houkai/p/3478756.html


赋值魔法包括:

序列解包:将多个值的序列解开,然后放在变量的序列中。

>>> x,y,z=1,2,3
>>> x,y=y,x
>>> x,y,z
(2, 1, 3)

链式赋值:

>>> x=y=1
>>> x,y
(1, 1)

增量赋值

>>> x=2
>>> x+=1
>>> x*=2
>>> x
6

布尔表达式中,False None 0 “” () [] {}被解释器看做假,其他的一些被解释为真。

条件语句:if else elif(else if)

Python中比较运算符是可以连接使用的,如

>>> 1<2<3
True

布尔运算符:and or not

断言:if语句的近亲,它的工作进入如下(伪代码)

If not condition

Crash program

关键字是 assert,在程序中置入检查点,条件后可添加解释字符

>>> age=-1
>>> assert 0<age<100, 'error age'
Traceback (most recent call last):
File "<pyshell#110>", line 1, in <module>
assert 0<age<100, 'error age'
AssertionError: error age

循环的实现:while语句非常灵活,可以在指定条件下重复执行一个代码块

>>> x=1
>>> while x<3:
    x+=1
    print(x)
2
3

for循环,对集合中的每个元素都执行一个代码块

复制代码
>>> for num in x:
    print(num)
1
2
3
>>> for num in range(3):
    print(num)
0
1
2
复制代码

并行迭代:zip函数可以用于任意多的序列

复制代码
>>> for x,y in zip(range(5),range(10000)):
    print(x,'-',y)
0 - 0
1 - 1
2 - 2
3 - 3
4 - 4
复制代码

编号迭代:替换所有包含‘xxx’的子字符串

for index,string in enumerate(strings):
    if ‘xxx’ in string
        string[index]=’newsub’

循环中的break语句,它只在没有调用break时执行:

>>> for num in range(1,3):
    if num==4:
        break
else:
    print('no break')
no break

列表推导式:利用其它列表创建新的列表

>>> [x*x for x in range(10) if x%3==0]
[0, 9, 36, 81]

Python中使用缩进(Tab)表示语句块,相同缩进的语句属于同一语句块。

posted @   侯凯  阅读(303)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示