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

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir