Python動態(tài)聲明變量賦值代碼實例
更新時間:2019年12月30日 10:09:52 作者:MilesMa
這篇文章主要介紹了Python動態(tài)聲明變量賦值代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了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('---------------------') # 打印函數定義的全局變量 print(gb1, gb2, gb3) print('---------------------') # 打印通過exec()定義的變量 print(ex1, ex2, ex3)
輸出結果:
name 'lc1' is not defined local1 local2 local3 --------------------- global1 global2 global3 --------------------- exec1 exec2 exec3
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。