是否有可能在python中有静态类变量或方法?这样做需要什么语法?
我试图通过迭代创建一个随机的键列表:
import random
keys = ['1', '2', '3', '4', '5']
random.shuffle(keys)
print keys
Run Code Online (Sandbox Code Playgroud)
这很完美.但是,如果我把它放在循环中并捕获输出:
a = []
for x in range(10):
random.shuffle(keys)
a.append(keys)
Run Code Online (Sandbox Code Playgroud)
我得到10次同样的洗牌?!显然这里有些根本错误......提前谢谢.
有人能指出我做错了什么或我的理解错了吗?
对我来说,下面的实例化两个对象的代码似乎应该为每个实例化提供单独的数据.
class Node:
def __init__(self, data = []):
self.data = data
def main():
a = Node()
a.data.append('a-data') #only append data to the a instance
b = Node() #shouldn't this be empty?
#a data is as expected
print('number of items in a:', len(a.data))
for item in a.data:
print(item)
#b data includes the data from a
print('number of items in b:', len(b.data))
for item in b.data:
print(item)
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
但是,第二个对象是使用第一个数据创建的:
>>>
number of items in a: 1
a-data …Run Code Online (Sandbox Code Playgroud)