Python教程:動態變量名定義與調用

2021-01-18 騰訊網

動態變量名賦值

在使用tkinter時需要動態生成變量,如動態生成var1...var10變量

使用exec動態賦值

exec在python3中是內置函數,它支持python代碼的動態執行。

示例:

利用命名空間動態賦值

在Python的命名空間中,將變量名與值存儲在字典中, 可以通過locals(),globals()函數分別獲取局部命名空間和全局命名空間。

示例

在類中使用動態變量

python的類對象的屬性儲存在的__dict__中。__dict__是一個詞典,鍵為屬性名,值對應屬性的值。

調用動態變量

事實上,對於重複性的變量,我們一般不會這樣調用變量,如:var0, var1, var2, var3 ,var4....varN,可以利用下面方法動態調用變量

先定義如下變量:

利用exec函數

同樣地,可以使用exec調用變量

利用命名空間

因為命令空間的locals()與globals()均會返回一個字典,利用字典的get方法獲取變量的值

相關焦點

  • python動態添加類對象成員:變量、函數
    一般類對象新增變量或方法的過程在面向對象(OOP)的編程方法中,如果需要給實例化的類對象新增方法或者屬性,一般都是在class類的定義中新增內容,然後才能用類對象來調用新增的方法或變量。如在C++中:pythonyu'yan那麼下面就以下圖中的代碼為例,為大家演示如何給python中的類對象動態的添加變量/屬性和方法:
  • python進階教程之變量
    )print("調用函數後 實參內存地址是 %x" % id(a)) print("調用函數後 返回值內存地址是 %x" % id(r))02.3.1 局部變量局部變量的作用```python def demo1():num = 10 print(num) num = 20 print("修改後 %d" % num)def demo2():num = 100 print(num)demo1() demo2()
  • python 函數定義以及函數的調用
    函數名命名規則: 字母、數字和下劃線組成,和變量命名規則一致return 後面可以返回任意表達式,但不能是賦值語句3. 函數調用:函數名(參數)4.參數的調用:位置參數關鍵字參數3. 在python中參數無類型,參數可以接受任意對象,只有函數中代碼才會對參數類型有限制4.
  • Python 動態生成變量名以及動態獲取變量的變量名
    【導語】:必須現在需要動態創建16個list,每個list的名字不一樣,但是是有規律可循,比如第一個list的名字叫:arriage_list_0=[],第二個叫arriage_list_1=[]……..依次類推,但是我又不想手動的去寫16個這樣的名字,太累了,而且增加了代碼的冗餘性,靈活性也不強,所以有沒有一種方法是能動態創建list名稱的呢?
  • python教程第四課:初見python,如何使用輸入輸出和變量?
    91年第一個python的編譯器誕生,最初是使用C語言實現的,並且可以調用C語言的庫文件。2、Python2.0在2000年發布,增加了實現完整的垃圾回收機制,並且支持Unicode,發布完2.0以後,使用python的人數開始增多。3、Python3.0在2008年發布,這個版本和2.0的版本已經不完全兼容了,而且在代碼編寫風格上有也一定的改變。
  • 了解python變量類型,曉得python變量命名規則,學習python第1天
    想學習python,首先就需要了解python用來存儲數據的載體是什麼?而它就是變量,那python變量類型有哪幾種呢?python變量命名規則又有哪些?下面羽憶教程為你介紹。python變量命名規則python變量就跟我們每個人一樣,都需要擁有一個名字讓別人記住你,就像說起華為,你會想到華為創始人任正非一樣。python變量也需要有一個名字來區分,而python變量命名規則有哪些呢?
  • Uipath中調用Python的方法
    這篇文章將有助於在UiPath中使用Python活動(Activity),該活動允許從UiPath調用和執行Python腳本。不僅可以執行Python腳本,還可以將參數傳遞給Python方法,並將結果分配給UiPath變量,該變量可在以後的RPA流程中使用。
  • 跟光磊學Python-變量和數據類型
    >變量的定義格式: 變量名=變量值python解釋器會根據變量值的數據類型來自動推導變量的數據類型,而不需要在定義時指定數據類型"""變量的定義和使用@author liuguanglei 18601767221@163.com
  • Win7怎麼配置python環境變量?win7系統攻略
    本文教程小編和大家分享win7系統配置python環境變量的方法,環境變量是在作業系統中一個具有特定名字的對象,它包含了一個或者多個應用程式所將使用到的信息。比如Windows和DOS作業系統中的path環境變量,那麼 Win7純淨版 下怎麼配置python環境變量?下面小編分享一種簡單的設置方法。
  • 慢步python,編程中函數的概念,python中函數的聲明和調用
    比如筆者上一篇文章慢步python,說說import,引用功能代碼(功能庫、py文件代碼)中functions.py文件就定義了一個函數,並在另一個程序中調用了。這個showlctime()函數實現了特定的功能:調用函數的結果就是輸出當前的列印時間。編程中的函數是具有特定功能的代碼組。如果想實現y=2x+3,在編程中也是可以的。
  • 「python編程」使用pybind11調用C++代碼
    一、前言pybind11是一個只包含頭文件的輕量級庫,可以通過它實現C/C++接口的調用,相比於boost.python, swig, ctypes等,pybind11的優點是API比較簡單且對C++ 11支持很好。
  • 為什麼python裡面的flock鎖不住文件?注意變量的作用域
    中使用flockpython中可以使用標準庫裡面的fcntl.flock來鎖文件.我們先嘗試用同樣的方法來lock一個文件.python進程啟動之後直接對/var/run/test.lock1文件進行lock,成功之後運行主程序代碼.
  • 小白學Python——模塊的調用
    內置模塊(builtins)在解析器的內部可以直接使用標準庫模塊,安裝python時已經安裝可以直接使用第三方模塊(通常為開源),需要自己安裝pip3 install 模塊名或是 pip install 模塊名(通常用來安裝python3的模塊
  • Python使用ctypes模塊調用DLL函數之傳遞結構體參數
    在Python語言中,可以使用ctypes模塊調用其它如C++語言編寫的動態連結庫DLL文件中的函數,在提高軟體運行效率的同時,也可以充分利用目前市面上各種第三方的DLL庫函數,以擴充Python軟體的功能及應用領域,減少重複編寫代碼、重複造輪子的工作量,這也充分體現了Python語言作為一種膠水語言所特有的優勢
  • Python零基礎入門教程,如何對私有變量取值和賦值?
    大綱私有變量的取值和賦值使用裝飾器property對私有變量取值和賦值如何對私有變量取值和賦值通過上篇文章講解的對象封裝性,我們知道外部無法訪問私有變量,如果我們想訪問私有變量,可以通過公有的set(賦值)和get(取值)方法訪問。使用set和get方式進行封裝示例代碼如下所示
  • Python變量是怎麼定義和使用的?本文詳解
    _wv=1027&k=pDEhzaCh" #將 Python 教程的地址賦值給變量 strreal = True #將布爾值賦值給變量 real變量的值不是一成不變的,它可以隨時被修改,只要重新賦值即可;另外你也不用關心數據的類型,可以將不同類型的數據賦值給同一個變量
  • Python調用C模塊以及性能分析
    pi.contents  c_int(999)  >>> pi.contents=c_long(34343)  >>> pi.contents  c_int(34343)   通過pointer獲取一個值的指針 通過contents獲取一個指針的值 5.c的結構體 #定義一個c的structure,包含兩個成員變量
  • Python教程基礎語法、變量基本使用和算術運算符
    變量定義· 在 Python 中,每個變量 在使用前都必須賦值,變量 賦值以後 該變量 才會被創建· 等號(=)用來給變量賦值o = 左邊是一個變量名o = 右邊是存儲在變量中的值python 變量名 = 值變量定義之後,後續就可以直接使用了1) 變量演練1 —— iPython```python
  • 我無意中寫了一個 7k star 的 Python 教程
    兩年前,心血來潮,決定寫一個 python 教程。寫了好幾個月,才寫完了入門教程,教程裡面的每個例子都是自己一個一個字母的敲的,也都去驗證過的。當時自己每寫完一篇,就會不自覺的想,什麼時候才能寫完啊,真的想快點結束。可能會有人很奇怪,為什麼想快點結束?
  • 雙劍合璧,Python調用C代碼
    作為一種動態語言,Python的語法靈活,表達強大,因此備受大家青睞,成為目前最受歡迎的語言之一。但是與此同時,靈活的語言特性所帶來的代價是性能的降低。因此,Python在一些計算密集型的場景中,與一些底層語言,如C、C++相比,往往顯得力不從心。