Etiket arşivi: python

Python Programlama Diline Bir Giriş Yazı Dizisi – 1

Merhabalar,

Python programlama dilini yazılım geliştirme için ana dilim olarak karar verdikten sonra Python üzerine yazı dizisi olarak bir giriş öğreticisi yazmaya karar verdim. Umarım bu kararımı iyi bir şekilde sürdürüp güzel bir öğretici ortaya çıkarırım. 🙂 Bu öğreticinin yazımını tamamladıktan sonra zaman zaman güncellemeye devam edeceğim, bu yüzden bu öğretici için arada sırada geri dönüp bakmanızda da bir yarar olduğunu düşünüyorum.

Öncelikle bu öğreticide Python’ın tarihçesi, Python kelimesinin kökeni gibi her yerde bulabileceğiniz ayrıntılara yer vermeyeceğim. Bu öğretici, hiç programlama dili bilmeyen biri için çok hızlı bir giriş olabilir ancak elimden geldiğince ayrıntılı anlatmaya çalışacağım.

Bu öğreticide kullanacağım Python sürümü, Windows üzerinde 3.10.5 olacak. Daha fazla uzatmadan başlayayım.

Yıllardır Python’la uğraşmama rağmen Python’ın komut satırını hemen hemen hiç kullanmadım, bu yüzden komut satırını es geçip IDLE üzerinden Python hakkında örneklerle biraz bilgi vereceğim.

IDLE programında yeni bir Python kaynak dosyası oluşturduktan sonra şu kodu yazıyoruz:

print("Merhaba Dünya!")

Evet, çok sıkıcı oldu bu. Her tarafta böyle giriş öğreticileri var ve bunlar artık programlamaya çoktan giriş yapmış insanlar için oldukça can sıkıcı. O zaman şöyle yapalım:

import sys

EXIT_SUCCESS = 0

def main(args):
    print("Merhaba Dünya!")
    return EXIT_SUCCESS

if __name__ == "__main__":
    sys.exit(main(sys.argv))

Şimdi bu daha iyi oldu. Böylece kodumuz, durduk yere import edildiğinde "Merhaba Dünya!" çıktısı alınmayacak ve komut satırında çalıştırıldığında girilen komut satırı argümanlarına da hakim olabileceğiz. Kodu inceleyerek ve üzerinde oynayarak anlamaya çalışın, çünkü hikaye gibi uzun uzun anlatan öğreticilerin sıkıcı olduğunun farkındayım. Örneği biraz daha da geliştirelim:

import sys

EXIT_SUCCESS = 0

def main(args):
    sistemimiz = "Windows" if sys.platform == "win32" else "Başka bir platform"
    print(f"{sistemimiz} sisteminden merhaba Dünya!")
    return EXIT_SUCCESS

if __name__ == "__main__":
    sys.exit(main(sys.argv))

Burada sistemimiz adlı bir değişken oluşturduk. Eğer yazacağınız kodları paylaşıp bu kodların herkes tarafından anlaşılmasını istiyorsanız değişken adlarını İngilizce yapmanızı öneririm. Yoksa böyle değişkenler Türkçe bilmeyenler için kodu okunamaz hâle getiriyor. Bu arada değişkenlerde Türkçe karakterler kullanabiliriz ancak bunların Python’da ne zaman sorun çıkaracağı belli olmayabilir.

Artık merhaba Dünya klişelerinden çıkıp gerçek bir proje örneğiyle başlangıç yapalım:

Ana dosyamız için: (Buna example.py adını verelim. Artık dosya adlarını ve sözcüklerimizi İngilizce yazalım çünkü herkesin anlayabileceği örnekler yazmaya alışalım.)

import argparse
import sys

from version import PROJECT_NAME, PROJECT_VERSION

EXIT_SUCCESS = 0

def main(args):
    parser = argparse.ArgumentParser(prog=PROJECT_NAME, description="Example project.")
    parser.add_argument("-v", "--version", action="version", version=PROJECT_VERSION)
    args = parser.parse_args()
    return EXIT_SUCCESS

if __name__ == "__main__":
    sys.exit(main(sys.argv))

Örnek projemiz hakkında sürüm bilgilerinin bulunduğu dosyamız için: (Buna da version.py adını verelim.)

PROJECT_NAME = "MyExample"
PROJECT_VERSION = "0.1.0"

IDLE’den, normal çalıştırarak ve Shift + F5 tuş bileşimiyle -h veya -v argümanları vererek projemizi çalıştırmayı deneyelim.

İşte, gerçek bir komut satırı programı yapmaya başladık. Bu arada sürümleme olarak Anlamsal Sürümleme önerilmektedir. Bu yüzden sürüm numarasını 0.1.0‘dan başlattım. Anlamsal Sürümleme’nin ne olduğunu uzun uzun anlatmayacağım çünkü bunu arama motorlarından kolayca bulabilirsiniz. Ayrıca proje adını da ayrı bir değişkene atadım, böylece projemizin adını dosya adlarını -göz önünde bulundurmak şartıyla- değiştirmek istediğimiz zaman sadece buradan değiştirebiliriz.

Bir de hiçbir zaman değiştirmeyeceğimiz değişkenleri kendimiz ve kodları okuyacak diğer kişiler için sözcük aralarında _ kullanarak sadece büyük harflerle belirtmek önerilmektedir. Böylece kodları okuyan her kimse böyle bir değişken adı gördüğü zaman bunu bir daha değiştirmemelidir.

Sizleri daha fazla zorlamadan öğretici yazı dizimizin ilk yazısını burada keselim. Python’ı hızlıca öğrenmek ve hızlıca pekiştirmek için örnekler üzerinde ufak oynamalar yaparak programda ne gibi değişiklikler elde edileceğini deneyimlemeyi ihmal etmeyiniz. Yazı dizimizin bir sonraki yazısında Python söz diziminden ayrıntılı olarak bahsetmeye başlayacağım.

Şimdilik hoşçakalın.