Python

2016-04-09 24 views
2

Parantezli ve Parantezsiz Arama Yöntemi Diğerlerinin yapamayacağı bazı yöntemlerin () ile çağrılması gerektiğini fark ettim. IPython kullanarak, parantez kullanılıp kullanılmayacağımı nasıl kontrol edebilirim?Python

<built-in method sort of numpy.ndarray object at 0x7fb4b5312300> 

None 

(5,) 

Traceback (most recent call last): 
    File "scratch.py", line 8, in <module> 
    print arr.shape(), "\n"; 
TypeError: 'tuple' object is not callable 

cevap

2

Bu yöntemler değildir, bu properties: örneğin, aşağıdaki dosya scratch.py

import numpy as np 

arr = np.random.randn(5) 

print arr.sort, "\n" 
print arr.sort(), "\n"; 
print arr.shape, "\n"; 
print arr.shape(), "\n"; 

için, bu çıktı üretir. Python'un kendisi tarafından descriptor sahnelerin arkasına çağırıldı.

+0

Ya da sadece öznitelikler olabilirler. – BrenBarn

1

Python'daki yöntemler her zaman bir() ile çağrılır. Bir şey bir yöntem olup olmadığını kontrol etmenin en iyi yolu kütüphanenin belgelerini okumaktır.