Python内嵌函数

局部变量

成都创新互联服务项目包括平阴网站建设、平阴网站制作、平阴网页制作以及平阴网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,平阴网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到平阴省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

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)

<function fun3.<locals>.fun4 at 0x0000000002F549D8>

>>> type(fun3)

<class 'function'>

>>> fun3(1)(2)

2

>>> def fun1():

x = 5

def fun2():

x *= x

return x

return fun2()

>>> fun1()

Traceback (most recent call last):

  File "<pyshell#52>", line 1, in <module>

    fun1()

  File "<pyshell#50>", line 6, in fun1

    return fun2()

  File "<pyshell#50>", 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

名称栏目:Python内嵌函数
标题路径:https://www.cdcxhl.com/article14/jshhge.html

成都网站建设公司_创新互联,为您提供网站建设域名注册网站设计公司建站公司网站收录做网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管