91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Python項目中生成和調用變量

發布時間:2020-11-21 14:39:05 來源:億速云 閱讀:148 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關如何在Python項目中生成和調用變量,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

使用Locals()方法

在普通函數內的確可以使用,但在類中不行。這個問題也困擾了我很久,所以,建議在編寫類時需要批量創建和調用變量時,不建議使用。

for i in range(3):
  locals() ['x' + str(i)] = i

for j in range(3):
  a = locals() ['x' + str(j)]
  print(a)
print(x0)

執行結果如下:

0
1
2
0

此時在普通函數中一切正常,但在編寫的類中無法運行:

class test(object):
  def __init__(self):
    for i in range(3):
      locals() ['self.x' + str(i)] = i
  def run(self):
    for i in range(3):
      a = locals() ['self.x' + str(i)]
      print(a)

a = test()
a.run()

報錯信息如下,并沒有找到這個變量。而我在編寫GUI時,類是常用的工具,所以在類中調用這個方法時,導致了錯誤。

KeyError: 'self.x0'

所以我找到了一種更加優雅的方式,使用字典。

使用字典

字典鍵值對的形式,尤其是鍵可設置為字符串,對此類問題可以提供良好的解決方案。

class test(object):
  def __init__(self):
    self.d = {}
    for i in range(3):
      self.d['x' + str(i)] = i
  def run(self):
    for i in range(3):
      a = self.d['x' + str(i)]
      print(a)

asd = test()
asd.run()

此時便可以愉快的在類中批量的生成與調用變量。而在普通函數中也是可以的:

d = {}

for i in range(3):
  d['x' + str(i)] = i
  
print(d.keys())
print(d['x0'])

for i in range(3):
  print(d['x' + str(i)])

輸出結果如下:

dict_keys(['x0', 'x1', 'x2'])
0
0
1
2

看完上述內容,你們對如何在Python項目中生成和調用變量有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新乡市| 高尔夫| 凯里市| 延寿县| 内丘县| 武乡县| 阿拉善盟| 清苑县| 精河县| 白河县| 自贡市| 上饶市| 阿城市| 汉川市| 阿拉善右旗| 昌邑市| 武城县| 托里县| 蒙山县| 积石山| 阿尔山市| 泽库县| 太仓市| 石渠县| 墨玉县| 绥滨县| 昌图县| 海宁市| 调兵山市| 舞阳县| 新泰市| 寿宁县| 赣榆县| 开原市| 大兴区| 合阳县| 郧西县| 建宁县| 卢龙县| 梧州市| 松阳县|