第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在python中打印變量名?

如何在python中打印變量名?

郎朗坤 2019-07-24 19:58:44
如何在python中打印變量名?假設我有一個名為choice它的變量等于2.我如何訪問變量的名稱?相當于的東西In [53]: namestr(choice)Out[53]: 'choice'用于制作字典。有一個很好的方法來做到這一點,我只是錯過了它。編輯:因此,這樣做的原因。我正在運行一些數(shù)據(jù)分析的東西,我在程序中調(diào)用了多個參數(shù),我想在運行時調(diào)整或不調(diào)整。我讀了我在上一次運行中使用的參數(shù),從.config文件格式化為filename no_sig_resonance.dat mass_peak700choice1,2,3當提示輸入值時,將顯示先前使用的值,空字符串輸入將使用先前使用的值。我的問題是因為在寫字典時已經(jīng)掃描了這些值。如果需要一個參數(shù),我運行get_param訪問文件并找到參數(shù)。我想我會通過閱讀來避免這個問題。config提交一次并從中生成字典。我原本避免了這個......我不再記得的原因。更新我的代碼的完美情況!
查看完整描述

3 回答

?
烙印99

TA貢獻1829條經(jīng)驗 獲得超13個贊

如果你堅持,這里有一些可怕的基于檢查的解決方案。

import inspect, redef varname(p):
  for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]:
    m = re.search(r'\bvarname\s*\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)', line)
    if m:
      return m.group(1)if __name__ == '__main__':
  spam = 42
  print varname(spam)

我希望它會激勵你重新評估你的問題并尋找另一種方法。


查看完整回答
反對 回復 2019-07-24
?
MM們

TA貢獻1886條經(jīng)驗 獲得超2個贊

回答你原來的問題:

def namestr(obj, namespace):
    return [name for name in namespace if namespace[name] is obj]

例:

>>> a = 'some var'>>> namestr(a, globals())['a']


查看完整回答
反對 回復 2019-07-24
?
拉風的咖菲貓

TA貢獻1995條經(jīng)驗 獲得超2個贊

你不能,因為Python中沒有變量而只有名稱。

例如:

> a = [1,2,3]> b = a> a is bTrue

這兩個中的哪一個現(xiàn)在是正確的變量?a和之間沒有區(qū)別b。

之前有一個類似的問題


查看完整回答
反對 回復 2019-07-24
  • 3 回答
  • 0 關注
  • 3985 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號