В чем разница между методами и свойствами для объекта в Python? - PullRequest
0 голосов
/ 28 декабря 2018

Предположим, у меня есть объект фрейма данных с именем df, head () - это метод, который можно применить к df для просмотра первых 5 записей фрейма данных, а df.size - это свойство, чтобы получить размерфрейм данных.

Для свойства мы не используем '()', как мы использовали для метода.Поначалу это немного смущало.Может ли кто-нибудь объяснить, в чем принципиальная разница между свойством и методом в python.Я имею в виду, почему мы должны были определить размер как свойство для фрейма данных, почему он не был определен как метод, который бы просто возвращал размер фрейма данных.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Здесь в приведенном выше примере вы можете передать аргумент в функцию df.head(), где вы не можете передавать аргументы для свойств.для того же самого приведенного выше примера, если вы написали df.head(20), он вернет первые 20 строк.

0 голосов
/ 28 декабря 2018

Так что я решил связать вас с этим ответом, потому что я думаю, что это объясняет его довольно хорошо.

https://www.tutorialspoint.com/What-is-the-difference-between-attributes-and-properties-in-python

Если бы мне пришлось объяснить это своими словами, свойстваэто «атрибуты» объекта, которые имеют методы (get, set и delete).

Так что, если я правильно понимаю, df.size будет вашей собственностью, а затем вам нужноОпределите методы get, set и delete для этого свойства.Кроме того, я бы порекомендовал прочитать документы по классу python только для правильного использования и определений.

https://docs.python.org/3/tutorial/classes.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...