Использование имен переменных параметров конструктора во время создания объекта в Python? - PullRequest
1 голос
/ 02 апреля 2020

При объявлении нового экземпляра объекта в python, зачем кому-то использовать имена переменных из параметров во время создания? Допустим, у вас есть следующий объект:

class Thing: 
    def __init__(self,var1=None,var2=None):
        self.var1=var1
        self.var2=var2

Программист решает создать экземпляр этого объекта через некоторое время и вводит его следующим образом:

NewObj = Thing(var1=newVar,var2=otherVar)

Is Есть ли причина, по которой кто-то вводил бы его таким образом, а не просто вводил переменные newVar / otherVar в параметры конструктора без использования «var1 =» и «var2 =»? Как показано ниже:

NewObj = Thing(newVar,otherVar)

Я довольно новичок в использовании python, и я не смог найти ничего об этом специфическом синтаксисе c, даже если он кажется довольно простым / простым вопросом

1 Ответ

2 голосов
/ 02 апреля 2020

Причина в ясности не для компьютера, а для вас и других людей.

class Calculation: 
    def __init__(self, low=None, high=None, mean=None):
        self.low=low
        self.high=high
        self.mean=mean

...

# with naming (notice how ordering is not important)
calc = Calculation(mean=0.5, low=0, high=1)

# without naming (now order is important and it is less clear what the numbers are used for)
calc = Calculation(0, 1, 0.5)

Обратите внимание, что то же самое можно сделать для любой функции, не только при инициализации объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...