|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
全局变量关键字 global
即若欲在函数中定义全局变量,用global 后加变量名。如:
>>> def MyFun():
count = 10
print(10)
>>> MyFun()
10
>>> print(count)
5
>>> def MyFun():
global count
count = 10
print(10)
>>> MyFun()
10
>>> print(count)
10
内嵌函数和闭包
内嵌函数 在函数中定义函数[ 函数嵌套 ],Python支持函数嵌套,即在一个函数的定义中调用另一个函数。如:
>>> def fun1():
print('fun1()正在被调用...')
def fun2():
print('fun2()正在被调用...')
fun2()
>>> fun1()
fun1()正在被调用...
fun2()正在被调用...
但是在外部函数的作用域外不可单独调用内部函数。如:
>>> fun2()
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
fun2()
NameError: name 'fun2' is not defined
闭包 闭包是函数式编程的重要语法结构
如果在一个内部函数里对外部作用域(但不是在全局作用域)的变量进行引用,则此内部函数就被认为是闭包。如:
>>> def FunX(x):
def FunY(y):
return x * y
return FunY
>>> i = FunX(8)
>>> i
<function FunX.<locals>.FunY at 0x0000000002E208C8>
>>> type(i)
<class 'function'>#这里相当于二元函数中的一个被赋了一个值,结果还是一个值
>>> i(5)
40
>>> FunX(8)(5)
40
但是对于一个内部函数而言,此内部函数体中不可对外部函数中定义的参数进行修改操作,否则无论对内部函数还是对外部函数的调用均会报错。如:
>>> def Fun1():
x = 5
def Fun2():
x *= x
return x
return Fun2()
>>> Fun1() |
评分
-
查看全部评分
|