Python'da nasıl düzeltilir: 'numpy.ndarray' nesnesi çağrılabilir değil
Python’da NumPy kullanırken karşılaşabileceğiniz yaygın bir hata:
TypeError : 'numpy.ndarray' object is not callable
Bu hata genellikle bir NumPy dizisini köşeli parantezler [ ] yerine yuvarlak parantezleri () kullanarak bir işlev olarak çağırmaya çalışırken ortaya çıkar.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Hata nasıl yeniden oluşturulur?
Aşağıdaki NumPy dizisine sahip olduğumuzu varsayalım:
import numpy as np #create NumPy array x = np. array ([2, 4, 4, 5, 9, 12, 14, 17, 18, 20, 22, 25])
Şimdi dizinin ilk elemanına erişmeye çalıştığımızı varsayalım:
#attempt to access the first element in the array
x(0)
TypeError : 'numpy.ndarray' object is not callable
Round () parantezleri kullandığımız için Python, NumPy x dizisini bir fonksiyon olarak çağırmaya çalıştığımızı düşünüyor.
X bir fonksiyon olmadığı için hata alıyoruz.
Hata nasıl düzeltilir?
Bu hatayı çözmenin yolu, NumPy dizi öğelerine erişirken yuvarlak parantez () yerine köşeli parantez [ ] kullanmaktır:
#access the first element in the array
x[0]
2
Dizinin ilk elemanı (2) görüntüleniyor ve köşeli parantez [ ] kullandığımız için herhangi bir hata almıyoruz.
Ayrıca köşeli parantez [ ] kullandığımız sürece birden fazla dizi öğesine aynı anda erişebileceğimizi unutmayın:
#find sum of first three elements in array
x[0] + x[1] + x[2]
10
Ek kaynaklar
Aşağıdaki eğitimlerde Python’daki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:
Nasıl Onarılır: ValueError: Dizin yinelenen girişler içeriyor, yeniden şekillendirilemez
Nasıl Onarılır: Tür Hatası: Beklenen Dize veya Bayt Nesnesi
Nasıl düzeltilir: TypeError: ‘numpy.float64’ nesnesi çağrılabilir değil