Python内嵌函数
admin
2023-07-24 16:42:47
0

局部变量

def discount(price, rate):

final_price = price * rate

return final_price


old_price = float(input('请输入原价:'))    全局变量

rate = float(input('请输入折扣率:'))

new_price = discount(old_price, rate)

print('打折后的价格是:',new_price)

print('打印局部变量final_price的值:',final_price) 显示为定义的变量,final_price为discount函数中的变量,为局部变量,出了discount就无效了  


在局部变量中定义全局变量

>>> test1 = 5

>>> def change():

test1 = 10

print(test1)


>>> change()

10

>>> test1

5


>>> def change():

global test1

test1 = 10

print(test1)


>>> change()

10

>>> test1

10


内嵌函数

>>> def fun1():

print('fun1正在被调用..')

def fun2():

print('fun2正在被调用...')

fun2()


>>> fun1()        调用fun1()后执行调用fun2()

fun1正在被调用..

fun2正在被调用...


闭包 如果在一个内部函数里,对在外部作用域的变量进行引用

>>> def fun3(x):

def fun4(y):

return x * y

return fun4


>>> fun3(1)

.fun4 at 0x0000000002F549D8>

>>> type(fun3)


>>> fun3(1)(2)

2


>>> def fun1():

x = 5

def fun2():

x *= x

return x

return fun2()

>>> fun1()

Traceback (most recent call last):

  File "", line 1, in

    fun1()

  File "", line 6, in fun1

    return fun2()

  File "", line 4, in fun2

    x *= x

UnboundLocalError: local variable 'x' referenced before assignment


>>> def fun1():

x = 5

def fun2():

nonlocal x    强制声明非局部变量

x *= x

return x

return fun2()

>>> fun1()

25










相关内容

热门资讯

美称设立军事协调小组协助落实美... △美国国务卿鲁比奥(资料图)当地时间6月26日,美国国务卿鲁比奥发布声明表示,当日,美国、黎巴嫩和以...
布基纳法索宣布与法国断交 △布基纳法索(资料图)当地时间6月26日,布基纳法索政府宣布,自当天起断绝与法国的外交关系。布政府表...
美以黎签署三方框架协议,细节披... 当地时间26日晚,一名以色列官员披露称,经过美国、以色列和黎巴嫩三方的会谈,三方代表当晚在美国签署了...
联合国官员:委内瑞拉强震后逾5... 财联社6月27日电,联合国分管人道主义事务的副秘书长兼紧急救援协调员汤姆·弗莱彻表示,在委内瑞拉发生...
伊朗否认伊美就霍尔木兹海峡问题... 当地时间26日,伊朗伊斯兰革命卫队发言人侯赛因·穆赫比表示,针对“伊朗与美国已就霍尔木兹海峡问题设立...
特朗普:伊朗违反了停火协议 财联社6月26日电,美国总统特朗普表示,美军击落了伊朗三架无人机。特朗普称伊朗在霍尔木兹海峡发动的无...
江阴祝塘:荣飞5G智能绿色工厂... 6月23日,江阴市祝塘镇重点数字化转型标杆项目——荣飞5G智能绿色工厂项目顺利完成主体封顶。该项目聚...
翔亚机械取得一种电梯按键专利,... 国家知识产权局信息显示,嘉兴市翔亚机械设备有限公司取得一项名为“一种电梯按键”的专利,授权公告号CN...
溧阳市博物馆一张展出照片被指系... 极目新闻记者 张奇 近日,有网友在社交网站反映,江苏常州溧阳市博物馆展出了使用AI技术生成的图片,其...
“我们不喜欢中国AI,因为不受... 【文/观察者网 王一】 “我不喜欢(中国的人工智能)的一点是,它完全是开源的,这意味着它很大程度上不...