我是一個Python新手,所以我提前道歉可能是一個愚蠢的問題。 我寫了一個函數,將字母表中的每個字母映射到其對應的素數。該功能工作正常。Python函數不會在__init__中調用
我遇到的問題是我想創建一個字典,然後設置'字典'變量的'populateprimelist'函數的結果返回字典。我正在嘗試在'init'函數中執行此操作,我知道它等同於Java構造函數。但是,當我在main方法中打印出'dictionary'變量時,它是空的。
dictionary = dict()
def __init__(self):
dictionary = self.populateprimelist()
def populateprimelist():
primelist = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101]
alphabet = "abcdefghijklmnopqrstuvwxyz"
tempdict = dict()
for index in range(len(alphabet)):
tempdict[(alphabet[index])] = (primelist[index])
return tempdict
if __name__ == '__main__':
print(dictionary)
什麼辦法'__init__'辦? –
我得到的印象是,Java已經習慣了一個類對應於一個文件的想法。在python中,你可以編寫沒有任何類的代碼,它只是作爲一系列語句來執行。 –
btw:你可以使用'return dict(zip(list(alphabet),primelist))'而不是for循環 – Ofir