前言:
如今我们对“python内嵌”大概比较珍视,我们都想要学习一些“python内嵌”的相关知识。那么小编在网络上搜集了一些关于“python内嵌””的相关资讯,希望看官们能喜欢,小伙伴们一起来学习一下吧!1;内嵌函数,2;闭包【这些内容在初学阶段,属于非必学有较高难度】
先回顾全局变量和局部变量:
函数的作用域:全局变量,局部变量
# 函数体内是局部变量def ceshi(): x=110 print(x)# 我们都知道调用函数会出现的是 110ceshi()# 函数体外是全局变量# 我们尝试在函数体外部去访问x# 是无法访问的,这就是作用域。print(x)
全局变量和局部变量通过数字来展示:
全局变量可以影响局部变量,局部变量无法影响全局变量。
global() 可修改全局变量;
这是全局变量:x=30def ceshi(): global x x=40 print(x) # 调用函数之后X变成了40 ceshi()
函数的嵌套:
尝试在外部函数里调用内部函数的值,是无法实现的!
如果要在外部调用内部函数的值;需要这样操作:
def ceshi(): x=110 def ceshi1(): x=80 print(x) ceshi1()# 调用外部函数体才能显示 内部函数体的值,这就是嵌套函数# 显示80ceshi()
再来看一些题目:会显示 Python进阶内容有难度了呀! 这句话吗?
def ceshi(): print('Python基础并不难学') def ceshi1(): print('python进阶内容有难度了呀!')ceshi1()
1;如果不会,要怎么样才能打印第二段内容呢?
#方法1def ceshi(): print('Python基础并不难学') def ceshi1(): print('python进阶内容有难度了呀!') # 调用第二个函数 ceshi1()# 调用第一个函数ceshi()
# 方法2def ceshi(): print('Python基础并不难学') def ceshi1(): print('python进阶内容有难度了呀!') # 这个return 是作用于ceshi()的,注意缩进, # 让内嵌函数返回 内嵌函数要打印的内容即可 return ceshi1()ceshi()
再来一些例子加深对嵌套函数的理解:
1;下面的内容能把 我爱Python 这个函数调用出来吗? 要怎么操作才行?
def ceshi(): def ceshi1(): print('我爱Python') return ceshi1()
需要这样写:这些例子都是为了理解函数的执行顺序!!
def ceshi(): def ceshi1(): print('我爱Python') # 因为要打印我爱Python # 所以定要调用函数ceshi1 return ceshi1()# 如果要调用函数ceshi1# 就必须调用函数ceshi,才行。因为是内嵌函数。ceshi()
闭包:类似于类与对象的操作。
def ceshi(x): def ceshi1(y): print(f'在局部变量里x是{x},y是{y}') return x*y return ceshi1# x的形参是8,并把x赋值给a1a1=ceshi(8)# y的参数是2print(a1(2))
再来试试乘方:
def ceshi(a): def ceshi1(b): # 调用ceshi1的时候 返回 a的b次方 return a**b # 调用ceshi的时候 返回 ceshi1函数。 return ceshi1# 函数ceshi输入实参数字2,并赋值给a1a1=ceshi(2)# 函数ceshi输入实参数字3,并赋值给a2a2=ceshi(3)# 调用a1时,函数ceshi形参为2 ,# 传入实参5,实参传给了b,结果是2的5次方print(a1(5))# 调用a1时,函数ceshi形参为3# 传入实参4,实参传给了b,结果是3的4次方print(a2(4))
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #python内嵌