python listeye uygulama işlevi

Yinelenebilir nesnelerin aksine, dizin oluşturma sözdizimini kullanan bir işlevden bir değere erişemezsiniz.

Bir i≈ülev d√∂nse bile yinelenebilir, deƒüerlerine eri≈ümeden √∂nce bir i≈ülevden gelen yanƒ±tƒ± bir deƒüi≈ükene atamanƒ±z gerekir. Aksi takdirde, bir "TypeError: ‚Äòi≈ülev‚Äô nesne abone olunamaz‚" error.

Bu kƒ±lavuzda, bu hatanƒ±n ne anlama geldiƒüinden bahsediyoruz. Kodunuzda nasƒ±l ç√∂zeceƒüinizi bulabilmeniz için bu hatanƒ±n iki √∂rneƒüini inceliyoruz.

TypeError: ‘function’ object is not inscriptable

Listeler ve dizeler gibi yinelenebilir nesnelere indeksleme gösterimi kullanılarak erişilebilir. Bu, yinelenebilir bir öğeden tek bir öğeye veya öğe aralığına erişmenizi sağlar.

Şu kodu göz önunde bulundurun:

0 dizin konumundaki deƒüer A’dƒ±r. B√∂ylece kodumuz "A‚" d√∂ndurur. Bu s√∂zdizimi bir i≈ülev uzerinde çalƒ±≈ümaz. Bunun nedeni, bir i≈ülevin yinelenebilir bir nesne olmamasƒ±dƒ±r. ƒ∞≈ülevler, yalnƒ±zca çaƒürƒ±ldƒ±klarƒ±nda yinelenebilir bir nesne d√∂ndurme yeteneƒüine sahiptir.

"TypeError: ‚Äòfunction‚Äô nesne abone olunamaz‚" bir i≈üleve yinelenebilir bir nesneymi≈ü gibi eri≈ümeye çalƒ±≈ütƒ±ƒüƒ±nƒ±zda hata olu≈üur.

Bu hata iki senaryoda yaygındır:

Katƒ±lƒ±mcƒ±larƒ±n %81’i belirtti bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda daha emin hissettiler. 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ƒ±.

İkisini de analiz edelim. bu senaryolar.

Senaryo 1: Yinelenebilir Olarak Aynı Adla İşlev

Okuldaki bir √∂ƒürenci hakkƒ±nda bilgi yazdƒ±ran bir program olu≈üturun. √ñƒürenci ve en son sƒ±nav puanƒ± hakkƒ±nda bilgiler içeren bir s√∂zluk tanƒ±mlayarak ba≈ülƒ±yoruz:

S√∂zluƒüumuzde uç anahtar ve uç deƒüer bulunmaktadƒ±r. Bir anahtar √∂ƒürencinin adƒ±nƒ± temsil eder; bir anahtar, bir √∂ƒürencinin en son testinde kazandƒ±ƒüƒ± puanƒ± temsil eder; bir anahtar √∂ƒürencinin bulunduƒüu sƒ±nƒ±fƒ± temsil eder.

Sonra, bu değerleri konsola yazdıran bir fonksiyon tanımlayacağız:

Kodumuz, "pupil‚" s√∂zluƒüundeki uç deƒüeri konsola yazdƒ±rƒ±r. "pupil‚" s√∂zluƒüu geçirilir Student() i≈ülevine bir arguman olarak.

ƒ∞≈ülevimizi çaƒüƒ±ralƒ±m ve "student‚" ; parametre olarak s√∂zluk:

Python kodumuz bir hata veriyor:

Bu hatanƒ±n nedeni ≈üudur: çunku bir fonksiyonumuz ve aynƒ± ada sahip bir yinelenebilirimiz var. "√∂ƒürenci‚" √∂nce bir s√∂zluk olarak ilan edilir. Daha sonra aynƒ± isimde bir fonksiyon tanƒ±mlƒ±yoruz. Bu, "√∂ƒürenci‚" s√∂zlukten ziyade bir fonksiyon.

"student‚" Student() fonksiyonuna bir parametre olarak, "student‚" isimli fonksiyonu geçiyoruz.

Bu sorunu √∂ƒürenci fonksiyonumuzu yeniden adlandƒ±rarak ç√∂zuyoruz:

Fonksiyonumuzu "show_student_details‚" olarak yeniden adlandƒ±rdƒ±k. Kodumuzu çalƒ±≈ütƒ±ralƒ±m ve ne olduƒüunu g√∂relim:

Kodumuz, öğrencimiz hakkındaki bilgileri konsola başarıyla yazdırır.

Senaryo 2: Dizin Oluşturmayı Kullanarak Bir İşleve Erişme

Bir öğrenci kayıtlarının listesini filtreleyen ve yalnızca bir öğrencinin en son sınavında A notu aldığı öğrencileri gösteren program.

Bir dizi:

√ñƒürenci listemizde uç s√∂zluk bulunmaktadƒ±r. Her s√∂zluk, bir √∂ƒürencinin adƒ±nƒ± ve en son testlerinde aldƒ±klarƒ± notu içerir.

Sonra, A notu alan öğrencilerin listesini dönduren bir işlev tanımlayın:

ƒ∞≈ülev, "√∂ƒürenciler‚" adlƒ± bir √∂ƒürenci listesini kabul eder. ƒ∞≈ülevimiz, bir for d√∂ngusu kullanarak bu listeyi yineler. Belirli bir √∂ƒürenci bir "A‚" notu aldƒ±ysa, kayƒ±tlarƒ± ≈üuraya eklenir. "a_grade_students‚" listesi. Aksi takdirde hiçbir ≈üey olmaz.

Tum √∂ƒürenciler arandƒ±ktan sonra, kodumuz "A‚" notu alan √∂ƒürencilerin bir listesini yazdƒ±rƒ±r ve bu listeyi ana program.

"Python.Engineeringsƒ± hayatƒ±ma en çok ihtiyacƒ±m olduƒüu anda girdi ve ickly bir bootcamp ile e≈üle≈ümeme yardƒ±m etti. Mezun olduktan iki ay sonra, hayattaki deƒüerlerim ve hedeflerime uygun hayalimdeki i≈üi buldum!"

Venus, Rockbot’ta Yazƒ±lƒ±m Muhendisi

< p>Bir "A‚" notu alan ilk √∂ƒürenciyi almak istiyoruz. Bunu yapmak için i≈ülevimizi çaƒüƒ±rƒ±r ve ilk √∂ƒürencinin kaydƒ±nƒ± almak için dizin olu≈üturma s√∂zdizimini kullanƒ±rƒ±z:

Kodumuzu çalƒ±≈ütƒ±rƒ±n:

Kodumuz bir hata d√∂nduruyor. √ñnce i≈ülevi çaƒüƒ±rmadan "get_a_grade_students‚" i≈ülevinden bir deƒüere eri≈ümeye çalƒ±≈üƒ±yoruz.


/p>

Bu sorunu ç√∂zmek için deƒüerleri almaya çalƒ±≈ümadan √∂nce fonksiyonumuzu çaƒüƒ±rmalƒ±yƒ±z. ondan:

√ñnce get_a_grade_students() fonksiyonumuzu çaƒüƒ±rƒ±yoruz ve parametre olarak √∂ƒürenci listemizi belirliyoruz. Ardƒ±ndan, get_a_grade_students() i≈ülevinin d√∂ndurduƒüu listeden 0 dizin konumundaki kaydƒ± almak için dizin olu≈üturmayƒ± kullanƒ±rƒ±z. Son olarak, bu kaydƒ± konsola yazdƒ±rƒ±yoruz.

Kodumuzu çalƒ±≈ütƒ±ralƒ±m:

Kodumuz ilk olarak "A‚" Seviye. Ardƒ±ndan, kodumuz listedeki "A‚" Seviye. Bu durumda o √∂ƒürenci Samantha’ydƒ±.

Sonuç

"TypeError: ‚Äòfunction‚Äô nesnesi abone olunamaz‚" hatasƒ±, sanki i≈ülev, bir dize veya liste gibi yinelenebilir bir nesneydi.

Bu hatayƒ± ç√∂zmek için, √∂nce deƒüi≈ükeni tanƒ±mladƒ±ktan sonra bir i≈ülev bildirerek deƒüerleri depolayan deƒüi≈ükenleri geçersiz kƒ±lmadƒ±ƒüƒ±nƒ±zdan emin olun. Ardƒ±ndan, d√∂ndurduƒüu deƒüerlere eri≈ümeye çalƒ±≈ümadan √∂nce bir i≈ülevi çaƒüƒ±rdƒ±ƒüƒ±nƒ±zdan emin olun.

Artık bu yaygın Python hatasını profesyonel kodlayıcı!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method