Bu gönderide programlama kursu Linux kullanarak Python'da Kodun ne yaptığını nasıl belgeleyeceğimiz konusunu konuşmaya devam edeceğiz. Bu çok faydalı bir alıştırma çünkü yazdıklarımızı hatırlama konusunda hafızamız her zaman güvenilir olmayabiliyor. Ayrıca döngüler konusuna da giriş yapacağız.
Öte yandan, profesyonel olarak kod yazıyorsak veya açık kaynaklı bir proje topluluğunun parçasıysak, başkalarının değişiklik yapması muhtemeldir, bu nedenle nerede olduklarını bilmeleri gerekir. Döngüler, bir koşul karşılanana kadar programları çalıştırmaya devam etmemizi sağlar.
Önceki yazımızda docstring kavramını tanıtmıştık. Docstring'ler, belirli fonksiyonların, sınıfların, metotların ve modüllerin ne yaptıkları hakkında kısa açıklamalara erişmemizi sağlar. Programın çalışmasını durdurup, bir yorum bulana kadar tüm kodu okumaya gerek kalmadan. Ancak devam etmeden önce, bazı kavramları gözden geçirelim.
- fonksiyon: Belirli bir görevi yerine getiren, tekrar kullanılabilir kod bloğu.
- sınıfı: Bu, ondan ürettiğimiz nesneleri tanımlamak için kullandığımız bir kalıptır.
- yöntem: Bu, bir sınıfa ait bir fonksiyondur.
- Modül: Bu, başka bir Python programı içinde çalıştırılabilen bir Python programıdır.
Sınıf ve fonksiyon kavramlarını önceki yazılarımızda açıklamıştık. Modüllerden ise daha sonra bahsedeceğiz.
Dokümanlar
Docstringler metin dizeleridir.Bunlar fonksiyonun başına yerleştirilir ve fonksiyonun ne yaptığını, hangi parametreleri aldığını ve hangi değerleri döndürdüğünü kısaca açıklar.
Gördüğümüz gibi, üç çift tırnak içinde fonksiyonun nasıl çalıştığını açıklayan ve bir örnek veren metin yer almaktadır. Aşağıda karşılaştırma için kod bulunmaktadır.
Docstring kullanımının nedenleri şunlardır:
- netlik: Bu yöntemler, kodu incelemekle görevli kişinin her bir şeyin ne işe yaradığını daha hızlı anlamasına yardımcı olur.
- Erişim kolaylığı: Dokümantasyona etkileşimli konsol üzerinden erişilebilir.
- Standartlara Uygunluk: Kodları belgelemek için docstring kullanımı, Python topluluğu tarafından yaygın olarak kabul görmüş bir uygulamadır.
- Güncelleme: PBu özellik, yeni dosyalar oluşturmaya gerek kalmadan koddaki değişiklikleri kolayca belgelemenizi sağlar.
Bu kursun başında, entegre geliştirme ortamı olarak Visual Studio Code'u kullanmanızı ve bazı ek eklentiler yüklemenizi öneririz. VS Code, fare imlecini üzerine getirdiğinizde docstring'lerdeki metni otomatik olarak görüntüler. Bunu yapmanın diğer yolları şunlardır:
- Etkileşimli konsoldan: (Python uygulamasını çalıştırdığınız Linux terminali.)
- Çalıştırdığımız aynı program kodundan.
- Fonksiyonu içe aktaran başka bir programdan.
Bunlar komutla ilgili örneklerdir. Yardım()
Öncelikle bir açıklama yapayım. Python'ın girinti gereksinimleri ile blogun içerik yönetim sistemi arasındaki uyumsuzluk nedeniyle, çok uzun kod parçalarını doğrudan yapıştıramıyorum. Önceki yazılarda kodları yapıştırdığım Pastebin'in ücretsiz kullanım limiti var ve ben bu limiti zaten aştım. Bu yüzden ekran görüntüleri kullanıyorum. Her durumda, kodu elle kopyalamak nasıl çalıştığını anlamanıza yardımcı olacaktır.
Yazdığımız programı çalıştırdığımız terminalden aşağıdaki komutlarla doğrudan docstring'leri çağırabiliriz:
from detectar_distro import obtener_info
help(obtener_info)
Önceki programı detect_distro.py olarak kaydetmeliydik.
Başka bir programın kodundan
# archivo: consulta.py
from detectar_distro import obtener_info
help(obtener_info)
Tekrarlayan görevleri yerine getirmek
Şimdiye kadar sadece bir görevi yerine getirip sonra duran programlar gördük. Ancak, Gerçek dünyada, uygulamalar kullanıcı durdurana kadar sürekli olarak çalışır. Bunu başarmanın bir yolu döngüler kullanmaktır; döngüler belirli bir koşul karşılandığı sürece kod çalıştırır.
Koşul, komutla belirlenir. süre
Bu program dağıtım değişkenini oluşturur ve kullanıcı bir değer girene kadar while komutuyla bu değişkeni ayarlar. Ubuntu Ondan hâlâ bir dağıtım şirketinin adını yazması isteniyor.
While döngüleri, istenen sonucu elde etmek için kodun kaç kez çalıştırılması gerektiğini belirtemediğimiz durumlarda çok kullanışlıdır. Örneğin, tek bir zar atışını simüle etmek istiyorsak ve sonuç önemli değilse, while döngüsüne ihtiyacımız olmaz.
Bazı faydalı kullanım örnekleri şunlardır:
- Kullanıcıdan, girilen veriler doğru olana kadar veri girmesini isteyin.
- Beklenen sonuca ulaşılana kadar hesaplamalar yapın. (Örneğin, okulda bir problemin çözümünü biliyordunuz ama oraya nasıl ulaşacağınızı bilmiyordunuz.)
- Listedeki verileri sona ulaşana kadar işleyin.
While döngüsünü kullanmanın bir yolu, deneme sayısını belirten bir sayaç ayarlamaktır.
Program şu şekilde çalışır:
- Deneme sayısı için bir değişken oluşturulur ve değeri 0 olarak ayarlanır, başka bir değişken deneme sayısını en fazla 5'e ayarlar ve kullanıcının girdisini saklamak için bir değişken oluşturulur.
- While döngüsüne iki koşul atanmıştır: kullanıcının doğru tahminde bulunmaması ve deneme sayısının henüz dolmamış olması.
- Kullanıcı her deneme yaptığında sayaç artırılır.
- Kullanıcıya deneme numarası gösterilir.
- Bu iki koşuldan herhangi biri yerine getirildiğinde, kullanıcının kazanıp kazanmadığı belirlenir.
Ara ver ve devam et
Koşulun yerine getirilmesi veya getirilmemesine ek olarak, döngünün işleyişini etkileyen iki kural daha vardır:
- Ara: Koşullar karşılanmamış olsa bile döngünün çalışmasını durdurur ve döngünün dışındaki ilk kod satırına atlar. Bu, örneğin kullanıcının programdan çıkmak istemesi durumunda faydalı olabilir.
- Devam et: Bu, tüm döngüyü durdurmaz; bunun yerine, mevcut denemeyi atlar ve bir sonrakine geçer. Örneğin, Linux dağıtımlarını soran programımızda, kullanıcı "Windows" yazarsa, kontrolü yapmadan tekrar dağıtım adı girmesini isteyebilir.
Bir sonraki yazımızda bu konuyu geliştirmeye devam edeceğiz.