局部变量
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
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文题目:Python内嵌函数-创新互联
文章源于:https://www.cdcxhl.com/article24/dgpdje.html
成都网站建设公司_创新互联,为您提供网站设计公司、Google、品牌网站建设、云服务器、移动网站建设、定制开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联