Я пытаюсь эффективно добавить дополнительные функции, поэтому некоторые функции класса. Довольно плохо знаком с Python, поэтому я пытаюсь выучить хорошие привычки. Я реализую это через **kwargs
(к лучшему или к худшему).
Одним из таких примеров является добавление опции 'verbose', которая добавляет несколько условных операторов print во всех функциях, и здесь будет достаточно в качестве модульного теста. Существует много SO Q + As (и других учебных пособий) о **kwargs
использовании для переменных, но меньше об использовании в качестве флагов выполнения.
Моя система отсчета здесь мыслит в терминах перегрузок и операторов switch, поэтому я был на грани использования оператора try
, если существуют различные **kwargs
.
Невозможно скопировать и вставить, вот несколько простых примеров:
class Fruit:
def __init__(self, name):
self.name = name
class Bowl:
def __init__(self):
self.contents = []
def fill_bowl(self, *fruit, **options):
self.fruit_list = []
for x in options:
if options.get(x) == 'verbose':
verbose = 1
else:
verbose = 0
Здесь я бы добавил несколько if verbose == 1: print...
различных атрибутов Fruit
, которые я добавляю в чашу, количество содержимого и т. Д., И т. Д., Чтобы помочь с проверками работоспособности, не проходя через отладчик. глубина.
Это функционально, за исключением некоторых ошибок транскрипции при наборе этого. Я на правильном пути, или есть более интуитивный способ сделать это?