Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PHP, Perl, Python Новый топик    Ответить
 Python: Сохраняется ли объект, если засейвить только ссылку на его метод?  [new]
AlekseySQL
Member

Откуда:
Сообщений: 901
Есть объект, после создания которого я передаю в другую функцию только один из его методов.

Вот интересно будет ли корректна работа этого метода, ведь ссылок на объект, которому она принадлежит, нигде не остается.

Есть какие- то подводные камни в таком подходе?
4 янв 19, 11:44    [21778301]     Ответить | Цитировать Сообщить модератору
 Re: Python: Сохраняется ли объект, если засейвить только ссылку на его метод?  [new]
Лысый дядька
Member

Откуда:
Сообщений: 181
AlekseySQL,

видимо, написать пять строчек кода для проверки слишком сложно для такого солидного специалиста

class Foo:

    def foo(self):
        print("Foo ", self)


f = Foo()


def fn(meth):
    meth()


fn(f.foo)
4 янв 19, 12:37    [21778321]     Ответить | Цитировать Сообщить модератору
 Re: Python: Сохраняется ли объект, если засейвить только ссылку на его метод?  [new]
AlekseySQL
Member

Откуда:
Сообщений: 901
Лысый дядька, вопрос о подводных камнях...
4 янв 19, 14:48    [21778390]     Ответить | Цитировать Сообщить модератору
 Re: Python: Сохраняется ли объект, если засейвить только ссылку на его метод?  [new]
Hett
Member

Откуда: Бийск, Новосибирск
Сообщений: 13385
Не знаю как в питоне, а в других языках (PHP, Java) - передавать метод в качестве аргумента - моветон. ИМХО.
4 янв 19, 14:51    [21778394]     Ответить | Цитировать Сообщить модератору
 Re: Python: Сохраняется ли объект, если засейвить только ссылку на его метод?  [new]
Лысый дядька
Member

Откуда:
Сообщений: 181
Hett
Не знаю как в питоне, а в других языках (PHP, Java) - передавать метод в качестве аргумента - моветон. ИМХО.

Имеено поэтому в восьмую Джаву добавили method reference?
4 янв 19, 15:19    [21778407]     Ответить | Цитировать Сообщить модератору
 Re: Python: Сохраняется ли объект, если засейвить только ссылку на его метод?  [new]
Лысый дядька
Member

Откуда:
Сообщений: 181
AlekseySQL
Лысый дядька, вопрос о подводных камнях...


самая обыденная практика, а что еще использовать как колбэки и предикаты?
4 янв 19, 15:22    [21778408]     Ответить | Цитировать Сообщить модератору
 Re: Python: Сохраняется ли объект, если засейвить только ссылку на его метод?  [new]
Hett
Member

Откуда: Бийск, Новосибирск
Сообщений: 13385
Лысый дядька
Hett
Не знаю как в питоне, а в других языках (PHP, Java) - передавать метод в качестве аргумента - моветон. ИМХО.

Имеено поэтому в восьмую Джаву добавили method reference?


Хотя да, я наверное гоню, в стримах (тех что ввели в java 8) тоже можно стало передавать методы в качестве аргументов. Наверное мыслю слишком классически.
4 янв 19, 15:22    [21778409]     Ответить | Цитировать Сообщить модератору
 Re: Python: Сохраняется ли объект, если засейвить только ссылку на его метод?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25983
Вот уже и функции высшего порядка записали в нечто не классическое :)
4 янв 19, 22:27    [21778584]     Ответить | Цитировать Сообщить модератору
Все форумы / PHP, Perl, Python Ответить