在Python中,有些函数需要使用括号,而有些则不需要括号,例如:请考虑以下示例:
a = numpy.arange(10)
print(a.size)
print(a.var())
为什么size函数不需要用括号写,而不是方差函数?这背后是否有一个通用的方案,或者你只需要为每个功能记住它?
此外,还有在参数之前编写的函数(与上面的示例相反),如
a = numpy.arange(10)
print(np.round_(a))
为什么不写a.round_
或a.round_()
?
答案 0 :(得分:3)
听起来你对3个不同的概念感到困惑,这些概念不是python特有的,而是(面向对象的)编程。
array.shape
array.mean()
听起来你应该看看OOP:here is a python primer on methods。
此外,更加pythonic和特定类型的属性是property
s。它们是(对象的)方法,不使用np.round_()
调用。听起来有点奇怪,但可能有用;调查一下。
答案 1 :(得分:2)
arrange
返回ndarray
。 size
不是一个函数,它只是ndarray
类的一个属性。因为它只是一个值,而不是一个可调用的,所以它没有括号。