işlenen Python

Python işlevleri ve meth

Dizeler Python'da birleştirilebilir. Bu, iki veya daha fazla dizenin değerini tek bir dizede birleştirmenizi sağlar. Bir dizeyi ve Yok'a eşit bir değeri birleştirmeye çalışırsanız, “TypeError: + için desteklenmeyen işlenen tür(ler)iyle karşılaşırsınız: ‘nonetype’ ve ‘str’” error.

Bu kılavuz, bu hatanın ne anlama geldiği ve neden ortaya çıktığı hakkında konuşuyor. Kodunuzda bunu nasıl düzelteceğinizi bulabilmeniz için bu hatanın bir örneğini açıklar.




TypeError: + için desteklenmeyen işlenen türleri: ‘nonetype’ ve ‘str’

Birleştirme operatörü (+) dize değerlerini birleştirir:

day = "Pazartesi" hava durumu = "güneşli" print("Bugün " + gün + " ve dışarıda " hava durumu + " .")

Bu kod, “Bugün’, “Pazartesi”, “ve ”, “güneşli” ve “dışarıda” dizeleri tek bir uzun dizeye dönüştürür. Kod şunu döndürür: “Bugün Pazartesi ve dışarısı güneşli.”.

Birleştirme operatörü, dize ve tamsayı gibi farklı veri türlerinin değerlerini birleştirmek için kullanılamaz. . Bunun nedeni, artı işaretinin bir tamsayı gibi veri türleri ile farklı ilişkilere sahip olmasıdır. Tamsayılar ve kayan sayılarda, artı işareti toplama işlemini temsil eder.

Yok'a eşit değerler bir dize değeriyle birleştirilemez. Bu, “TypeError: + için desteklenmeyen işlenen tür(ler)i hatasına neden olur: ‘nonetype’ ve ‘str’”.




Örnek Senaryo

Haydi bir ayakkabı mağazasının geçen ay ne kadar kazandığına ilişkin bilgileri görüntüleyen bir mesaj yazdıran bir program oluşturalım. . Bu bilgi, mağazanın net ve brüt gelirini, en yüksek satışın değerini ve ayakkabı mağazasındaki ortalama satışın değerini içerir. 

Başlamak için, ayakkabı dükkanının bir ayda kazandığıyla ilgili bazı değerleri saklayan bir sözlük ilan edin:

Katılımcıların %81'i daha fazla hissettiklerini belirtti Bir eğitim kampına katıldıktan sonra teknik iş olanakları konusunda kendilerine güveniyorlar. 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ı.

Ayakkabı mağazasının sahibi programı çalıştırdıklarında bu değerleri görmek ister. Mağazadaki ciro ile ilgili değerlere erişmek için bir çıktı beyanı kullanacaksınız. Sözlükteki bilgileri görüntülemek için beş print deyimi kullanın:

print("Month: ") + ciro["ay"] print("Net gelir: $") + str(ciro["net_gelir"]) print("Brüt gelir: $") + str(ciro["brüt_gelir"]) print("En yüksek satış : $") + str(turnover["highest_sale"]) print("Ortalama satış: $") + str(turnover["average_sale"])

Tüm sözlükteki kayan nokta değerlerinin bir dizeye dönüştürülmesi. Bu, bir dize ve bir kayan noktayı birleştirmeye çalıştığınızda oluşan bir hatayı önler. Daha önce tartışıldığı gibi, yalnızca dizeler dizelerle birleştirilebilir. Ardından, kodu çalıştırın ve ne olduğunu görün:

Ay Geri İzleme (en son çağrı): Dosya "main.py", satır 9,  print("Month") + ciro["ay"] TypeError: + için desteklenmeyen işlenen türleri: 'NoneType' ve 'str'

Kod bir hata döndürüyor.



Çözüm

Kod konsola “Ay” kelimesini başarıyla yazdırır.Ciro değerini eklemeye çalıştığınızda program çalışmayı durdurur [“ay”] ile “Ay” dizesine.

Sorun, ciro[“ay”] dizesini print() dışında birleştirmenizdir. ifadesi. print() işlevi None döndürür.Birleştirme operatörünüz print() ifadesinden sonra geldiğinden, Python bir değer eklemeye çalıştığınızı düşünüyor. ona:

print("Ay") + ciro["ay"] 

Bu hatayı çözmek için birleştirme işlemini print() deyimlerine taşımalıyız:

print("Ay: " + ciro["ay"]) print("Net gelir: $" + str(ciro["net_gelir"])) print("Brüt gelir: $" + str(ciro["brüt_gelir"])) print("En yüksek satış: $" + str(ciro["en yüksek_satış"])) print("Ortalama satış: $" + str(ciro["ortalama_satış"]))

Birleştirme operatörleri, değerini birleştirmek istediğiniz print() ifadesinin değil, her zaman bir dize değerinden sonra gelmelidir. Programı çalıştıralım:

Kodumuz tüm print() ifadelerini başarıyla yürütür. Her yazdırma ifadesi, “ciro” sözlük birleştirildi.




Sonuç

+ için “TypeError: desteklenmeyen işlenen türleri: ‘nonetype’ ve ‘str’” Yok'a eşit bir değeri bir dizeyle birleştirmeye çalıştığınızda hata oluşur. Bir print() ifadesinin dışında dizeleri birleştirmeye çalışırsanız bu yaygın bir durumdur.

Bu hatayı çözmek için, artı işaretinin her iki tarafındaki değerlerin doğru olup olmadığını kontrol edin. bir birleştirme işlemi gerçekleştirmek istiyorsanız dizeleri girin.

Artık bu hatayı Python'unuzda düzeltmeye hazırsınız. profesyonel bir kodlayıcı gibi programlayın!





işlenen Python: StackOverflow Questions

Tutorials