相关疑难解决方法(0)

静态类变量是否可能?

是否有可能在python中有静态类变量或方法?这样做需要什么语法?

python oop static class class-variables

1824
推荐指数
20
解决办法
114万
查看次数

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次同样的洗牌?!显然这里有些根本错误......提前谢谢.

python random for-loop

7
推荐指数
1
解决办法
2491
查看次数

我究竟做错了什么?Python对象实例化保留以前实例化的数据?

有人能指出我做错了什么或我的理解错了吗?

对我来说,下面的实例化两个对象的代码似乎应该为每个实例化提供单独的数据.

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)

python instantiation

5
推荐指数
2
解决办法
1215
查看次数

标签 统计

python ×3

class ×1

class-variables ×1

for-loop ×1

instantiation ×1

oop ×1

random ×1

static ×1