所以我試圖在父類中創建一個方法,該方法需要一個屬性,該屬性是(數字 a)和(數字 b)之間的隨機整數,該值是事先實體化的。但是對于每個子類,我想在不同的數字之間實體化一個不同的隨機整數,比如(數字 c)和(數字 d)。它為每個類生成不同的數字,但是每次為類運行該方法時,實體化的數字都會保存為每個類的相同數字,而無需每次重新隨機化。我希望它在每次呼叫該方法時隨機化。
import random
class Parent:
def __init__(self):
self.random = random.randint(1, 10)
def randomize(self):
print(self.random)
class Child(Parent):
def __init__(self):
self.random = random.randint(11, 20)
a = Parent()
b = Child()
a.randomize()
a.randomize()
a.randomize()
b.randomize()
b.randomize()
b.randomize()
第一個輸出:
9
9
9
15
15
15
第二個輸出:
3
3
3
19
19
19
我希望每次呼叫該方法時隨機化一個不同的數字,同時為每個類隨機化不同的數字范圍。目標是不必將方法復制/粘貼到每個類中硬編碼不同的 .randint。
uj5u.com熱心網友回復:
請參閱@johnsharpe 的評論。您應該將下限和上限作為引數,然后在random.randint每次要隨機化時呼叫。
import random
class Parent:
def __init__(self, a=1, b=10):
self.a = a
self.b = b
self.random = random.randint(self.a, self.b)
def randomize(self):
self.random = random.randint(self.a, self.b)
print(self.random)
class Child(Parent):
def __init__(self):
super().__init__(11, 20)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/464913.html
