0
我有一堆類,各有一個參數__init__
,然後返回一些數據,例如,類,比如字典,無限列表
class Animal(object):
def __init__(self, name):
if name == 'lion':
self.sound = 'roar'
elif name == 'human':
self.sound = 'burp'
else:
raise ValueError('Unknown animal')
class Passenger(object):
def __init__(self, index):
self.sound = 'I\'m passenger number %d.' % index
一些類的基本列表或字典(如有些是「開放式」(如Prime
)。在實例化任何類之後,它們在其他地方使用,因此很高興您可以用相同的方式實例化它們(Something(arg)
)。
什麼是不是不錯,雖然作爲一個用戶,我不知道哪些是有效的密鑰,而不看代碼。像
animals = {
'lion': {'sound': 'roar'},
'human': {'sound': 'burp'},
}
東西會解決這個問題,但Passenger
不適合在這裏。
是否有符合兩種情況的設計模式?
你可以讓該字典變成一個類變量。真正的面向對象的方法是讓'Lion'和'Human'成爲擴展'Animal'的類 –