2013-02-12 6 views
-3

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

class test: 
    def __init__(self, arg1, arg2, arg3): 
     self.arg1 = arg1 
     self.arg2 = arg2 
     self.arg3 = arg3 

В основном, как будут устанавливаться эти аргументы? (если вы не получите мой вопрос, пожалуйста, попросите меня перефразировать)

Спасибо!

+2

Может ли человек успевать ввести нужные аргументы в любую другую функцию/метод? –

+0

Можете ли вы перефразировать? – LtWorf

+0

http://stackoverflow.com/questions/625083/python-init-and-self-what-do-they-do - просто убедитесь, что вы * «понимаете, какие конструкторы» * – root

ответ

0
test1 = test(1, 2, 3) 

Конструктор подобен любой старой функции, и вы передаете ему аргументы.

0

Конструктор вызывается после того, как объект создан, не только она называется:

t = test (arg1, arg2, arg3) 
0

Простой - когда экземпляр класса позже:

a = test(arg1, arg2, arg3) 

a теперь тестовый класс, с тремя аргументами, установленными при его инициализации.

+1

@CasparWylie у вас не может быть более одного конструктора. – Volatility

+0

Вызывается '__init__', когда вы инициализируете объект - по определению не может быть более одного' __init__'. – TyrantWave

+0

Эти аргументы, вероятно, имеют значения по умолчанию (или будут 'None', если не установлены). 'def __init __ (self, arg1 = 2, arg2 = 3)' будет по умолчанию 'arg1,2' до' 2,3' соответственно, если вы их вручную не установили вручную. – TyrantWave

0

Целью этого является непосредственная инициализация некоторых переменных, переданных конструктору. Конструктор, как было написано несколько раз ранее, называется:

t = test(arg1, arg2, arg3) 

У вас есть для переданных параметров определенные значения в вашем классе.