Python学习笔记(5)条件判断和循环结构
1.Python条件结构
python目前的条件结构只有if else 一种,暂时还不支持类似java的switch case 结构,具体原因请参考官方说明
官方建议采用 当有多分支时采用 if elif elif... else 的结构,当条件分支过多时,建议采用字典结构,映射到函数中。
def function_1(...): ... functions = {'a': function_1, 'b': function_2, 'c': self.method_1, ...} func = functions[value] func()
对于调用对象的方法,可以使用内置的getattr()来检索具有特定名称的方法。
def visit_a(self, ...): ... ... def dispatch(self, value): method_name = 'visit_' + str(value) method = getattr(self, method_name) method()
至于if else的写法就没什么特殊的了
2.Python循环结构
在Python中,循环结构有两种,一种是for in 一种是while
1)for in
python的for in和kotlin中的for循环很像,都是循环一个序列,不同的是kotlin只能循环一个迭代器,而python可以是任何序列,语法如下:
那么如果想循环输出 1-100的数时该怎么办呢?
range可以生成一个序列,值的范围左闭右开,如果第一个参数1不给的话,默认是0。需要注意的是range只能生成整数序列.
2) while
while循环的使用就没什么特殊的了,看下语法就好了
想起刚学java时写的猜数字游戏,既然又到循环结构了,那么就用两种循环语句分别写一下猜数字游戏吧。
while版本
for in 版本