Python内嵌函数-创新互联

局部变量

创新互联公司咨询热线:18980820575,为您提供成都网站建设网页设计及定制高端网站建设服务,创新互联公司网页制作领域10年,包括垃圾桶等多个行业拥有丰富的网站运维经验,选择创新互联公司,为企业锦上添花。

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:Python内嵌函数-创新互联
标题网址:http://scyanting.com/article/dgpdje.html