在forloop中为多个变量创建唯一名称时出现问题

2024-10-03 23:26:20 发布

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

基于:How do you create different variable names while in a loop?

我创建了我的nameCreator()函数,在其中调用了另外两个函数。 我想问你,是什么原因导致它不能像我想要的那样工作。你知道吗

打印后nameDict是只看到{}的结果。所以我想,变量甚至没有被创建。你知道吗

def nameCreator(number):
    nameDict={}
    for x in range(number):
        nameDict["socketMC{0}".format(x)] = socket_creator(arg1, arg2, "analysedSocket{}".format(x))
        nameDict["threadMC{0}".format(x)] = threading.Thread(target=MC_analysis, args=(arg1, arg2, nameDict["socketMC{}".format(x)]))
    print(nameDict)
    return nameDict

我希望函数迭代number次,在每次迭代循环中创建2个对象,最后返回nameDict,可以在其他地方使用。你知道吗

示例:

socketMC0, threadMC0
socketMC1, threadMC1

其中socketMC{number}是sock对象,threadMC{number}是线程。 我怎样才能做到这一点?你知道吗


Tags: 对象函数inyouformatnumbercreatedo