【问题标题】:What is the difference between Methods and Properties for an object in python?python中对象的方法和属性有什么区别?
【发布时间】:2019-05-26 05:44:03
【问题描述】:

假设我有一个名为 df 的数据框对象,head() 是一种可以应用于 df 以查看数据框前 ​​5 条记录的方法,而 df.size 是获取大小的属性数据框。

对于属性,我们没有像用于方法那样使用“()”。这最初有点令人困惑。 谁能解释python中属性和方法之间的基本区别。我的意思是为什么我们必须将大小定义为数据框的属性,为什么不将其定义为刚刚返回数据框大小的方法。

【问题讨论】:

标签: python methods properties


【解决方案1】:

所以我想我会把你链接到这个答案,因为我认为这很好地解释了它。

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

如果我必须用我自己的话来解释,属性是具有方法(get、set 和 delete)的对象的“属性”。

所以,如果我理解正确,df.size 将是您的属性,然后您需要为该属性定义获取、设置和删除方法。另外,我建议通读 python 类文档,以获得正确的用法和定义。

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

【讨论】:

    【解决方案2】:

    在您提到的上述示例中,您可以将参数传递给df.head() 函数,因为您不能为属性传递参数。 对于上面同样的例子,如果你写了df.head(20),它将返回前 20 行。

    【讨论】:

    • 谢谢!这是否意味着,当对象上的某些操作不需要参数时定义属性?如果需要一些参数,我们定义一个方法?
    猜你喜欢
    • 2016-10-27
    • 2011-11-14
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    相关资源
    最近更新 更多