您好,登錄后才能下訂單哦!
局部變量
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。