Python中一个缩进代表一个层级,推荐4个空格
分支与循环
条件是分支与循环中最为核心的点,解决的问题场景是不同的问题有不同的处理逻辑。当满足单个或者多个条件或者不满足条件进入分支和循环,这里也就说明这个对相同问题处理执行逻辑依据具体参数动态变化,由此产生多种可能性,但要求其中一个可能性必须执行其他可能性不需要执行时候使用分支。循环的核心是边界值,通过控制边界值控制循环的执行次数,循环体中逻辑是重复执行直至到达边界值,跳出循环。在Python中分支和循环不能形成作用域,在其他如Golang语言中分支和循环会形成一个作用域。Python中没有 ++ -- 自增自减这个运算符,并且for循环是用来遍历可迭代数据。
分支与循环规范:
不推荐在分支和循环下写大量逻辑代码,封装成函数或者写少量几行代码
分支 - if elif
number = 10 if number >= 100:
print("Hai")
elif 50 <= number < 100:
print("Hello")
else:
print("OK")
循环 -for
students = ["QiNiuYun", "BaiDu", "WeiChat", "AliYun"]
for student in students:
print(student)
循环-while
start = 0
while start <= 100:
print(start)
start += 1
循环流程控制
contine 到此重新开始循环,也就是从contine这一行后面循环体的都不再执行,重新开始判断条件进入循环体
start = 0
while start < 100:
start += 1
if start % 2 == 0:
continue
print(start)
break 到此结束整个循环,也就是从break这一行执行之后,将跳出循环的循环体执行,执行循环结构体后面的逻辑
start = 0
while start < 100:
start += 1
if start > 50:
break
print(start)
break 和 contine一般联合 分支进行特殊情况下对循环体流程控制
for循环一般联合 in 进行可迭代对象的变量
可迭代对象如 str list tuple set dict range emumerate __getitem__
遍历 str
name = "beimenchuixue" for rune in name:
print(rune)
遍历 list
names = ["QiNiuYun", "BeiMenChuiXue", "AliYun", "BaiDu"] for name in names:
print(name)
遍历 tupe
platforms = ("Linux", "MAC", "Windows", "Android", "IOS") for platform in platforms:
print(platform)
遍历 set
languages = {"zh_CN", "en_US"}
for language in languages:
print(language)
遍历字典 dict
info = {"name": "BeiMenChuiXue", "age": 18, "sex": "male", "phone_number": "15570910000"} for key in info:
# 在字典的遍历中,只能获取字典的key值
print(key, info[key])
遍历 range
for number in range(1, 100, 2):
# 从1开始到100,但不包括100,间隔步长为2
print(number)
遍历 emumerate
names = ["QiNiuYun", "BeiMenChuiXue", "AliYun", "BaiDu"] for name in enumerate(names):
# emumerate 索引从0开始计数,返回一个由索引和值组成的元组
print(name)
遍历 __gettiem__
class Class(object):
def __init__(self, student_names):
self.student_names = student_names def __getitem__(self, item):
return self.student_names[item] python_class = Class(["QiNiuYun", "BeiMenChuiXue", "AliYun", "BaiDu"]) for python_student in python_class:
# for循环会去找 __getitem__魔法方法,每次从 0 开始步长为1向 __getitem__传递 参数
# 如果 __getitem__触发异常,for会处理异常并退出循环
print(python_student)
使用字典实现Go语言中的 switch
def connect():
print("connect") def conn():
print("conn") def default_conn():
print("default_conn") interface = {"connect": connect, "conn": conn}
interface.get("conn", default_conn)()
interface.get("", default_conn)()