Предположим, у вас есть класс Python, конструктор выглядит примерно так:Вызов Python конструктор с аргументами по умолчанию
def __init__(self,fname=None,data=[],imobj=None,height=0,width=0):
и вы хотите создать экземпляр этого, но только обеспечить Fname и imobj входы. Будет ли правильный способ сделать это:
thing = Thing(f_name, None, im_obj, None, None)
или есть предпочтительный способ совершения этого звонка?
Просто используйте именованные аргументы: «Thing (fname = f_name, imobj = im_obj)», все остальное по умолчанию. – swstephe
Вы не хотите, чтобы 'data = []' как аргумент по умолчанию, как пишет iCodez ниже. То, что вы хотите, это 'data = None', затем в теле' __init__' вы можете написать 'if data None: self.data = []' или все, что вы планировали сделать с ним. – jme