Python函数不调用\uu init__

2024-09-30 16:29:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个Python新手,所以我提前为可能是一个愚蠢的问题道歉。 我编写了一个函数,它将字母表中的每个字母映射到相应的素数。这个功能很好用。你知道吗

我遇到的问题是,我想创建一个dict,然后将“dictionary”变量设置为返回dict的“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)

Tags: 函数selfindexdictionaryinitmaindef字母
1条回答
网友
1楼 · 发布于 2024-09-30 16:29:45

__init__^{}中使用,您还没有在这里定义类。查看this answer。你知道吗

大概,您要么想将__init__populateprimelist函数放入class。或者,您实际上不需要在此处定义类,只需使用普通函数调用创建“prime list”字典即可:

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

您不需要self,因为没有使用自定义类。你知道吗

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

相关问题 更多 >