hiçbiri python döndürme

Python işlevleri ve meth

Python append() yöntemi bir Yok değeri döndürür. Bunun nedeni, bir listeye öğe eklemenin mevcut bir listeyi güncellemesidir. Yeni bir tane oluşturmaz.

append() yönteminin bir değişken için bir “TypeError: ‘NoneType’ nesnenin ‘append’rdquo; özniteliği yok error.

Bu kılavuzda bu hatanın ne anlama geldiğini, neden oluştuğunu ve nasıl çözebileceğinizi bir örnek üzerinden ele alıyoruz.




TypeError : ‘YokTip’ nesnenin ‘append’

özniteliği yoktur

Python'da, dizileri değiştiren yöntemlerin Yok döndürmesi bir kuraldır. Bunun nedeni, mevcut liste değiştirilebildiğinde, listenin yeni bir kopyasını döndürmek performans açısından yetersiz olacaktır.

Çünkü append() yeni bir liste oluşturmaz, yöntemin mevcut bir listeyi değiştireceği açıktır. Bu, var olan bir listeye yanlışlıkla bir öğe eklemenizi engeller.

Kodlayıcıların yaptığı yaygın bir hata, append() yönteminin sonucunu yeni bir listeye atamaktır. liste. append() mevcut bir listeyi değiştirdiği için bu çalışmaz. append(), bir değişkene atayabileceğiniz yeni bir liste oluşturmaz.




Örnek Senaryo

Sonra, izin veren bir program oluşturuyoruz. bir kütüphaneci kayıt listesine bir kitap ekler. Bu kayıt listesi, bir kitabın yazarı ve kaç nüshası olduğu hakkında bilgi içerir.

Kitapların bir listesini tanımlayarak başlayalım:

%81'i katılımcılar, bir eğitim kampına katıldıktan sonra teknik iş beklentileri konusunda daha güvende hissettiklerini belirttiler. Bugün 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ı.

Kitap listesi bir sözlük içerir. . Sözlük, belirli bir kitapla ilgili bilgileri depolar.  Bu kitap listesine bir kayıt ekliyoruz:

books = kitaplar.append( { "title ": "Twilight", "mevcut": 2 } )

“Kitaplarımız” liste şimdi iki kayıt içeriyor. Ardından, listeye eklemek istediği kullanıcıdan bir kitap hakkında bilgi isteriz:

title = input("Kitabın adını girin: ") mevcut = input("Kitabın kaç kopya olduğunu girin: ")

Artık bu bilgilere sahip olduğumuza göre, kitap listemize bir kayıt eklemeye geçebiliriz. Bunu append() yöntemini kullanarak yapabiliriz:

books =books.append( { " title": title, "available": int(available) } )

“books” liste. “mevcut” değerini dönüştürdük; sözlüğümüzdeki bir tamsayıya append() yönteminin sonucunu “books” değişken. Son olarak, yeni kitap listesini konsola yazdırıyoruz:

print(books)

Kodumuzu çalıştıralım ve ne olduğunu görelim:

Kitabın adını girin: Gurur ve Önyargı Kitabın kaç kopyasının mevcut olduğunu girin: 5 Geri izleme (en son arama): Dosya "main.py", satır 12,  kitaplar = kitaplar.append( AttributeError: 'NoneType' nesnesinin 'append' özelliği yok

Kodumuz başarıyla bir kitap hakkında bilgi girmemizi istiyor. Kodumuz kitabı eklemeye çalıştığında kitap listemizde bir hata döndürülür.





Çözüm

Bir append() bir değişkene yöntem. Kitap listemize Alacakaranlık'ı ekleyen koda bir göz atın:

Bu kod, “kitapların” değerini döndürdüğü değerle değiştirir. append() yöntemi. append() bir Yok değeri döndürür. Bu, “books”'un Yok'a eşit olduğu anlamına gelir.

Bir kullanıcının konsolda yazdığı kitabı “books” listesine eklemeye çalıştığımızda kodumuz hata veriyor. “books” eşittir Yok ve Yok değerine değer ekleyemezsiniz.

Bu hatayı çözmek için, append() yöntemini kullandığımız her yerden atama operatörünü kaldırmalıyız:

books.append( { "title": "Alacakaranlık", "mevcut": 2 } ) … book.append( { "title": title, "available": int(available) } )

“books = ” bu kod satırlarının her birinden bir ifade. append() yöntemini kullandığımızda kitaplara bir sözlük eklenir. “kitapların” append() öğesinin döndürdüğü değere.

Kodumuzu yeniden çalıştıralım:

Kitabın adını girin: Gurur ve Önyargı Kitabın kaç kopya olduğunu girin: 5 [{'title': 'The Great Gatsby', 'mevcut ': 3}, {'title': 'Alacakaranlık', 'mevcut': 2}, {'title': 'Gurur ve Önyargı', 'mevcut': 5}]

Kodumuz başarıyla Gurur ve Önyargı kitabı için kitap listemize bir sözlük girişi ekler.




Sonuç

“TypeError: ‘NoneType’ nesnenin ‘append’rdquo; özniteliği yok append() yöntemiyle atama operatörünü kullandığınızda hata döndürülür.

Bu hatayı çözmek için, işlemin sonucunu atamaya çalışmadığınızdan emin olun. Bir listeye append() yöntemi. append() yöntemi, mevcut bir listeye bir öğe ekler. Yöntem, mevcut bir listenin bir kopyası değil, Yok değerini döndürür.


Artık bu yaygın Python sorununu bir profesyonel gibi çözmeye hazırsınız!





hiçbiri python döndürme: StackOverflow Questions