(Python) Какова правильная номенклатура для этого, чтобы я мог искать и узнавать об этом? - PullRequest
2 голосов
/ 01 сентября 2011

Извините за плохой титул.Я действительно понятия не имею, как описать это поисковой системе, чтобы узнать, как она работает.

class MyClass(object):
    def __init__(self, contents=None):
        self.contents = contents

В частности, параметр contents=None.

Я изучаю Python уже около 2 месяцев, и эта часть наполняет воображение.Любая помощь или перенаправление на подобный, ранее заданный вопрос будет очень оцененным.

Ответы [ 4 ]

8 голосов
/ 01 сентября 2011

Это Значение аргумента по умолчанию для Аргумента ключевого слова .

Они довольно простые, если они не изменяемый объект как список или словарь.

На всякий случай это был метод __init__, который отбросил вас - это метод экземпляра класса, который вызывается автоматически при создании экземпляра. Любые аргументы, которые вы передаете, когда вызываете класс для создания нового экземпляра, например

myclass = MyClass(contents='the_contents')

или

myclass = MyClass('the_contents')

в вашем примере передаются методу __init__.

3 голосов
/ 01 сентября 2011

Это просто означает, что «содержимое» - это параметр, который будет передаваться при создании экземпляра, и что у него есть значение по умолчанию «Нет», используемое, когда параметр не задан.

Эти дваспособы создания экземпляров производят одно и то же:

 b = MyClass()

 c = MyClass(None)

Лучшее прочтение о Python с самого начала, вероятно, "погружение" http://diveintopython.net/

1 голос
/ 01 сентября 2011

Вы смотрите на Аргументы ключевых слов . Ссылка на документацию по Python, которая объясняет их довольно подробно.

1 голос
/ 01 сентября 2011

Когда вы определяете метод, вы можете назначить значения по умолчанию для его аргументов. В этом примере содержимое равно None, если вы не передадите ему другое значение в конструкторе.

...