Python 具有随机属性值的属性?
Python attrs with Random Attribute Value?
我正在使用 attrs
创建具有属性 surprise
的 class A
然后应该 return 一个不同的随机值(可能从列表中选择可能值)每次访问时。
@attr.s
class A(object):
surprise = attr.ib(type=str)
我们如何添加一个钩子来访问 class 的 surprise
属性?这个钩子可以让我们在每次访问 surprise
属性时生成一个新的字符串值。
谢谢!
期望:
a = A()
print a.surprise # foo
print a.surprise # bar
print a.surprise # another_random_str
应该这样做:
from random import randint
class A:
my_vars = ["str1", "str2", 1, 2, "whatever"]
@property
def surprise(self):
return self.my_vars[randint(0, len(self.my_vars)-1)]
我正在使用 attrs
创建具有属性 surprise
的 class A
然后应该 return 一个不同的随机值(可能从列表中选择可能值)每次访问时。
@attr.s
class A(object):
surprise = attr.ib(type=str)
我们如何添加一个钩子来访问 class 的 surprise
属性?这个钩子可以让我们在每次访问 surprise
属性时生成一个新的字符串值。
谢谢!
期望:
a = A()
print a.surprise # foo
print a.surprise # bar
print a.surprise # another_random_str
应该这样做:
from random import randint
class A:
my_vars = ["str1", "str2", 1, 2, "whatever"]
@property
def surprise(self):
return self.my_vars[randint(0, len(self.my_vars)-1)]