Форум сайта python.su
0
Приветствую. Только начал изучать. Прохожу самый нубокурс по Python на codecademy.com, столкнулся вот с такой неясностью. Прошу пояснить что есть функция, а что метод.
Упражнение №5 второй части, String methods
print len(parrot), где parrot - строковая переменная, в результате без ошибок считается длина, выводится число
Следующее успражнение, lower(), они его так же называют методом, я по аналогии написал lower(parrot), получил ошибку. Прочитал внимательно задание
, правильное написание parrot.lower()
Правильно ли называть оба этих оператора методами? Есть ощущение, что второе - функция. Страница которую нагуглил намекает что это именно так, но если старшие товарищи натолкнут, буду благодарен.
Отредактировано Newone (Май 19, 2016 13:38:54)
Офлайн
22
Офлайн
0
В одном из следующих упражнений они трактуют эту тему так:
“Methods that use dot notation only work with strings.”
Но все равно есть ощущение, что формулировка “method” не может быть применена одновременно к конструкциям вида название_метода(переменная) и переменная.название_метода().
Отредактировано Newone (Май 19, 2016 14:26:40)
Офлайн
0
ilnurСогласен, с оператором я погорячился. Правильнее в первоначальном вопросе использовать “конструкция”.
я всегда считал
Офлайн
857
NewoneЭти понятия к питону не относятся. Это общие понятия для большинства языков.
Правильно ли называть оба этих оператора методами? Есть ощущение, что второе - функция.
Офлайн
0
py.user.nextУ меня, к сожалению, опыта маловато, сравнивать не с чем. Пожалуй, у меня даже понимания нет как правильно задать сейчас вопрос, но все таки попробую: правильно вас понимаю, что “method” не определяется какой-то синтактической конструкцией определенного вида, он может выглядеть по разному и надо просто запомнить что в этом языке “вот эти” конструкции являются методами ?
Офлайн
857
NewoneЕсть теория программирования, общая для всех языков программирования, и сами языки сделаны с использованием этой теории. А есть теория питона.
правильно вас понимаю, что “method” не определяется какой-то синтактической конструкцией определенного вида, он может выглядеть по разному и надо просто запомнить что в этом языке “вот эти” конструкции являются методами ?
def f(): return 1
f()
>>> def f(): ... return 1 ... >>> f() 1 >>>
Офлайн
0
Понятно. Спасибо за ответ.
Офлайн
3
Да во всех языках где есть ООП все одно и тоже….
Вот предствь дверную ручку (нажимающуюся) 
методы - нажать, отпустить, перекрасить и т.д.
свойства - красная, зеленая, холодная, грязная, нажата, отпущена и т.д.
события - нажали, отпустили, перекрасили, и т.д.
Тут ручка это объект, и к ней применимы понятия методов, свойств, событий.
А ели не ООП, а функциональное программирование, то методы называют просто функцией а не методом., свойства - просто переменные, а события называют прерываниями…
Как то так…
ЗЫ. есть классная книжка (правда по электронике) где я никак не мог въехать что такое “сзади сверху”, часто в ней встречающееся. Доперло что это обычный Backup, или в переводе “запасной”. У переводчика скиллов не хватило 
Отредактировано Iskatel (Май 22, 2016 16:01:33)
Офлайн
88
IskatelВидимо, речь идёт о модульном программировании, а не функциональном.
А ели не ООП, а функциональное программирование, то методы называют просто функцией а не методом., свойства - просто переменные, а события называют прерываниями…
Офлайн