擅长:python、mysql、java
<p>这是因为<code>_title_uuid</code>是一个<a href="https://docs.python.org/2/tutorial/classes.html#class-and-instance-variables" rel="nofollow noreferrer">class variable</a>而不是一个实例变量:它只初始化了一次。但是如果你在构造函数中初始化它,它应该可以工作。你知道吗</p>
<p>另见<a href="https://stackoverflow.com/questions/68645/static-class-variables-in-python">Static class variables in Python</a></p>
<p>例如</p>
<pre><code>import random
class Foo:
num1 = random.randint(1,10)
def __init__(self):
self.num2 = random.randint(1,10)
for n in range(10):
foo = Foo()
print(foo.num1, foo.num2)
</code></pre>
<p>运行上述命令可以得到:</p>
<pre><code>(7, 2)
(7, 6)
(7, 6)
(7, 5)
(7, 7)
(7, 1)
(7, 2)
(7, 3)
(7, 7)
(7, 7)
</code></pre>
<p>您也可以在这里执行<code>print(Foo.num1)</code>,如果这澄清了什么的话,但不能执行<code>print(Foo.num2)</code>,因为这只存在于实例化对象。你知道吗</p>
<p>如您所见,<code>num1</code>被初始化一次,而<code>num2</code>被初始化为对象的每个实例化。你知道吗</p>
<p>在你的情况下,你可以这样做:</p>
<pre><code>class AddConsignmentPage(BasePage):
def __init__(self):
super(AddConsignmentPage, self).__init__() # initializes BasePage
self._title_uuid = get_random_uuid(7)
# ...
</code></pre>