2017-04-10 49 views
1

我是Python新手,我的意思是它们如何实现的区别。Python中对象的属性和方法之间的联系是什么?

例如:

>>> a=np.array([1,2,5,3,43]) 
>>> a.sort() 
>>> a 
array([ 1, 2, 3, 5, 43]) 
>>> a=np.array([1,2,5,3,43]) 
>>> a.shape 
(5,) 
>>> a.sort() 
>>> a 
array([ 1, 2, 3, 5, 43]) 
>>> a.sort 
<built-in method sort of numpy.ndarray object at 0x7f78e358a9e0> 
>>> a.shape() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: 'tuple' object is not callable 

也许答案应该是像在Python

+0

属性是一个值。一种方法是一个“功能”。 – DyZ

+0

@DYZ我的意思是他们之间有什么**链接**?我听说过_ _ foo _ _,关于“__”的任何事情? – Statham

+0

没有链接。他们是无关的,除了两者属于同一个对象。 – DyZ

回答

1

一种方法,特殊用途的“_ _ _ foo_”是与对象相关联的功能。当你输入一个.sort时,它返回存储该函数的内存中的地址,如果使用括号,它将调用该函数。属性只是对象中的一个变量,所以当你调用一个.shape()函数时,它会给你一个错误,因为你试图调用一个变量作为函数。

不知道这是你要找的人,但我希望它帮

相关问题