2024-04-20 04:23:41 发布
网友
我可能在这里使用了错误的术语,但我想解释一下在对象上调用函数(即方法)和对象本身的属性之间的区别。你知道吗
采取以下措施:
df = pd.DataFrame({'a':[4, 5, 6, 7], 'b':[3, 2, 5, 4]})
可以对df调用sum()方法/函数,也可以对df调用columns属性。我可能会在链接方法和使用.调用属性之间产生混淆。你知道吗
sum()
columns
.
df.sum() df.columns
不能“调用”数据帧的df.columns部分。它是数据帧的数据部分,您可以“引用”它。df.sum()您可以“调用”,因为sum()是数据帧的可执行部分。你知道吗
df.columns
df.sum()
这两部分的数据框架(eem)都有点棘手。它们都可以更改、被继承等等,但它们确实不同:不能“调用”列,而且(通常)不引用sum()。你知道吗
他们是一样的。方法基本上就是属性,它们发生在类型function或任何其他可运行类型上。如果你这样做了
function
>>> f = df.sum
会很好用的。如果你再检查一下类型,你会发现
>>> type(f) <type 'instancemethod'>
或者类似的东西。您可以将该类型的任何对象作为函数调用,这就是您可以执行df.sum()的原因:首先,它会找到df的属性,该属性恰好是一个函数,然后它会调用它。你知道吗
df
不能“调用”数据帧的
df.columns
部分。它是数据帧的数据部分,您可以“引用”它。df.sum()
您可以“调用”,因为sum()
是数据帧的可执行部分。你知道吗这两部分的数据框架(eem)都有点棘手。它们都可以更改、被继承等等,但它们确实不同:不能“调用”列,而且(通常)不引用
sum()
。你知道吗他们是一样的。方法基本上就是属性,它们发生在类型
function
或任何其他可运行类型上。如果你这样做了会很好用的。如果你再检查一下类型,你会发现
或者类似的东西。您可以将该类型的任何对象作为函数调用,这就是您可以执行
df.sum()
的原因:首先,它会找到df
的属性,该属性恰好是一个函数,然后它会调用它。你知道吗相关问题 更多 >
编程相关推荐