2013-08-06 9 views
-3

Я хотел бы вызвать метод класса из чего-то, созданного другим методом в классе. Как мне это сделать?Работа с объектом, созданным классом?

например:

class call_me(object): 

    def __init__(self, x, y): 
     self.x = 5 
     self.y = 10 

    def subtract(self): 
     difference = self.y - self.x 
     return difference 

    def add(self.subtract,second_number): 
     # code to add the two numbers, x and y... 

Как добавить второй номер к разнице возвращенного вычитания?

Извинения за плохую формулировку исходного вопроса. То, что я хотел сделать, это понять, как вызвать метод из класса на что-то, созданное другим методом в классе, но в моем примере использовались атрибуты x и y. Вопрос в его отредактированной форме лучше отражает то, что я хотел бы понять.

+0

Не редактируйте свой вопрос, чтобы иметь в нем правильный ответ. оставьте это неправильно, чтобы ответ имел смысл. – Stephan

+2

Вы только что значительно изменили значение своего вопроса, предоставив ответы, которые вы получили гораздо труднее понять для всех, кто сталкивается с ними. Если у вас есть новый вопрос, пожалуйста, напишите новый вопрос *. –

+0

«Вопрос в его отредактированной форме лучше отражает то, что я хотел бы понять». Но это не вопрос, который вы изначально задали *, который заставляет людей стараться отвечать на него впустую. Чтобы повторить: ** Если у вас есть новый вопрос, отправьте новый вопрос. ** –

ответ

2

Вы должны хранить x и y значения на экземпляре, делая их атрибуты self:

class call_me(object): 
    def __init__(self, x, y): 
     self.x = x 
     self.y = y 

    def add(self): 
     return self.x + self.y 

Вы действительно хотите, чтобы рассмотреть Classes chapter учебника Python, хотя.

+0

Возможно, вы захотите удалить аргументы 'x' и' y' в '__init__'. Некоторые люди могут подумать, что вы динамически называете атрибуты или что-то еще. – roippi

+0

@roippi: Вместо этого я использовал параметры функции. –

+0

Конечно, это тоже работает. – roippi