Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вызвать метод класса не создавая при етом обье 
:(
    Опции темы
n1ke
Дата 31.12.2007, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 3.12.2006

Репутация: нет
Всего: нет



Как вызвать метод класса, не создавая при этом обьект?

Как то так:
Код

class A:
    def plus(self, b, c):
        return b+c

print A.plus(6, 7)

PM   Вверх
Void
Дата 31.12.2007, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 10
Всего: 173



А какую семантику должен иметь такой вызов? Метод класса на то и метод класса, что ему неявно передаётся self — экземпляр, для которого вызван метод. Если метод не нуждается в экземпляре, лучше его оформить, как статический (декоратор staticmethod).
Если очень хочется, то можно устроить хак и подсунуть вместо экземпляра None:
Код
A.plus.im_func(None, 6, 7)

Подробнее в мануале.



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0383 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.