作为python萌新,现在在看大佬写的抽取代码,其中一段是这么写的。
for mc in ajlx_map:
if mc in ajlbmc:
ajlbbm = ajlx_map[mc]
return '%s/%s/%s/%s' % (cbdwbm, year, ajlbbm, bmsah)
else:
fqdwbm = get_fqdwbm_from_bmsah(bmsah)
sql = "SELECT AJLB_BM " \
"FROM TYYW.TYYW_GG_AJJBXX " \
"WHERE BMSAH = '%s' " \
% bmsah
ajlbbm = self.query(fqdwbm, sql)[0][0]
return '%s/%s/%s/%s' % (cbdwbm, year, ajlbbm, bmsah)
一开始是一脸懵逼,查询后结果:
python的循环,如:while , for in 都可以有else这么一个分支可选。当循环正常迭代完之后,会执行else语句;如果想不执行else分支语句,可以在循环中添加break,return(结束当前方法);
示例:
# -*- coding: utf-8 -*-
class XunHuan:
def __init__(self):
pass
def check(a):
for i in a:
print(i)
# break
# return
else:
print('else')
print('method_test_end')
if __name__ == '__main__':
a = [1, 2, 3]
check(a)
当前正常执行结果:
1
2
3
else
method_test_end
放开break:
1
method_test_end
注释break,放开return结果:
1