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)
>>> 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 "
fun1()
File "
return fun2()
File "
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内嵌函数
文章出自:http://myzitong.com/article/jshhge.html