python模塊中判斷全局變量的賦值的實(shí)例講解
1、在模塊中,我們需要判斷__name__是否被賦值為“__main__”。
python fibo.py <arguments>
2、在腳本執(zhí)行的情況下,模塊的__name__屬性將被賦值為__main__,這就是原因所在。
$ python fibo.py 500 1 1 2 3 5 8 13 21 34
3、若以模塊導(dǎo)入,則不會(huì)執(zhí)行:
>>> import fibo>>>
知識(shí)點(diǎn)擴(kuò)展:
Python動(dòng)態(tài)聲明變量賦值代碼實(shí)例
通過(guò)exec()、globals()和locals()
# 通過(guò)exec()for i in range(1, 4): # 第一次循環(huán) i=1 時(shí),會(huì)執(zhí)行字符串中的python語(yǔ)句 ex1 = 'exec1',以此類推 exec(f’ex{i} = 'exec{i}'’)# 通過(guò)globals()和locals()def test(): # globals() for i in range(1, 4): # 第一次循環(huán) i=1 時(shí),執(zhí)行 globals()[’gb1’] = ’global1’, globals()是一個(gè)dict globals()[f’gb{i}’] = f’global{i}’ # locals() for i in range(1, 4): locals()[f’lc{i}’] = f’local{i}’ # 嘗試打印locals的變量 try: print(lc1, lc2, lc3) # 會(huì)報(bào)錯(cuò) except Exception as e: print(e) print(locals()[’lc1’], locals()[’lc2’], locals()[’lc3’]) # 通過(guò)鍵值對(duì)if __name__ == ’__main__’: # 執(zhí)行 test() print(’---------------------’) # 打印函數(shù)定義的全局變量 print(gb1, gb2, gb3) print(’---------------------’) # 打印通過(guò)exec()定義的變量 print(ex1, ex2, ex3)
輸出結(jié)果:
name ’lc1’ is not definedlocal1 local2 local3---------------------global1 global2 global3---------------------exec1 exec2 exec3
到此這篇關(guān)于python模塊中判斷全局變量的賦值的實(shí)例講解的文章就介紹到這了,更多相關(guān)python判斷全局變量賦值內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明3. CSS hack用法案例詳解4. PHP設(shè)計(jì)模式中工廠模式深入詳解5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP+ajax實(shí)現(xiàn)頂一下、踩一下同支持與反對(duì)的實(shí)現(xiàn)代碼7. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法8. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過(guò)程(親測(cè)可用)9. asp中response.write("中文")或者js中文亂碼問(wèn)題10. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析
