Мне нужна помощь в написании кода для метода конструктора Python.Конструкторы в Python
Этот метод конструктор будет принимать следующие три параметра:
x, y, angle
Что является примером этого?
Мне нужна помощь в написании кода для метода конструктора Python.Конструкторы в Python
Этот метод конструктор будет принимать следующие три параметра:
x, y, angle
Что является примером этого?
class MyClass(object):
def __init__(self, x, y, angle):
self.x = x
self.y = y
self.angle = angle
Конструктор всегда записывается как функция, называемая __init__()
. В качестве первого аргумента он всегда должен ссылаться на построенный экземпляр. Обычно это называется self
. Остальные аргументы до программиста.
object
в первой строке является суперклассом, то есть это говорит о том, что MyClass
является подклассом object
. Это нормально для определений классов Python.
Вы получаете доступ к полям (экземплярам) экземпляра, используя синтаксис self.
.
спасибо, если возможно, кто-то может объяснить это, поэтому я могу понять его и узнать его – hugh
Технически \ _ \ _ init \ _ \ _ не является конструктором, \ _ \ _ new \ _ \ _ is; см. http://stackoverflow.com/questions/6130644/what-is-the-difference-between-a-constructer-and-initializer-in-python Объект уже существует, когда вызывается \ _ \ _ init \ _ \ _, который инициализирует свои поля. –
class MyClass(SuperClass): def __init__(self, *args, **kwargs): super(MyClass, self).__init__(*args, **kwargs) # do initialization
Это не то, что он попросил. –
Часто конструктор может иметь дополнительные параметры, которые не должны передаваться конструктору parent (s) –
//, @giolekva. Не хотите ли вы улучшить это? –
Конструкторы объявляются с __init__(self, other parameters)
, так что в этом случае:
def __init__(self, x, y, angle):
self.x = x
self.y = y
self.angle = angle
Вы можете прочитать об этом здесь: Class definition in python
Является ли это домашнее задание? Если это так, пожалуйста, пометьте его [домашняя работа]. –
//, Вы хотели бы улучшить этот вопрос, @hugh? –