「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」。
1. return语句
return[表达式]语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None.
print(x)
return x+2
printaaaaad(1)
2. 变量作用域
Python中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称。Python的作用域一共有4种,分别为:L(Local)局部作用域,E(enclosing)闭包函数外的函数中,G(global)全域作用域,B(Built-in)内键作用域。以L-E-G-B的规则查找,即:在局部找不到,便会去局部外的局部查找(例如闭包),再找不到就去全局找,再者去内键中找。
g_count =0 #全局作用域
def outer():
o_count =1 #闭包函数外的函数中
def inner():
i_count =2 #局部作用域
print(i_count)
print(o_count)
print(g_count)
inner()
outer()
注意:Python中只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域,其它的代码块(如,if/elif/else/,try/except、for/while等)是不会引入新的作用域的,也就是说这些语句是内定义的变量,外部也可以访问。
3. 递归函数
在函数内部,可以调用其它函数。如果一个函数在内部调用本身,这个函数就是递归函数。
assert x>0 and isinstance(x,int),'x必须为正整数'
if x==1:
return 1
else:
return x+cum(x-1)
cum(3)
递归函数的有点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。