Python 函数未在 __init__ 中调用

Python function does not call in __init__

我是 Python 新手,所以对于这个可能很愚蠢的问题,我提前表示歉意。 我编写了一个函数,将字母表中的每个字母映射到其对应的素数。该功能工作正常。

我遇到的问题是我想创建一个字典,然后将 'dictionary' 变量设置为 'populateprimelist' 函数的结果,其中 returns 一个字典。我正在尝试在“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__ 用于 class --- and you haven't defined a class here. Check out this answer.

据推测,您要么想将 __init__populateprimelist 函数放入 class 中。或者,您实际上不需要在此处定义 class,您只需使用普通函数调用创建 'prime-list' 字典即可:

if __name__ == '__main__':
    dictionary = populateprimelist()
    print(dictionary)

您不需要 self,因为没有使用自定义 class。

您也不需要第一个字典初始化 dictionary = dict()