常用的代码逻辑和封装
简介
在代码脚本的构建中常常用到一些比较常见的代码写法,例如:循环、迭代器等,本章会介绍一些常用的写法
流程控制
判断
在C#中经常会使用到if判断,语句结构为:
if(判断式) 内容 else if(判断式) 内容 else 内容
在python中是同样的,只是简化了写法:
if(判断式): 内容 elif(判断式): 内容 else: 内容
需要注意在python中 : 是必不可少的,而且if段中间的内容需要通过缩进来控制是否进入该内容中,如果缺少缩进可能会导致代码无法进入,或者变量找不到的情况。
def ChangeValue(value,default=0):
try:
return int(value)
except(ValueError,TypeError):
return default
num = ChangeValue(input("请输入数字1/2/3:"))
if(num==1):
print("输入数字1")
elif(num==2):
print("输入数字2")
elif(num==3):
print("输入数字3")
else:
print("输入了其他文本")
match...case
在C#中存在switch...case语句,用于匹配不同的值去执行不同的内容,在python3.10以后也加入了match...case语句,与C#中的switch...case用法相同,不同的是C#、Java、C中使用default来判断默认输出,python中使用 _ 来匹配默认输出,在python中一个 case 也可以设置多个匹配条件,条件使用 | 隔开。
def ChangeValue(value,default=0):
try:
return int(value)
except(ValueError,TypeError):
return default
num = ChangeValue(input("请输入数字1/2/3:"))
match num:
# 第一种写法
# case 1:
# print("输入数字1")
# case 2:
# print("输入数字2")
# case 3:
# print("输入数字3")
# case _:
# print("输入了其他文本")
# 第二种写法
case 1|2|3:
print("输入规范")
case _:
print("输入不规范")
循环
while 循环
在大多数的编程语言中while循环存在两种用法,一种是先判断再执行,语法为:
while(判断式) {内容}
;另一种是先执行再判断,语法为do{内容} while(判断式)
,但是在python中不存在do...while循环,同样在使用对应语法时需要注意 : 和缩进。
i=0
result = 1
while result<5:
i+=1
result+=1
print(f"执行第{i}次 当前result为{result}")
print("循环结束")
while...else语法
while...else中的else也属于循环体的一部分
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
for 循环
python中的for循环可以遍历任何可迭代对象,例如字符串、列表、集合等,且也存在for...else语法,以下会列举一部分遍历举例
test = {1,"asd",45,"abcd",20.5} # 集合
test1 = ("asda","bbcd",21) # 元组
test2 = ["hahaha",321] # 列表
test3 = {"list":[1,2,3,4]} # 字典
test4 = "hello!" # 字符串
print(type(test),type(test1),type(test2),type(test3),type(test4)) # 输出变量类型
for v in test: # 循环集合
print(v)
else:
print("\n")
for v in test1: # 循环元组
print(v)
else:
print("\n")
for v in test2: # 循环列表
print(v)
else:
print("\n")
for v in test3:
print(v)
for v in test3.keys():
print(v)
for v in test3.values():
print(v)
for k,v in test3.items():
print(f"K:{k} V:{v}")
else:
print("\n")
for v in test4:
print(v)
循环中的关键字
像大多数编程语言一样,python中也存在跳过单次循环和直接结束循环的关键字:continue和break,在python中还存在一种占位关键字pass,这个关键字没有什么实际意义,主要用作占位符,可以让程序代码看着更加规整(强迫症福音!!!)
num = 0
while num < 5:
if num == 4:
pass
print("pass语句执行")
num+=1
print(f"当前num值为{num}")
else:
print("执行完毕")