Python belgelerine hoşgeldiniz!

Buradaki belgeler henüz çok yenidir ve yardımınıza ihtiyaç duymaktadır. Bu belgeler topluluk tarafından geliştirildikçe gelişecektir. Lütfen aşağıda anlatıldığı şekilde belgelere katkıda bulununuz.

Belgeler Hakkında

Bu belgelerin kaynak kodu GitHub’ta tutulmaktadır.

Nasıl yardım alabilirim?

Her zaman YazBel forumunun Python kategorisinde bir konu açarak aklınızdaki soruları sorabilirsiniz. Topluluk size yardım etmekten mutluluk duyacaktır.

Nasıl yardım edebilirim?

Birçok şekilde yardım edebilirsiniz:

  • Belgelerde değişiklik yaparak çekme isteği(pull request) gönderebilirsiniz. Yazım yanlışları ve küçük hatalar için GitHub arayüzünü kullanabilirsiniz ancak daha büyük ve karmaşık düzeltmeler için veri havuzunu bilgisayarınıza çekmeli, daha sonrasında düzeltmeleri yapıp çekme isteği göndermelisiniz. Her iki durumda da kısa ve öz bir işleme mesajı(commit message) yazdığınıza emin olmalısınız.

  • Eğer bir yanlış gördünüz ancak bir sebepten ötürü düzeltmeyi kendiniz yapmak istemediyseniz, bu hatayı bildirerek de yardım edebilirsiniz. Bunun için veri havuzunun konular(issues) dizininde bir konu açın, başlık ve açıklama kısmına ilgili metinleri yazın ve gönderin. Başlık kısmının kısa ve öz olmasına dikkat edin. Ayrıca konuya, sağ taraftaki Labels bölümünden python etiketini eklediğinize de emin olun.

  • Forumun Python kategorisinde sorulan soruları cevaplayabilirsiniz.

Lisans

LICENSE dosyasında da belirtildiği üzere bu belgelerin lisansı Creative Commons Atıf-GayriTicari-AynıLisanslaPaylaş 4.0 Uluslararası (CC BY-NC-SA 4.0) lisansıdır. Daha fazla bilgi için lütfen dosyanın içeriğine bakınız.

Python Hakkında

Python programlama dili Hollandalı programcı Guido Van Rossum tarafından 1991 yılında tasarlanıp gerçeklenmeye başlanmış bir programlama dilidir. Python en başta kolay okunup yazılabilirliği ile dikkat çekmektedir. Ayrıca C ve C++ gibi dillerin aksine, derlenmeye gerek olmadan çalışabildiği için hızlı bir şekilde uygulama geliştirilebilmesine de olanak sağlamaktadır. Python zamanımızın gözde programlama paradigmalarından olan nesneye yönelik programlama paradigmasını desteklemektedir. Python programlama dili genel amaçlı bir programlama dilidir ve masaüstü programlamadan web sunucu programlamaya, sistem programlamadan oyun programlamaya kadar birçok alanda kullanılmaktadır.

Python oldukça gözde bir betik geliştirme dilidir, özellikle GNU/Linux dünyasında. Python Google’ın resmi olarak kullandığı ve desteklediği üç dilden biri, ayrıca tek betikleme dilidir. Python yurt içi ve dışı birçok üniversite müfredatında da özellikle programlamaya giriş ve bilimsel programlama derslerinde yerini almıştır. Python programlama dili, Python Yazılım Vakfı Lisansı altında dağıtılan özgür bir yazılımdır.

İştahınız kabarmış olmalı! Ancak hepsi bu kadar değil. Python ile uygulama geliştirmek için sizi bunlardan daha çok motive edecek bir şey var: Eğlence. Evet, Python ile uygulama geliştirmek eğlencelidir. Python ile ilk uygulamanızı geliştirdiğinizde ve sonucunu ekranda gördüğünüzde ne demek istediğimi anlayacaksınız. =)

Kurulum

Python’ın farklı işletim sistemlerinde farklı kurulumları vardır:

Windows’ta Kurulum

  • Python indirmeler sayfasından Download Python 3.x.x tuşuna tıklayın ve kurucu programın indirilmesini bekleyin.

  • Kurucu programı çalıştırın, adımları takip edin ve kurulumu tamamlayın.

  • Komut İstemi’nde şu komutu vererek kurulumun başarılı bir şekilde tamamlanıp tamamlanmadığını kontrol edin:

    > py -3
    Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>

    Verdiğimiz komut sonrası Python etkileşimli kabuğunun açılması ve >>> işaretinden sonra bizden komut beklenmesi, kurulumumuzun başarılı olduğunu gösteriyor.

Mac’te Kurulum

  • Python indirmeler sayfasından Download Python 3.x.x tuşuna tıklayın ve kurucu programın indirilmesini bekleyin.

  • Kurucu programı çalıştırın, adımları takip edin ve kurulumu tamamlayın.

  • Terminal’de şu komutu vererek kurulumun başarılı bir şekilde tamamlanıp tamamlanmadığını kontrol edin:

    $ python3
    Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>>

    Verdiğimiz komut sonrası Python etkileşimli kabuğunun açılması ve >>> işaretinden sonra bizden komut beklenmesi, kurulumumuzun başarılı olduğunu gösteriyor.

Linux’te Kurulum

Eğer Linux kullanıyorsanız o zaman Python sizde zaten kuruludur, herhangi bir şey yapmanıza gerek yok.

Karakter Dizisi Biçimlendirme

F-string

%-biçimlendirme ve format() metodu ile biçimlendirme yerine Python 3.6 bize 3. bir biçimlendirme mekaniği sunuyor.

Bunun adı "Literal String Interpolation" yani "Karakter Dizisi Aradeğerlemesi" demektir (PEP-498). Bu mekaniği kullanan dizilere "Biçimlendirilmiş Karakter Dizisi" anlanımna gelen "f-string"(formatted-string) adı veriliyor.

Bu yeni mekanik önceki metotların yerini almak ya da onları eskitmektense, onların dezavantajlarına bir alternatif olma amacıyla kurulmuş.

F-stringler bize en az syntax ile dizi içerisine python ifadelerini yerleştirme/gömme becerisi sağlıyor.Bu dizilerin başında "f" harfi yer almaktadır tıpkı Python2'de unicode olarak belirtmek isteğimiz dizilerin başına "u" harfini koyduğumuz gibi.

F-string yapısı: f "<metin>{<ifade><isteğe bağlı !s, !r, ya da !a><isteğe bağlı : biçimlendirici>}<metin> …​ "

Örnek:

>>> import datetime
>>> ad = "YazBel"
>>> tarih = datetime.date(2018,2,12)
>>> f"Bu sitenin adı {ad}, bu yazı {tarih:%A, %B %d, %Y} tarihinde yazıldı"
'Bu sitenin adı Yazbel, bu yazı Monday, February 12, 2018 tarihinde yazıldı'

Gördüğünüz gibi diziler f"dizi" şeklinde başında "f" olacak şekilde yazılmış ve format() metodundaki gibi kelebek parantez {} içermektedir, fakat format() metodu kaldırılmış, bu durumda değişkenlerimizi direkt olarak parantezlerin içine yazıyoruz, nasıl gösterilceklerini de(biçimlendirme ayarı) her zamanki gibi iki noktanın ":" önüne yazıyoruz.

Bu örnekteki %A %B %d %Y biçimlendiricileri datetime modülü için önceden beri kullanılan biçimlendirme ayarlarıdır, f-string özelliği ile gelmemiştir.

Neden f-string

%-biçimlendirmenin dezavantajı sadece sayılar ve dizileri desteklemesidir, diğer veri tipleri ya desteklenmiyor ya da biçimlendirmeden önce desteklenen tiplere çeviriliyor. Diğer bilinen sorunu ise sadece tek değer taşıyor olması, örnekte de görüceğiniz gibi demetlerin tüm değerleri diziye yerleştirilmiyor:

>>> msj = ("disk hatası", 32)
>>> "hata: %s" % msj
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: not all arguments converted during string formatting

Fakat f-string ile:

>>> f"hata: {msj}"
"hata: ('disk hatası', 32)"

format() metodunun dezavantajı ise aşırı detaya neden olmasıdır, özellikle de parametreler çok olunca:

>>> ad = "YazBel"
>>> yıl= 2018
>>> ay = "Şubat"
>>> gün= 12
>>> "Bu sitenin adı {ad}, bu yazı {yıl} yılının, {ay} ayının {gün}'sinde yazıldı".format(ad=ad, ay=ay, yıl=yıl, gün=gün)
"Bu sitenin adı YazBel, bu yazı 2018 yılının, Şubat ayının 12'sinde yazıldı"

Fakat f-string ile:

>>> f"Bu sitenin adı {ad}, bu yazı {yıl} yılının, {ay} ayının {gün}'sinde yazıldı".
"Bu sitenin adı YazBel, bu yazı 2018 yılının, Şubat ayının 12'sinde yazıldı"

Bunların ötesinde f-string içerisindeki python ifadeleri diğerlerinin aksine sabit değer değilde çalışırken(run-time) ele alınan python kodlarıdır, yani parantezler içerisine her türlü python kodu yazabilirsiniz.

Örnekler

>>> genişlik = 10
>>> hassasiyet = 4
>>> value = decimal.Decimal("12.34567")
>>> f"result: {value:{genişlik}.{hassasiyet}}"
'result:      12.35'
>>> tarih = datetime(year=2017, month=1, day=27)
>>> f"{tarih:%B %d, %Y}"
'January 27, 2017'
>>> number = 1024
>>> f"{number:#0x}"  # Hexadecimal değere çevirme
'0x400'

Beautiful Soup Belgeleri

Beautiful Soup Python’ın gözde HTML ve XML çözümleme kütüphanesidir. Belgeler için tıklayın.