Mã dưới đây cố gắng minh họa những gì tôi muốn. Về cơ bản tôi muốn hai trường hợp "ngẫu nhiên" hoạt động độc lập với nhau. Tôi muốn hạt giống "ngẫu nhiên" trong một lớp mà không ảnh hưởng "ngẫu nhiên" trong lớp khác. Làm thế nào tôi có thể làm điều đó?Các trường hợp độc lập 'ngẫu nhiên'
class RandomSeeded:
def __init__(self, seed):
import random as r1
self.random = r1
self.random.seed(seed)
def get(self):
print self.random.choice([4,5,6,7,8,9,2,3,4,5,6,7,])
class Random:
def __init__(self):
import random as r2
self.random = r2
self.random.seed()
def get(self):
print self.random.choice([4,5,6,7,8,9,2,3,4,5,6,7,])
if __name__ == '__main__':
t = RandomSeeded('asdf')
t.get() # random is seeded within t
s = Random()
s.get()
t.get() # random should still be seeded within t, but is no longer
Trả lời trường hợp cụ thể cũng như vấn đề chung của tôi. Cảm ơn rất nhiều! – Lin
Deepcopying một mô-đun âm thanh đáng sợ. – FogleBird
Thật khó để nghĩ về một trường hợp khi tạo bản sao của một mô-đun có ý nghĩa trong một thiết kế hợp lý từ xa. –