Python özellikleri

Python işlevleri ve meth

Özellikler, bir nesne, veri türü veya sınıfla ilişkili değerler veya işlevlerdir. Veri türü veya sınıfı bu özelliği desteklemeyen bir değerde bir özniteliği çağırırsanız, bir AttributeError ile karşılaşırsınız.

Bu kılavuzda AttributeError'ın ne olduğu ve ne anlama geldiği anlatılmaktadır. Kodunuzda bir hatayı nasıl düzelteceğinizi öğrenebilmeniz için bir AttributeError örneğini inceleyeceğiz.




Python AttributeError nedir?

Denediğinizde bir Python AttributeError ortaya çıkıyor türü bu yöntemi desteklemeyen bir nesnenin özniteliğini çağırmak için. Örneğin, bir dizede Python append() yöntemini kullanmaya çalışmak, dizeler desteklemediğinden bir AttributeError döndürür. append().

Bir Python sınıfında, tarafından paylaşılan yöntemleri ve değerleri tanımlayabilirsiniz. o sınıfın nesneleri. Bu nedenle bazı insanlar sınıfları nesneler için planlar olarak düşünürler.

Bir yöntemi veya sınıfı çağırmak, o sınıfın bir özelliğine atıfta bulunduğunuzu söylemenin başka bir yoludur. Bir nitelik hakkında düşünmenin bir yolu, bir kişinin fiziksel bir niteliği gibidir. Bazı insanlar mavi gözlüdür. Bazı insanların pembe boyalı saçları vardır. Bunların hepsi niteliklerdir.

Bir Python sınıfında, bir nitelik “eye_color” olabilir. Bu nitelik, bir kişinin gözlerinin rengini tanımlayabilir. Bir öznitelik, bir işlev de olabilir. changeEyeColor() adlı bir işlev, “eye_color”un değerini değiştirebilir.

Veri türlerinin nitelikleri vardır. Örneğin, bir dizeyi listeye dönüştürmek için Python join() yöntemini kullanabilirsiniz. Dize nesneleri join() yöntemini destekler.

Bir sınıf nesnesi veya veri türüyle ilişkili olmayan bir işleve veya değere başvurmaya çalışırsanız, bir AttributeError ile karşılaşırsınız. .

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

Bir program yazalım. bu iki ayakkabı listesini birleştiriyor. İki ayakkabı mağazası bir birleşme sürecinden geçiyor ve sattıkları tüm benzersiz ayakkabıların bir listesini yapmak istiyor.

Başlamak için, tanımlayalım. birinci mağazadaki ayakkabıları içeren bir Python seti, Harrisons Shoes:

harrisons_shoes = {" Nike Air Force 1 07", "Nike Air Max Plus", "Adidas Gazelle"}

Setimizi tanımlamak için küme parantezleri kullanıyoruz. Daha sonra Harrisons ile birleşen mağazanın sunduğu ayakkabıların isimleriyle bir set tanımlayalım. Bu ayakkabı mağazasının adı Ayakkabı Mağazası:

shoe_emporium = {"Adidas Samba", "Adidas Superstar", "Nike Air Max Plus"}

Bu iki koleksiyon set olduğundan, yalnızca benzersiz değerleri depolayabilirler. Bu, onları bir araya getirdiğimizde, yinelenen değerleri olmayan bir küme elde edeceğimiz anlamına gelir.

Kümelerimizi bir araya eklemek için, extension() adlı yerleşik işlevi kullanacağız:

p>
harrisons_shoes.extend(shoe_emporium) print(harrisons_shoes)

extend() yöntemi, “shoe_emporium” “harrisons_shoes” Ayarlamak. Bir Python print() ifadesi kullanıyoruz. Bu sayede yeni takımımızdaki tüm ayakkabıları görebiliriz. Kodumuzu çalıştıralım ve ne olduğunu görelim:

Geri izleme (en son çağrı): Dosya "ana .py", satır 3,  harrisons_shoes.extend(shoe_emporium) AttributeError: "set" nesnesinin "extend" özelliği yok

Kodumuz bir AttributeError döndürüyor.

Hata mesajımız kullanamayacağımızı söylüyor veri türü bir küme olan bir nesnede extend() yöntemi. Bunun nedeni, extend() öğesinin bir liste yöntemi olmasıdır. Kümeler tarafından desteklenmez.

İki kümemizi birleştirmek istiyorsak bir ekleme işareti kullanmalıyız:

harrisons_shoes.update(shoe_emporium) print(harrisons_shoes)

Bu, “shoe_emporium” “harrisons_shoes” Ayarlamak. Ardından “harrisons_shoes” içindeki tüm değerleri yazdırırız. konsola ayarlayın. Yeni programımızı çalıştıralım:

{'Nike Air Force 1 07', 'Adidas Superstar', 'Adidas Samba', 'Nike Air Max Plus', 'Adidas Gazelle'}

Programımız, iki orijinal takımımızdaki tüm ayakkabıları içeren bir takım döndürür. Orijinal iki setimizde altı değer varken, şimdi sadece beş var. Bunun nedeni, ayakkabılardan ikisinin aynı olması ve setlerin yalnızca benzersiz değerleri depolayabilmesidir.


Programımız, iki orijinal setimizdeki tüm ayakkabıları içeren bir set döndürür. Orijinal iki setimizde altı değer varken, şimdi sadece beş var. Bunun nedeni, ayakkabılardan ikisinin olmasıdır. aynıydı ve kümeler yalnızca benzersiz değerleri depolayabilir.




Keşfedilecek Benzer Nitelik Hataları

AttributeErrors inanılmaz derecede yaygındır. Veri türlerinin ve sınıfların niteliklerini çağırmaya çalıştığınızda bunlar ortaya çıkabilir. bahsettiğiniz özelliği desteklemiyor.

Bu hatalar, bir özelliğe atıfta bulunurken yazım hatası yaparsanız da ortaya çıkabilir. Python kodunuzu olduğu gibi yorumlayacaktır. Yazım hatası yaparsanız, Python'a, var olmayan bir öznitelikten bahsettiğiniz anlaşılıyor.

Örneğin, Python split() yöntemi bölmek için st yaygındır. Ancak split() bir dize yöntemidir ve bu nedenle bir listeyi bölmek için kullanılamaz.

Daha fazla okumak için aşağıdaki hataları araştırmayı düşünün:




Sonuç

Python'da öznitelik hataları, geçersiz bir özniteliğe başvurulduğunda ortaya çıkar. Bu hataları çözmek için öncelikle aradığınız özniteliğin var olup olmadığını kontrol edin. Ardından, özniteliğin, birlikte çalıştığınız nesne veya veri türüyle ilgili olduğundan emin olun.

İstediğiniz öznitelik yerleşik bir türle ilişkilendirilmişse ve mevcut değilse, bir öznitelik aramalısınız. alternatif. Bir veri türü için başka bir veri türü üzerinde kullanabileceğiniz birçok öznitelik için alternatifler vardır. Örneğin, kümelerle ilgili bir extend() yöntemi yoktur, ancak kümelere katılmak için union()'u kullanabilirsiniz.

"Python.Engineering benim bilgilerime girdi. hayatım en çok ihtiyacım olan zamandaydı ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerime uygun hayalimdeki işi buldum!"

Venüs, Rockbot'ta Yazılım Mühendisi

Python kodu yazma hakkında daha fazla bilgi edinmek için Python Nasıl Öğrenilir

kılavuzumuzu okuyun. a>.





Python özellikleri: StackOverflow Questions

Tutorials