Как упоминалось, функции и методы являются объектами первого класса. Вы вызываете их, добавляя несколько круглых скобок в конце. Но, похоже, вам нужна дополнительная мотивация, почему python вообще позволяет нам это делать. Почему нас должно волновать, первоклассные функции или нет?
Иногда вы не хотите их вызывать, вы хотите передать ссылку на сам вызываемый объект.
from multiprocessing import Process t = Process(target=my_long_running_function)
Если вы поставите скобки после приведенного выше, это запустит ваш my_long_running_function в вашем основном потоке; вряд ли это то, что вы хотели! Вы хотели дать Process ссылку на ваш вызываемый объект, что он будет запускаться сам в новом процессе.
Иногда вы просто хотите указать вызываемый объект и разрешить что-то еще...
Обычно, конечно, вы не стали бы сравнивать методы друг с другом или что-либо еще, потому что это не очень полезно. Одно место, где это полезно, - когда вы хотите передать функцию в другую функцию. Одним из распространенных способов является сортировка строк без учета регистра с указанием использовать str.lower в качестве метода для генерации ключа сортировки: