python模塊中判斷全局變量的賦值的實例講解
1、在模塊中,我們需要判斷__name__是否被賦值為“__main__”。
python fibo.py <arguments>
2、在腳本執(zhí)行的情況下,模塊的__name__屬性將被賦值為__main__,這就是原因所在。
$ python fibo.py 50 0 1 1 2 3 5 8 13 21 34
3、若以模塊導入,則不會執(zhí)行:
>>> import fibo >>>
知識點擴展:
Python動態(tài)聲明變量賦值代碼實例
通過exec()、globals()和locals()
# 通過exec()
for i in range(1, 4):
# 第一次循環(huán) i=1 時,會執(zhí)行字符串中的python語句 ex1 = "exec1",以此類推
exec(f'ex{i} = "exec{i}"')
# 通過globals()和locals()
def test():
# globals()
for i in range(1, 4):
# 第一次循環(huán) i=1 時,執(zhí)行 globals()['gb1'] = 'global1', globals()是一個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) # 會報錯
except Exception as e:
print(e)
print(locals()['lc1'], locals()['lc2'], locals()['lc3']) # 通過鍵值對
if __name__ == '__main__':
# 執(zhí)行
test()
print('---------------------')
# 打印函數(shù)定義的全局變量
print(gb1, gb2, gb3)
print('---------------------')
# 打印通過exec()定義的變量
print(ex1, ex2, ex3)
輸出結果:
name 'lc1' is not defined local1 local2 local3 --------------------- global1 global2 global3 --------------------- exec1 exec2 exec3
到此這篇關于python模塊中判斷全局變量的賦值的實例講解的文章就介紹到這了,更多相關python判斷全局變量賦值內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python+Pygame實戰(zhàn)之文字劇情游戲的實現(xiàn)
這篇文章主要為大家詳細介紹了如何利用Python和Pygame實現(xiàn)兩款文字劇情游戲——《巨龍之洞》和《太空礦工》,感興趣的小伙伴可以了解一下2022-12-12
python json 遞歸打印所有json子節(jié)點信息的例子
今天小編就為大家分享一篇python json 遞歸打印所有json子節(jié)點信息的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
python 如何把classification_report輸出到csv文件
這篇文章主要介紹了python 把classification_report輸出到csv文件的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05
python使用pymysql實現(xiàn)操作mysql
本文給大家講解的是在python中使用pymysql實現(xiàn)操作mysql的方法匯總,非常的簡單實用,有需要的小伙伴可以參考下2016-09-09
對pandas的dataframe繪圖并保存的實現(xiàn)方法
下面小編就為大家?guī)硪黄獙andas的dataframe繪圖并保存的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08

