Python 将类中的信息保存到另一个模块中,并使它们相互影响

Python 将类中的信息保存到另一个模块中,并使它们相互影响,python,Python,问题是每次我在另一个模块中运行代码时,使用的用户名和名称都会重置。 当我写:print(x.random\u name)它显示为buffycarrot,再次这样做将证明同样的事情,而不是字典中下一行的minidiscscum。请修改我的代码或告诉我完成此操作所需的工具和行。函数中的变量是局部变量,这意味着它们只存在于函数中。要使它们成为全局的,请使用global关键字。 例如,在下面的代码中,my_函数打印3,而print(a)打印0 import random names = ["buff

问题是每次我在另一个模块中运行代码时,使用的
用户名
名称都会重置。

当我写:
print(x.random\u name)
它显示为
buffycarrot
,再次这样做将证明同样的事情,而不是字典中下一行的
minidiscscum
。请修改我的代码或告诉我完成此操作所需的工具和行。

函数中的变量是局部变量,这意味着它们只存在于函数中。要使它们成为全局的,请使用
global
关键字。 例如,在下面的代码中,
my_函数
打印3,而
print(a)
打印0

import random


names = ["buffycarrot", "minidiscscutum", "bromidethousand", "potassiumkiva",
         "tamarinenglish", "galliumreproduce","chollywhisky", "waspgermless",
         "annesketch", "channelslaldy", "melbagenius", "lebanesewapiti",
         "monologuepseudo", "albatrosswashington", "ferrisclutch", "moistosdale",
         "granbymixin", "tuxaustrina","diffuserdraw", "pebblecricket", "smilegila",
         "bornedeclair", "sixfoldexcitable", "apricotgangles", "portalensemble",
         "spritsailreduce", "corruptlabcoat", "glowinggrant", "goslingwillow",
         "creoleascender",  "samefee", "omegatarbert", "waggerboned", "seniorglimmer",
         "analyzepale", "sickoeye", "cartloadmoors", "broadlyselfie",
         "interferepurely", "grostynethan", "mendeleviumweird", "supermombangin",
         "gashpanicky", "periodprivate", "possetpastor", "bannerrosti", "reamerchex",
         "punkfeline", "poachedkarate", "cupcakegrin"]

def random_name(name_count):
        username = ""
        names_used = []
        for name in names:
            if name not in names_used:
                chosen_name = ""
                chosen_name += names[name_count]
                names_used += chosen_name
                return chosen_name
            else:
                name_count += 1
输出:

a = 0

def my_function():
    a = 3
    print(a)

my_function()

print(a)
a = 0

def my_function():
    global a
    a = 3
    print(a)

my_function()

print(a)
如果使用
global
,则可以将变量从本地更改为全局

3
0
输出:

a = 0

def my_function():
    a = 3
    print(a)

my_function()

print(a)
a = 0

def my_function():
    global a
    a = 3
    print(a)

my_function()

print(a)
将使用的变量
username
name\u从本地转换为全局,应该可以让它们存储类中的信息

3
3

你想要保持全局状态,这是你的选择。

你的标题和代码似乎没有什么关系。代码不涉及类或模块,因此标题似乎完全不符合顺序。您的问题是关于如何在不替换的情况下从列表中获取随机名称,还是关于模块?