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)表示语句块,相同缩进的语句属于同一语句块。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架