Python Nesne Odaklı Programlama (OOP) için Başlangıç Kılavuzu
Programlama sanattır. Ve sanatta olduğu gibi, en iyi işi üretmek için doğru fırçayı ve boyayı seçmek çok önemlidir. Python nesnesi yönelimli programlama bu becerilerden biridir.
Ücretsiz demoyu deneyin
Doğru programlama dilini seçmek, herhangi bir projenin önemli bir parçasıdır ve pürüzsüz ve hoş bir gelişmeye veya eksiksiz kabuslara yol açabilir. Bu nedenle, kullanım durumunuz için en uygun dili kullanmanız daha iyi olur. Aynı zamanda en popüler programlama dillerinden biri olan Python ile nesne yönelimli programlamayı incelemenin ana nedeni budur.
Hadi öğrenelim!
Python programlarına örnekler Tartışmaya girmeden önce şu soruyu soralım: Python programını aşağıdaki gibi yazdınız mı? Secret_number = 20 Doğru: Numara = Giriş (‘Sayı:’) Deneyin: Numaralar = Int (sayı) Dışında: Yazdırma (‘Üzgünüm, sayı değil’) Numara! yazdır (sayı, ‘gizli sayıdan daha büyüktür’) ELIF numarası <Secret_number: print (sayı, 'gizli sayıdan daha azdır') Başka: yazdır ('Numarayı tahmin ettiniz:', Secret_number) Bu kod tahmin ediyor Basit sayı. Python dosyasında kopyalamayı deneyin ve sisteminizde çalıştırın. Bu, hedefine mükemmel bir şekilde ulaşır.
Ama bu büyük bir sorun: Ya sizden yeni özellikler uygulamanızı istersek? Bu basit bir şey olabilir – örneğin: "Giriş gizli sayının bir katiyse, kullanıcıya talimat verin." Özellik sayısını artırdığınızda program hızla karmaşık ve ağır hale gelecektir ve bu nedenle toplam koşul sayısı iç içe geçer. Nesne yönelimli programlama ile çözmeye çalışan sorun budur. Programlama, Python nesneye yönelik programlama hakkında daha fazla bilgi edinmek için güzel bir şey inşa etmek için doğru aracı gerektiren bir sanattır Burada, nesne yönelimli programlamaya gitmeden önce Python OOP'u incelemek için tweet gereksinimleri için tıklayın, güçlü bir anlayışa sahip olmanızı şiddetle tavsiye ediyoruz. Temel bilgiler Python. Bu nedenle, Python ile nesne yönelimli programlamayı incelemek için gereken tüm ana kavramlara sahip bir hile sayfası tasarladık.
Değişken: Belirli bir nesneyi ifade eden sembolik isim (makalenin anlamını makale aracılığıyla göreceğiz).
Aritmetik operatörler: Adding (+), indirgeme (-), çarpma (*), bölünme (/), tamsayıların bölümü (//), Modulo (%).
Varsayılan veri türü: Sayısal (tamsayılar, şamandıra, karmaşık), dizi (String, List, Tupel), boolean (sağ, yanlış), sözlük ve set.
Boolean ifadesi: Sonuçların doğru veya yanlış olduğu bir ifade.
Koşullu: Boole ifadesini değerlendirin ve sonuçlara bağlı olarak birkaç işlem yapın. İf/else ifadeleri tarafından ele alınır.
Döngü: Kod bloğunun tekrar tekrar yürütülmesi. Döngü için veya döngü olabilir.
İşlev: Organize bir kod bloğu ve yeniden kullanılabilir. Def. Gargumen anahtar kelimesiyle yaparsınız: nesneler bir işleve aktarılır. Örneğin: Toplam ([1, 2, 4])
Python komut dosyasını çalıştırın: Terminal veya komut satırını açın ve "python ” yazın.
Python Shell’i açın: Terminali açın ve sisteminize bağlı olarak Python veya Python3 yazın.
Şimdi bu kavramlara açıkça sahipsiniz, nesne odaklı programlamayı anlayarak ilerleyebilirsiniz.
Python ile nesne yönelimli programlama nedir? Nesne odaklı programlama (OOP), karmaşık problemleri nesne olarak düşünebileceğimiz bir programlama paradigmasıdır. Paradigma, problemleri çözmek için bir temel sağlayan bir teoridir. OOP hakkında konuştuğumuzda, nesnelerle sorunları çözmek için kullandığımız bir dizi kavram ve kalıptan bahsediyoruz. Python’daki nesneler tek bir veri koleksiyonu (öznitelikler) ve davranış (yöntemler). Nesneleri etrafınızdaki gerçek nesneler olarak görebilirsiniz. Örneğin, hesap makinesini düşünün:
Hesap makineleri nesne olabilir.
Dikkat edebileceğiniz gibi, veriler (öznitelikler) her zaman isimler biçimindeyken, davranış (yöntem) her zaman fiiller biçimindedir. Bu bölümleşme, nesne yönelimli programlamanın merkezi bir kavramıdır. Verileri depolayan ve belirli işlev türlerini içeren nesneler oluşturursunuz. Python ile neden nesne yönelimli programlamayı kullanıyoruz? OOP, güvenli ve güvenilir bir yazılım yapmanızı sağlar. Birçok çerçeve ve python kütüphanesi bu paradigmayı kod tabanlarını oluşturmak için kullanır. Bazı örnekler Django, Kivy, Pandas, Numpy ve Tensorflow’dur.
PHP (PHP ve Python arasındaki oranı okuduğunuzdan emin olun)
Yakut
Javascript
C#
Kotlin
Tüm bu diller orijinal nesne yönelimlidir veya nesne yönelimli işlevsellik için seçenekler içerir. Python’dan sonra öğrenmek istiyorsanız, daha kolay olacak – nesnelerle çalışan dil arasında birçok benzerlik bulacaksınız.
OOP, kodu daha hızlı kodlamayı daha hızlı yapmanıza izin verir, daha az kod satırı yazmak anlamına gelmez. Bu, proje istikrarından ödün vermeden daha kısa sürede daha fazla özellik uygulayabileceğiniz anlamına gelir. Nesne yönelimli programlama, soyutlama uygulayarak kodu yeniden kullanmanıza olanak tanır. Bu ilke, kodunuzu daha özlü ve okunabilir hale getirir. Bildiğiniz gibi, programcı kodu yazmaktan daha fazla zaman harcıyor. Okumanın nedeni, özellikleri mümkün olan en kısa sürede yayınlamaktan her zaman daha önemlidir.
Okunamayan kodla verimlilik azalır
Daha sonra soyutlama ilkesi hakkında daha fazla bilgi göreceksiniz.OOP, spagetti kodundan kaçınmanıza yardımcı olur, bu makalenin başında tahmin programını hala hatırlıyor musunuz?Özellikler eklemeye devam ederseniz, gelecekte yuvalanan ifadeleriniz olacak.Bu sonsuz kod satırına spagetti kodu denir ve mümkün olduğunca kaçınmanız gerekir.OOP bize nesnedeki tüm mantığı sıkıştırma imkanı verir, bu nedenle uzun süreli konaklamadan kaçınır.OOP, OOP ile deneyim kazandıktan sonra herhangi bir durum hakkındaki analizinizi artırır, sorunları küçük ve spesifik nesneler olarak değerlendirebilirsiniz.
Bu anlayış hızlı bir proje başlatmaya yol açar. Yapısal programlama ve yönlendirilmiş programlama nesneleri Yapısal programlama nesneleri, yeni başlayanlar tarafından en yaygın kullanılan paradigmalardır, çünkü küçük programlar oluşturmanın en basit yoludur. Bu, Python programını sırayla çalıştırmayı içerir. Bu, bir bilgisayar listesini verdiğiniz ve ardından yukarıdan aşağıya çalıştırdığınız anlamına gelir. Bir kahve dükkanı programı ile yapılandırılmış bir programlama örneğine bakalım. küçük = 2 normal = 5 büyük = 6 user_budget = giriş (‘bütçeniz nedir?’) deneyin: user_budget = int (user_budget) hariç: print (‘lütfen bir sayı gir’) çıkış () ise user_budget> 0: if user_budget > = Big: print (‘Büyük kahveyi karşılayabilirsiniz’) user_budget == big: print (‘tam’) else: print (‘Değişikliğiniz’, user_budget – big) user_budget == normal: baskı (yazdır ( Yazdır (yazdır (” normal kahveyi karşılayabilirsiniz ‘) baskı (‘ tam ‘) user_budget> = küçük: user_budget == küçük: print (‘ Complete ‘) Else: Yazdır (yazdır (‘ Değişikliğinizdir ‘, user_budget – küçük) Yukarıdaki kod bir kahve dükkanı satıcısı görevi görür. Bu bir bütçe isteyecek, sonra satın alabileceğiniz en büyük kahveyi “sat”. Terminalde koşmayı deneyin. Bu, girişinize bağlı olarak adım adım gerçekleştirilecektir. Bu kod iyi çalışıyor, ancak üç problemimiz var:
Koşullusa çok fazla yuvalama kullanır.
Bunun okunması ve değiştirilmesi zor olacaktır.
OOP, tüm bu sorunlara bir çözüm olarak oluşturuldu. OOP ile uygulanan yukarıdaki programa bakalım. Henüz anlamıyorsanız endişelenmeyin. Bu yalnızca yapılandırılmış programlama ve nesne yönelimli programlamayı karşılaştırmak içindir. Sınıf Kahve: # Yapıcı Def __init __ (self, isim, fiyat): self.name = name self.price = float (fiyat) def check_budget (self, bütçe): # bütçenin geçerli olup olmadığını kontrol edin (bütçe, (bütçe, (bütçe, (bütçe, (bütçe, (bütçe, (bütçe int, şamandıra))): bütçe <0 ise ('şamandıra veya int') çıkış () ') çıkış () def_change (öz, bütçe): iade bütçesi – self. .Name} kahve ') Bütçe == self.price: print (print (' tam ') başka: yazdırın (f'here Değişikliğinizdir {self.get_change (bütçe) $') çıkış (' İşlem ') Not: Aşağıdaki tüm kavramlar makalelerle daha derin açıklanacaktır. Yukarıdaki kod "Kahve" adlı bir sınıfı temsil eder. İki özelliği vardır – "isim" ve "fiyat" – ve her ikisi de yöntemde kullanılır. Ana yöntem, satış sürecini tamamlamak için gereken tüm mantığı işleyen "Satış" lıktır. Sınıfı çalıştırmaya çalışırsanız, sonuç alamazsınız. Bu esas olarak oluyor çünkü biz sadece kahve için değil, kahve için bir "şablon" ilan ediyoruz. Sınıfı aşağıdaki kodla uygulayalım: küçük = kahve ('küçük', 2) normal = kahve ('normal', 5) büyük = kahve ('büyük', 6) deneyin: user_budget = şamandıra (giriş ('nedir? Bütçeniz? ') ValueError hariç: Çıkış ('
Lütfen [büyük, düzenli, küçük]: coffee.sell (user_budget) içinde kahve için bir numara girin. Kullanıcı herhangi bir seçenek satın alabilir. Her iki yaklaşımla da aynı çıktıyı alacağız, ancak program işlevselliğini OOP ile daha iyi genişletebiliriz. Aşağıda, nesne yönelimli programlama ve yapılandırılmış programlamanın bir karşılaştırma tablosu:
/td>
>
</s
Bunlar problemleri çözmenin sadece iki yoludur; Orada başka insanlar var.
OOP büyük bir kod tabanında kullanılırken, yapılandırılmış programlama esas olarak basit projeler içindir.
Python ile doğuştan gelen nesneye geçelim. Her şey Python ile bir nesne. Size bir sır söyleyeceğiz: farkına varmadan her zaman oop kullandınız. Python’da başka bir paradigma kullanırken bile, neredeyse her şeyi yapmak için nesneleri kullanıyorsunuz. Çünkü Python’da hepsi nesnelerdir. Nesnenin tanımını unutmayın: Python’daki nesneler tek bir veri koleksiyonu (öznitelikler) ve davranış (yöntemler). Python ile her türlü veri ile eşleşir. Dize, veri (karakterler) ve davranış (üst (), daha düşük (), vb.) Bir koleksiyonudur. Aynı şey tamsayılar, şamandıralar, boolean, liste ve sözlükler için de geçerlidir. Devam etmeden önce özelliklerin ve yöntemlerin anlamını gözden geçirelim. Öznitelikler ve yöntemler öznitelikler nesnedeki dahili değişkenlerdir, yöntem ise birkaç davranış üreten bir işlevdir. Shell Python’da basit bir egzersiz yapalım. Terminalinize Python veya Python3 yazarak açabilirsiniz.
Şimdi, yöntem ve türler bulmak için Shell Python ile çalışalım. >>> Kinsta = ‘Kinsta, Premium WordPress Hosting’ >>> Kinsta.upper () ‘Kinsta, Premium WordPress barındırma’ İkinci sırada, ipi, üst () yöntemini çağırıyoruz. Bu, tüm dize içeriğini büyük harflerle geri yükler. Ancak, bu orijinal değişkeni değiştirmez. >>> Kinsta ‘Kinsta, Premium WordPress Hosting’ Nesnelerle çalışırken değerli işlevleri öğrenelim. Type () işlevi, nesne türünü almanızı sağlar. “Tür” nesnenin bulunduğu sınıftır. >>> type (kinsta) # sınıf ‘str’ işlevi dir () bir nesnenin tüm özniteliklerini ve yöntemlerini döndürür. Kinsta değişkeni ile test edelim. >>> dir (ki nsta) [‘__add__’, ‘__class__’, ……….. ‘üst’, ‘zfill’] Şimdi, bu nesnenin bazı gizli özelliklerini yazdırmaya çalışın. >>> kinsta .__ class__ # sınıf ‘str’ e> Kinsta nesnesine ait bir sınıf görüntüleyecektir. Bu nedenle, işlev türü tarafından döndürülen tek şeyin bir nesnenin __class__ özelliği olduğunu söyleyebiliriz. Tüm veri türlerini deneyebilir, doğrudan terminaldeki tüm özellikleri ve yöntemleri bulabilirsiniz. Resmi belgelerde varsayılan veri türü hakkında daha fazla bilgi edinebilirsiniz. Python ile ilk nesneniz şablon gibi bir sınıftır. Bu, belirttiğiniz özelliklere ve yöntemlere göre özel nesneler oluşturmanıza olanak tanır.
Trafiğimizi%1000’den fazla nasıl artırdığımızı bilmek ister misiniz?Haftalık bültenimizi içerideki WordPress insanlar hakkında ipuçlarıyla alan 20.000’den fazla insana katılın!
Belirtilen özelliklerle mükemmel pastayı (nesne değil, bir Trackee Trackle değil nesne) pişirmek için değiştirdiğiniz bir kek kesici olarak düşünebilirsiniz: şekil, boyut ve daha fazlası.Öte yandan bir örneğimiz var.Örnek, benzersiz bir bellek adresine sahip bir sınıfın ayrı bir nesnesidir.
Python’da örnek
Artık sınıf ve örneğin ne olduğunu bildiğinize göre, kesinlikle birkaç tanesini tanımlayalım! Sınıfı Python ile tanımlamak için anahtar kelime sınıfını ve ardından adını kullanırsınız. Bu durumda, Cookie adlı bir sınıf oluşturacaksınız. Not: Python’da bir sınıf adı vermek için bir Deve Vaka Adı Sözleşmesi kullanıyoruz. Sınıf çerez: Python kabuğunuzu açın ve yukarıdaki kodu yazın. Bir sınıf örneği oluşturmak için, daha sonra ad ve braketleri yazmanız yeterlidir. Bu, bir işlevi çağırmakla aynı süreçtir. Cookie1 = Cookie () Tebrikler – Python ile ilk nesnenizi yaptınız! Kimliği ve türü aşağıdaki kodla kontrol edebilirsiniz: id (cookie1) 140130610977040 # Nesne türünün benzersiz tanımlayıcısı (cookie1) Gördüğünüz gibi, bu çerez bellekte benzersiz bir tanımlamaya sahiptir ve Tür çerezlerdir. Bir nesnenin bir ISInstance () işlevine sahip sınıfın türevi olup olmadığını da kontrol edebilirsiniz. ISInstance (Cookie1, Cookie) # True IsInstance (Cookie1, Int) # False ISInstance (‘A String’, Cookie) # Yanlış Yapıcı Yöntemi __init __ () da “Yapıcı” olarak da adlandırılır. Buna bir nesne örneği yaptığımızda Python denir. Yapıcı, mevcut olması gereken minimum bir parametre seti ile nesnenin başlangıç durumunu yapar. Çerez sınıfını değiştirelim, bu nedenle yapıcıdaki parametreler alın. Sınıf çerez: # yapıcı def __init __ (benlik, ad, şekil, cips = ‘çikolata’): # örnek öznitelikler self.name = name self.shape = şekil self.chips = çerez sınıfındaki cips, her çerez bir isim, şekil ve çip. Sonunu “çikolata” olarak tanımladık.
) Cookie3.bake () # Bu pişmiş kurabiye, şekil ağacı ile pişiriliyor ve çikolata cipsleri kurabiyenizin tadını çıkarın!4 Nesne yönelimli programlama python ile OOP sütunları dört ana sütun içerir: 1. Soyutlama soyutlamaları, kullanıcının uygulanmasının dahili işlevselliğini gizler.Kullanıcılar son müşteriler veya diğer geliştiriciler şeklinde olabilir.Soyutlamalar günlük yaşamda bulunabilir.Örneğin, bir cep telefonu nasıl kullanacağınızı biliyorsunuz, ancak uygulamayı her açtığınızda tam olarak ne olduğunu bilmiyor olabilirsiniz. Size rekabet avantajı sağlayan barındırma çözümü?Kinsta, olağanüstü hız, sofistike güvenlik ve otomatik ölçekte size yardımcı olur.Planımıza bakın
Başka bir örnek Python’un kendisidir. İşlevsel yazılım oluşturmak için nasıl kullanacağınızı biliyorsunuz ve Python’un parçalarının nasıl çalıştığını anlamasa bile bunu yapabilirsiniz. Aynı şeyi koda uygulamak, standart özetin sorun ve işlevselliğindeki tüm nesneleri sınıfa toplamanıza olanak tanır. 2. Kalıtım kalıtım, belirtilen sınıftan birkaç alt sınıfı tanımlamamızı sağlar. Ana amaç kuru prensibi takip etmektir. Paylaşmanın tüm bileşenlerini süper sınıflara uygulayarak birçok kodu yeniden kullanabilirsiniz. Bunu gerçek bir genetik kalıtım kavramı olarak görebilirsiniz. Çocuklar (alt sınıf) iki ebeveyn (üst sınıf) arasındaki kalıtımın sonucudur. Tüm fiziksel özellikleri (öznitelikler) ve bazı genel davranışları (yöntemler) miras aldılar. 3. Polimorfizm polimorfizm, daha önce üst sınıfta tanımlanmış alt sınıfın yöntemlerini ve niteliklerini değiştirmemizi sağlar. Gerçek anlam “birçok biçimdir”.
Çünkü aynı adlı bir yöntem ama farklı bir işlev oluşturuyoruz. Önceki fikre geri dönersek, çocuklar da polimorfizmin mükemmel bir örneğidir. Belirtilen Get_hungry () davranışını devralabilirler, ancak biraz farklı bir şekilde, örneğin, her 4 saatte bir aç olmak, 6. 4. kapsülleme kapsülleme, sınıftaki verilerin iç bütünlüğünü koruduğumuz bir süreçtir. Python’da kişisel bir ifade olmamasına rağmen, Python’da Mangling kullanarak kapsülleme uygulayabilirsiniz. Getter ve Setter adında benzersiz özelliklere ve yöntemlere erişmemizi sağlayan özel bir yöntem vardır. _Height adlı benzersiz bir özelliğe sahip bir insan sınıfı hayal edelim. Bu özniteliği yalnızca belirli sınırlarda değiştirebilirsiniz (3 metreden daha yüksek olması neredeyse imkansız). Python ile ilgili en iyi şeylerden biri, CLI programından (komut satırı arayüzü) karmaşık web uygulamalarına kadar çeşitli yazılımlar yapmamızı sağlamaktır. Şimdi OOP sütunları kavramını inceledikten sonra, gerçek projeye uygulama zamanı. Not: Aşağıdaki kodların tümü bu GitHub deposunda mevcut olacaktır. GIT ile kod sürümünü yönetmemize yardımcı olan kod revizyon aracı. İşiniz aşağıdaki formlarla bir hesap makinesi alanı oluşturmaktır: kare
Dikdörtgen dört
Üçgen
Altıgen
İlk formun temel sınıfı, bir calculator.py dosyası oluşturun ve açın. Zaten yapacak nesnelerimiz olduğu için, sınıfta soyutlanması kolay olacaktır. Genel özellikleri analiz edebilir ve tüm bunların 2D form olduğunu bilirsiniz. Bu nedenle, en iyi seçenek, her formun miras alacağı Get_area () yöntemi ile bir şekil şekli oluşturmaktır. Not: Tüm yöntemler fiiller şeklinde olmalıdır. Bunun nedeni, bu yönteme Get_area () olarak adlandırılır () değil (). Sınıf şekli: def __init __ (self): Pass def get_area (self): Yukarıdaki geçiş kodu sınıfı tanımlar; Ancak, içinde hiçbir şey ilginç değildir. Bu formların çoğunun standart işlevselliğini uygulayalım. Sınıf şekli: def __init __ (self, side1, side2): self.side1 = side1 self.side2 = side2 def get_area (self): self.side1 * self.side2 def __str __ (self): dönüş alanı Bu {self .__ class __.__ name__}: {self.get_area ()} ‘Bu kodla ne yaptığımızı açıklayalım: __init__ yönteminde, iki parametre, yan 1 ve yan 2 istiyoruz. Bu bir örnek özniteliği olarak kalacaktır.
Get_area function () şekil alanını geri yükler. Bu durumda, bu, diğer formlarla daha kolay uygulanacağı için dikdörtgen bir alan formülü kullanır.
__Str __ () yöntemi, __init __ () gibi “sihirli yöntem” dir. Bu, bir örneğin yazdırma şeklini değiştirmenizi sağlar.
Gizli öznitelikler self .__ sınıf __.__ name__ Sınıf adına bakın. Üçgen bir sınıfla çalışıyorsanız, özellik bir “üçgen” olacaktır.
Dikdörtgen Sınıf Dikdörtgenin geniş formülünü uyguladığımız için, şekil sınıfından miras almaktan başka bir şey yapmayan basit bir dikdörtgen sınıfı oluşturabiliriz. Python’da kalıtım uygulamak için, sınıfı her zamanki gibi yapacak ve parantezle miras almak istediğiniz üst sınıfı çevreleyeceksiniz. # Katlanmış Base Sınıfı Şekil: … Sınıf Dikdörtgen (Şekil): # Parantez Geçidi’nde Superclass Kare sınıfla polimorfizm için mükemmel bir yaklaşım alabiliriz. Meydanın sadece dört tarafı aynı olan bir dikdörtgen olduğunu unutmayın. Bu, alanı almak için aynı formülü kullanabileceğimiz anlamına gelir. Bunu, INIT yöntemini değiştirerek, sadece bir parametre olarak tarafı alarak ve tarafın değerini dikdörtgen sınıf yapıcısına devam ettirerek yapabiliriz. # Katlanmış Sınıflar Sınıf Şekil: … Sınıf dikdörtgen (şekil): … sınıf kare (dikdörtgen): def __init __ (kendi kendine, yan): Super () .__ init __ (yan, yan), gördüğünüz gibi, Süper işlev, iki kez üst sınıfa yan parametrelerden geçer. Başka bir deyişle, yan 1 olarak iyi bir taraftan ve önceden belirlenmiş yapıcının yanlarından geçer. Üçgen Sınıf A Üçgen onu çevreleyen dikdörtgenin yarısını ölçüyor. Üçgen ve dikdörtgen arasındaki ilişki (görüntü kaynağı: Üniversite öğretmen).
Bu nedenle, dikdörtgen sınıfından miras alabilir ve tabanın yarısı yükseklik ile çarpılan üçgenin alanının formülünü eşleştirmek için Get_area yöntemini değiştirebiliriz. # Katlanmış Sınıflar Sınıf şekil: … sınıf dikdörtgen (şekil): … sınıf kare (dikdörtgen): … sınıf üçgen (dikdörtgen): def __init __ (kendi kendine, taban, yükseklik): süper () .__ init __ (baz (baz), yükseklik) def get_area (self): alan = süper (). Get_area () dönüş alanı / 2 süper işlevin () diğer kullanımı durumları, süper sınıfta tanımlanan yöntemi aramak ve saklamaktır. değişkenler olarak sonuçlar. Get_area () yönteminde olan budur. Daire sınıfınız dairenin alanını R² formülü ile bulabilir, burada r dairenin yarıçapıdır. Bu, formülü uygulamak için get_area () yöntemini değiştirmemiz gerektiği anlamına gelir. Not: π değerini matematik modülü # katlanmış sınıf sınıfından aktarabiliriz: … sınıf dikdörtgen (şekil): … sınıf kare (dikdörtgen): … sınıf üçgen (dikdörtgen): … # Matematik ithalat pi sınıfı daire (şekil): def __init __ (self, yarıçap): self.radius = RADIUS def get_area (self): return pi * (self.radius ** 2) Yukarıdakiler Kod, farklı yapıcı ve get_area () yöntemlerini kullanan daire sınıfını tanımlar. Daire şeklin şeklini devralmasına rağmen, her bir yöntemi yeniden tanımlayabilir ve isteklerinize göre ayarlayabilirsiniz. Düzenli altıgen sınıfımız sadece kapsamını hesaplamak için sıradan bir altıgen uzunluk gerektirir. Bu, sadece yapıcının argümanına devam ettiğimiz kare sınıfına benzer. Meyve altı özeti (görüntü kaynağı: Byju’s)
Bununla birlikte, formül çok farklıdır ve bu kuadratik köklerin kullanımı anlamına gelir. Bu yüzden matematik modülünün SQRT () işlevini kullanacaksınız. # Katlanmış sınıf şekil: … sınıf dikdörtgen (şekil): … sınıf kare (dikdörtgen): … sınıf üçgen (dikdörtgen): … sınıf daire (şekil): … # kare kökü ithal Matematik ithal sqrt sınıfı altıgen (dikdörtgen): def get_area (self): return (3 * sqrt (3) * self.side1 ** 2) / 2 Sınıfımızı test etme Hata ayıklayıcı kullanarak python dosyalarını çalıştırırken interaktif mod girebilirsiniz. Bunu yapmanın en basit yolu varsayılan kesme noktası işlevini kullanmaktır. Not: Bu işlev yalnızca Python 3.7 veya daha yenisinde mevcuttur. Matematik ithal Pi, sqrt # katlanmış sınıf şekli: … sınıf dikdörtgen (şekil): … sınıf kare (dikdörtgen): … sınıf üçgen (dikdörtgen): … sınıf daire (şekil): .. . Sınıf Hexagon (Dikdörtgen): … BreakPoint () Şimdi, Python dosyasını çalıştırın ve oluşturduğunuz sınıfla oynayın. $ python calculator.py (GSYİH) rec = dikdörtgen (1, 2) (GSYİH) baskı (rec) Bu dikdörtgenin alanı: 2 (GSYİH) SQR = kare (4) (GSYİH) baskı (sqr) Bu karenin alanı: 16 (GSYİH) Tri = Üçgen (2, 3) (GSYİH) Baskı (TRI) Bu üçgenin alanı: 3.0 (GSYİH) CIR = Daire (4) (GSYİH) Baskı (CIR ) Bu dairenin alanı: 50.26548245743669 (GSYİH) hex = hexagon (3) (GSYİH) baskı (hex) Bu altıgenin alanı: 2382685902179844 Sınıf için zorluklar, kullanıcının şekil seçebileceği yöntem çalışması ile sınıf için zorluklar ve alanı hesaplayın. Mücadeleyi tamamladıktan sonra, Github’a geri çekmek veya çözümünüzü yorumlar bölümünde yayınlamak için bir istek gönderebilirsiniz. Python ile Nesneye yönelik programlamaya başlamaya hazır mısınız?
Doğru yere geldiniz, nesne yönelimli programlama özeti için tıklayınPython OOP’u anlarsanız, Java, PHP, JavaScript ve C#gibi dillerde de kolayca uygulayabilirsiniz.Bu makalede, Python’daki nesne yönelimli kavramlar hakkında bilgi edindiniz
Yapılandırılmış programlamaya kıyasla nesne yönelimli avantajlar
Python ile nesne odaklı programlamanın temelleri
Sınıf kavramları ve Python ile nasıl kullanılacağı
Python ile sınıf yapıcısı
Python’daki yöntemler ve özellikler
Dört OOP sütunu
Bir projeye soyutlama, kalıtım ve polimorfizm uygulayın
Şimdi size kalmış!Yorumlarda aşağıdaki zorluklara çözümünüzü bize bildirin!Ve Python ve PHP arasındaki karşılaştırma kılavuzumuzu görmeyi unutmayın.