Python’da Argumanlar y√∂ntemleri parantez içinde belirtilmelidir. Bunun nedeni, i≈ülevlerin ve y√∂ntemlerin, çaƒürƒ±ldƒ±klarƒ±nƒ± s√∂ylemek için parantez kullanmasƒ±dƒ±r. Bir y√∂ntemi çaƒüƒ±rmak için k√∂≈üeli parantez kullanƒ±rsanƒ±z, bir "TypeError: ‚Äòmethod‚Äô nesne abone olunamaz‚" error.
Bu kƒ±lavuzda, bu hatanƒ±n ne anlama geldiƒüini ve neden kar≈üƒ±la≈üabileceƒüinizi tartƒ±≈üƒ±yoruz. Bir ç√∂zum geli≈ütirmenize yardƒ±mcƒ± olmak için bu hatanƒ±n bir √∂rneƒüini inceliyoruz.
TypeError: ‘method’ nesne abone olunamaz
Abone olunabilir nesneler __getitem__ yöntemine sahip nesnelerdir. Bunlar listeler, sözlukler ve demetler gibi veri turleridir. __getitem__ yöntemi, Python yorumlayıcısının bir koleksiyondan tek bir öğe almasına izin verir.
Tum nesneler abone olunamaz. Y√∂ntemler, √∂rneƒüin, deƒüildir. Bunun nedeni, __getitem__ y√∂ntemini uygulamamalarƒ±dƒ±r. Bu, bir y√∂ntemdeki √∂ƒüelere eri≈ümek veya bir y√∂ntemi çaƒüƒ±rmak için k√∂≈üeli parantez s√∂zdizimini kullanamayacaƒüƒ±nƒ±z anlamƒ±na gelir.
≈ûu kod parçacƒ±ƒüƒ±nƒ± g√∂z √∂nunde bulundurun:
Bu kod, dizin konumu 0’daki peynir olan "Edam‚"’ƒ± d√∂ndurur. ƒ∞≈ülevler ve y√∂ntemler abone olunabilir nesneler olmadƒ±ƒüƒ±ndan, bir i≈ülevi veya y√∂ntemi çaƒüƒ±rmak için k√∂≈üeli parantez kullanamayƒ±z.
Örnek Bir Senaryo
Burada peynirleri nesnelerde saklayan bir program olu≈üturuyoruz. "Peynir‚" bir peynir tanƒ±mlamak için kullandƒ±ƒüƒ±mƒ±z sƒ±nƒ±f, bir peynirin belirli bir men≈üe ulkeden olup olmadƒ±ƒüƒ±nƒ± kontrol etmemizi saƒülayan bir metoda sahip olacaktƒ±r.
bir sınıf tanımlama. Bu sınıfa Peynir diyoruz:
Katƒ±lƒ±mcƒ±larƒ±n %81’i, bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda daha emin hissettiklerini belirtti. Bugun bir eƒüitim kampƒ± ile e≈üle≈ütirin.
Ortalama bir eƒüitim kampƒ± mezunu, bir eƒüitim kampƒ±na ba≈ülamaktan ilk i≈üini bulmaya kadar, kariyer geçi≈üinde altƒ± aydan az zaman harcadƒ±.
Sƒ±nƒ±fƒ±mƒ±z iki y√∂ntem içerir. ƒ∞lk y√∂ntem Cheese nesnesinin yapƒ±sƒ±nƒ± tanƒ±mlar. ƒ∞kincisi, bir peynirin men≈üe ulkesinin belirli bir deƒüere e≈üit olup olmadƒ±ƒüƒ±nƒ± kontrol etmemizi saƒülar.