我有两个Python模块:user.py和lib.py。lib.py包含某些以以下方式编写并从user.py模块调用的函数:
def foo1():
pass
def foo2():
pass
def foo3():
pass
现在我想在lib.py模块中添加一个静态字符串列表,以便lib.py模块中的所有函数都可以使用它们。我想以以下方式严格初始化字符串列表:
string_list = []
string_list.append('string1')
string_list.append('string2')
string_list.append('string3')
string_list.append('string4')
什么是最Pythonic的方法来实现这一点?是否可能做一些像这样的事情,这将完美地工作?
string_list = []
string_list.append('string1')
string_list.append('string2')
string_list.append('string3')
string_list.append('string4')
def foo1():
print string_list[0]
def foo2():
print string_list[1]
def foo3():
print string_list[2]
string_list
变成fooN
函数的参数,例如def foo(string_list, n): print string_list[n]
。 - jonrsharpe_string_list
而不是string_list
,以减少用户覆盖它的机会。http://docs.python.org/2/tutorial/classes.html#tut-private - MaSpstring_list
是全局变量而不是静态变量。 - Kei Minagawa