應用Java正則表達式校驗郵箱與手機號。本站提示廣大學習愛好者:(應用Java正則表達式校驗郵箱與手機號)文章只能為提供參考,不一定能成為您想要的結果。以下是應用Java正則表達式校驗郵箱與手機號正文
本文實例剖析了Python感化域用法。分享給年夜家供年夜家參考,詳細以下:
每個編程說話都有變量的感化域的概念,Python也不破例,以下是Python感化域的代碼演示:
def scope_test():
def do_local():
spam = "local spam"
def do_nonlocal():
nonlocal spam
spam = "nonlocal spam"
def do_global():
global spam
spam = "global spam"
spam = "test spam"
do_local()
print("After local assignment:", spam)
do_nonlocal()
print("After nonlocal assignment:", spam)
do_global()
print("After global assignment:", spam)
scope_test()
print("In global scope:", spam)
法式的輸入成果:
After local assignment: test spam After nonlocal assignment: nonlocal spam After global assignment: nonlocal spam In global scope: global spam
留意: local 賦值語句是沒法轉變 scope_test 的 spam 綁定。 nonlocal 賦值語句轉變了 scope_test 的 spam 綁定,而且 global 賦值語句從模塊級轉變了 spam 綁定。
個中,nonlocal是Python 3新增的症結字。
你也能夠看到在 global 賦值語句之前對 spam 是沒有事後綁定的。
小結:
碰到在法式中拜訪全局變量而且要修正全局變量的值的情形可使用:global症結字,在函數中聲明此變量是全局變量
nonlocal症結字用來在函數或其他感化域中應用外層(非全局)變量。
global症結字很好懂得,其他說話年夜體也如斯。這裡再舉一個nonlocal的例子:
def make_counter():
count = 0
def counter():
nonlocal count
count += 1
return count
return counter
def make_counter_test():
mc = make_counter()
print(mc())
print(mc())
print(mc())
運轉成果:
1 2 3
轉自:小談博客 http://www.tantengvip.com/2015/05/python-scope/
願望本文所述對年夜家Python法式設計有所贊助。