Python
条件控制
if语句的一般形式如下所示:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在 Python 中没有 switch…case 语句,但在 Python3.10 版本添加了 match…case
在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
match…case
3.10 增加了 match…case 的条件判断,不需要再使用一连串的 if-else 来判断了。
match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_ 可以匹配一切。
match subject:
case <pattern_1>:
<action_1>
case <pattern_2>:
<action_2>
case <pattern_3>:
<action_3>
case _:
<action_wildcard>
case _: 类似于 C 和 Java 中的 default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。
一个 case 也可以设置多个匹配条件,条件使用 | 隔开
循环语句
while 语句的一般形式:
while 判断条件(condition):
执行语句(statements)……
在 Python 中没有 do…while 循环
无限循环
通过设置条件表达式永远不为 false 来实现无限循环,实例如下:
#!/usr/bin/python3
var = 1
while var == 1 : # 表达式永远为 true
num = int(input("输入一个数字 :"))
print ("你输入的数字是: ", num)
print ("Good bye!")
可以使用 CTRL+C 来退出当前的无限循环
while 循环使用 else 语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。
简单语句组
类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与 while 写在同一行中。
for 语句
循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for <variable> in <sequence>:
<statements>
else:
<statements>
#!/usr/bin/python3
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
print(site)
可用于打印字符串中的每个字符:
#!/usr/bin/python3
word = 'runoob'
for letter in word:
print(letter)
for…else
for…else 语句用于在循环结束后执行一段代码。
for item in iterable:
# 循环主体
else:
# 循环结束后执行的代码
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
range() 函数
遍历数字序列,可以使用内置 range() 函数。它会生成数列。
也可以使 range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做’步长’):
pass 语句
pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
>>>while True:
... pass # 等待键盘中断 (Ctrl+C)
最小的类:
>>>class MyEmptyClass:
... pass
实例在字母为 o 时 执行 pass 语句块:
#!/usr/bin/python3
for letter in 'Runoob':
if letter == 'o':
pass
print ('执行 pass 块')
print ('当前字母 :', letter)
print ("Good bye!")
斐波纳契数列
每个数字是前两个数字之和
#!/usr/bin/python3
Fibonacci series: 斐波纳契数列
两个元素的总和确定了下一个数
a, b = 0, 1
while b < 10:
print(b)
a, b = b, a+b
其中代码 a, b = b, a+b 的计算方式为先计算右边表达式,然后同时赋值给左边,等价于:
n=b
m=a+b
a=n
b=m
右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。
end 关键字
关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:
#!/usr/bin/python3
# Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 1000:
print(b, end=',')
a, b = b, a+b
输出如下:
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
推导式
是一种独特的数据处理