Python 動態變數名與呼叫介紹
導讀 | Python是一種計算機程式設計語言。是一種物件導向的動態型別語言,最初被設計用於編寫自動化 ( )。 |
動態變數名賦值
在使用 tkinter 時需要動態生成變數,如動態生成 var1...var10 變數。
使用 exec 動態賦值
exec 在 python3 中是內建函式,它支援 python 程式碼的動態執行。
使用 exec 動態賦值
exec 在 python3 中是內建函式,它支援 python 程式碼的動態執行。
例項
>>> for i in range(5): ... exec('var{} = {}'.format(i, i)) ... >>> print(var0, var1, var2, var3 ,var4) 0 1 2 3 4 >>>
利用名稱空間動態賦值
在 Python 的名稱空間中,將變數名與值儲存在字典中,可以透過 locals(),globals() 函式分別獲取區域性名稱空間和全域性名稱空間。
例項
>>> names = locals() >>> for i in range(5): ... names['n' + str(i) ] = i ... >>> print(n0, n1, n2, n3, n4) 0 1 2 3 4 >>>
在類中使用動態變數
Python 的類物件的屬性儲存在的 __dict__ 中。__dict__ 是一個詞典,鍵為屬性名,值對應屬性的值。
例項
>>> print(n0, n1, n2, n3, n4) 0 1 2 3 4 >>> class Test_class(object): ... def __init__(self): ... names = self.__dict__ ... for i in range(5): ... names['n' + str(i)] = i ... >>> t = Test_class() >>> print(t.n0, t.n1, t.n2, t.n3, t.n4) 0 1 2 3 4
呼叫動態變數
事實上,對於重複性的變數,我們一般不會這樣呼叫變數,如:var0, var1, var2, var3 ,var4....varN,可以利用下面方法動態呼叫變數。
先定義如下變數:
例項
>>> for i in range(5): ... exec('var{} = {}'.format(i, i)) ... >>> print(var0, var1, var2, var3 ,var4) 0 1 2 3 4
利用 exec 函式
同樣地,可以使用 exec 呼叫變數
例項
>>> for i in range(5): ... exec('print(var{}, end=" ")'.format(i)) ... 0 1 2 3 4
利用名稱空間
因為 空間的 locals() 與 globals() 均會返回一個字典,利用字典的 get 方法獲取變數的值。
例項
>>> names = locals() >>> for i in range(5): ... print(names.get('var' + str(i)), end=' ') ... 0 1 2 3 4
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2688035/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python動態變數名定義與呼叫Python變數
- Python 動態變數名定義與呼叫Python變數
- 物件呼叫動態變數物件變數
- Python中動態類和動態方法的建立與呼叫Python
- JS如何動態生成變數名[重點]JS變數
- Python生成動態二維碼,MyQR介紹Python
- 複製狀態與變數記錄表 | performance_schema全方位介紹變數ORM
- 群簽名與環簽名的介紹
- SAP ABAP Function Module 的動態呼叫方式使用方式介紹試讀版Function
- 動態密碼演算法介紹與實現密碼演算法
- Mybatis介紹之 動態SQLMyBatisSQL
- 簡單介紹Lua中的變數與賦值方法變數賦值
- 簡單介紹nginx 變數使用Nginx變數
- Python 入門系列 —— 5. 三大變數型別介紹Python變數型別
- python變數與變數作用域Python變數
- shell程式設計–bash變數介紹程式設計變數
- js 呼叫棧機制與ES6尾呼叫優化介紹JS優化
- Python中已有的多個變數批量(動態)使用Python變數
- Android 動畫 介紹與使用Android動畫
- Python 中變數賦值傳遞時的引用和複製介紹Python變數賦值
- JavaScript中的預解析(變數提升)介紹!JavaScript變數
- JavaScript中的預解析(變數提升)介紹JavaScript變數
- yocto-名詞介紹
- Python 複數屬性及操作介紹Python
- Python數模筆記-Sklearn(1) 介紹Python筆記
- 動態IPvps的介紹及其連線方法
- 動態惡意軟體分析工具介紹
- iOS中的動態庫,靜態庫和framework介紹iOSFramework
- C++中的基本變數型別介紹C++變數型別
- 簡單介紹Linux環境變數檔案Linux變數
- java基礎(九) 可變引數列表介紹Java
- 簡單介紹SQLserver中的declare變數用法SQLServer變數
- python 列出皮膚資料所有變數名Python變數
- Python自動化測試框架介紹Python框架
- python之深入講解變數與名稱空間及資料引數與容器引數區別Python變數
- ipa重簽名原理介紹
- 對於systemverilog靜態變數和動態變數 ,描述不正確的是()。變數
- Python前景介紹Python