选择与循环
在早期的编程中,程序按顺序执行。后来为了让程序更灵活,加入了“跳转”的功能。但是频繁的跳转增加了理解程序的难度并且让程序更脆弱。程序跳转起到了选择执行的功能,故在后期的程序中增加选择结构和循环结构,跳转的语法越发罕见。
选择
Python中选择结构为if结构,以缩进来表示代码的从属关系。其常见用法如下
if 判断条件:
执行语句
elif 判断条件:
执行语句
else:
执行语句
循环
循环分为for循环和while循环。for循环区别于C语言的for循环,其应用形式举例:
for 元素 in 序列:
执行语句
如
for a in range(3):
print(a)
结果为
0
1
2
或者形如
for a in ["abc", 3.141592654,"duangduang"]:
print(a)
结果为
abc
3.141592654
duangduang
while循环与C语言中的while循环并无区别,应用形式简单举例
while 判断条件:
执行语句
Python也常用continue来结束本次循环,使用break跳出循环。
函数
数学上的函数代表着一种集合与集合的对应关系,而在程序中函数是为实现某个功能的一串代码。函数中可以有输入也可以没有输入,同样输出有无也都是允许的。常见定义如下:
def 函数名(函数参数):
执行语句
return 变量
函数参数可以没有,return 也可以没有。为了实现函数的功能,其执行语句至少一句或多句。内置函数help被用于找到某个函数的说明文档,例如help(max)。
传参
函数传参按1.位置传参,也可设置2.按关键字传参,还可3.包裹传参。
1.位置传参举例
def hahaha(a,b,c):
print(a,b,c)
调用
hahaha(1,3,2)
结果
1 3 2
调用
hahaha(1,2,3)
结果
1 2 3
说明传递参数的对应关系与元素被调用时所处的位置有关,上例中从左至右第1、2、3个位置的元素分别被赋给a、b、c。
2.按关键字传参
续上例,调用如下
hahaha(c=19,a=78,b="OK")
hahaha(a=12,1,3)
hahaha(2,7,a=31)
hahaha(3,9,c=2)
其结果依次为
78 OK 19
SyntaxError: positional argument follows keyword argument
TypeError: hahaha() got multiple values for argument 'a'
3 9 2
第一例说明关键字传参与参数所处的位置无关;第二例说明位置传参和关键字传参混用时需将位置传参放在前面;第三、四例说明位置传参依次赋值,关键字传参所使用的关键字不能被赋值。因此调用
hahaha(2,c=3,b=4)
hahaha(3,b=7,c=1)
其结果依次为
2 4 3
3 7 1
验证上述所言。
3.包裹传参
包裹传参常用于不知参数个数的情况,在定义时分别以*和**对应传递的元组和词典。
进群:960410445 即可获取书十套PDF!
def hahahahei(*arguments):
print(type(arguments))
print(arguments)
调用
hahahahei("I","like","ice-cream",1,2,3)
结果
<class 'tuple'>
('I', 'like', 'ice-cream', 1, 2, 3)
当为词典时定义格式如下
def heiheiheiha(**arguments01):
print(type(arguments01))
print(arguments01)
调用
heiheiheiha(a=1,b=2,c=3,d="duang")
结果
{'a': 1, 'b': 2, 'c': 3, 'd': 'duang'}
同样*和**也用于解包裹,可以在定义时不做改变,在调用时对要传递的元组、词典前对应加上*、**,对其分解,不再一一赘述。关于解包裹传参,可自行尝试。