Menu
Playground'da Dene

Python Söz Dizimi: Girinti, Satırlar, İki Nokta ve Önemli Kurallar

Python'un önemsediği asgari söz dizimi kuralları — girinti, satır sonları, iki nokta üst üste ve büyük-küçük harf duyarlılığı — jargonsuz şekilde anlatılıyor.

Mümkün Olan En Küçük Kural Kitabı

Python okunabilir olmasıyla ün kazanmıştır ve bunun büyük kısmı dilin aslında ne kadar az söz dizimi kuralı olduğundan gelir. Önemli olanlar tek bir sayfaya sığar:

  • Satır başına bir ifade.
  • Girinti yapıyı belirler — süslü parantez yok, end anahtar kelimesi yok.
  • Büyük-küçük harf önemlidir. name ve Name farklıdır.
  • : bir blok açar; altındaki girintili satırlar bloğun gövdesidir.
  • # bir yorum başlatır.

Aslında hepsi bu. Geri kalanı değişkenler, fonksiyonlar ve standart kütüphane alışkanlıklarıdır; bunları yol aldıkça öğrenirsin. Bu beş kuralı, artık kural gibi hissetmeyi bırakıp dilin doğal şekli gibi hissetmeye başlayacak kadar bağlamla birlikte gezelim.

Satır Başına Bir İfade

Bir ifade eksiksiz bir komuttur — "şunu yazdır," "bunları topla," "onu ata." Python'da her ifade kendi satırına gider:

main.py
Output
Click Run to see the output here.

Üç ifade, üç satır. Sonunda noktalı virgüle ihtiyacın yok ve Python kodunun çoğu kullanmaz. (Noktalı virgülle bir satıra iki ifade koyabilirsin ama kötü stil sayılır. Yapma.)

Bir satır gerçekten uzun olmak zorundaysa, parantez, köşeli parantez veya süslü parantez içinde doğal bir noktada bölebilirsin — Python şikayet etmez:

main.py
Output
Click Run to see the output here.

Veya daha az yaygın olarak, satırı devam ettirmek için sonuna ters eğik çizgi koy. Yapabildiğinde parantez numarasını tercih et — çoğu kod tabanının kullandığı budur.

Girinti Yapısaldır

İşte yeni başlayanları tökezleten kısım. Python'da, bir satırın başındaki boşluk anlamlıdır. Python'a hangi satırların birlikte olduğunu söyler.

Basit bir if'e bak:

main.py
Output
Click Run to see the output here.

if hour < 12: sonrasındaki iki satır dört boşluk girintilidir. Python bu girintiyi "bu iki satır if'in gövdesidir" olarak okur. Son print sol kenara geri dönmüş, bu yüzden Python onu if'in dışında görür.

Girintiyi kaldırırsan if kırılır. Bir boşluk fazla girinti yaparsan if kırılır. Python burada katıdır çünkü girinti zaten yapıdır — bunu destekleyecek { veya end yok.

Bundan çıkan birkaç kural:

  1. Her girinti seviyesi için dört boşluk seç ve buna bağlı kal. Bu PEP 8 kuralı ve her editörün .py dosyaları için varsayılanıdır.
  2. Tab ile boşlukları karıştırma. Python 3 her ikisini de kullanan bir dosyayı reddeder. Modern editörler kaydettiğinde tab'ları otomatik olarak boşluğa dönüştürür; seninkinin öyle ayarlı olduğundan emin ol.
  3. Girinti hataları olacaktır. Olduğunda hata mesajı sana satır numarasını söyler. Git o satırın baştaki boşluğunun kardeşleriyle aynı olduğunu kontrol et.

İki Nokta Üst Üste Bir Blok Açar

İç içe bir blok oluşturan her yapı — if, else, for, while, def, class, with, try — başlık satırını iki nokta üst üste ile bitirir. Girintili olan sonraki satırlar blok gövdesini oluşturur:

main.py
Output
Click Run to see the output here.

Dikkat edilecek iki şey: başlığın sonundaki iki nokta ve gövde satırlarındaki dört boşluk girinti. İki noktayı unutursan Python sana SyntaxError: expected ':' gibi bir şey söyler. O hata nettir — eksik noktalamayı düzelt, tamamdır.

Büyük-Küçük Harf Duyarlılığı

Python Name, name ve NAME'i tamamen üç ayrı şey olarak ele alır. Bu şunlar için geçerlidir:

  • Kendi değişkenlerin ve fonksiyonların.
  • print, len, True, False, None gibi yerleşikler.
  • Modül ve özellik adları.

Bu seni genellikle yalnızca yanlışlıkla bir şeyi büyük harfle yazdığında ısırır. True boolean doğru değeridir; true ise NameError veren tanımsız bir değişkendir. Print(...) print fonksiyonu değildir — bir yazım hatasıdır.

Bir hata "name 'X' is not defined" diyorsa ve onu tanımladığına yemin ediyorsan, önce büyük-küçük harfi kontrol et. On seferden dokuzunda yanlıştır.

# ile Yorumlar

Bir satırda #'dan sonraki her şey bir yorumdur — Python onu tamamen görmezden gelir. Yorumlar gelecekteki okuyuculara (gelecekteki sen dahil) notlar içindir:

main.py
Output
Click Run to see the output here.

Python'un çok satırlı yorum söz dizimi yoktur. Birkaç satıra ihtiyacın varsa birden fazla # satırı kullan. (Bazen üç tırnaklı dizgilerin sözde yorum olarak kullanıldığını görürsün — bu docstring adı verilen ayrı bir şeydir ve fonksiyonlardan bahsettiğimizde ele alacağız.)

Rezerve Kelimeler

Birkaç kelime Python'un kendisi tarafından kullanıldığı için değişken adı olarak yasaktır: if, else, for, while, def, class, return, import, from, as, pass, break, continue, True, False, None, and, or, not, in, is, lambda, try, except, finally, raise, with, yield, global, nonlocal, async, await. Bu listeyi ezberlemene gerek yok. Birini kullanmaya çalışırsan Python hemen şikayet eder.

Herhangi Bir Python Dosyasını Okumak İçin Yeterince Biliyorsun

Az önce okuduğun her kural her Python dosyası için geçerlidir — iki satırlık bir script ve yüz bin satırlık bir proje aynı şekilde. Dilin geri kalanı bu beş fikrin üzerine kuruludur. Bir dosya kafa karıştırıcı görünüyorsa, çözüm neredeyse her zaman önce girintiye dikkat etmektir. Girinti, satırların ne söylediğini okumadan önce bile kodun ne yaptığını sana söyler.

Sırada: biraz daha derinlemesine yorumlar — artı fonksiyonlar ve modüller için Python'un dokümantasyonu nasıl ele aldığı olan docstring'ler.

Sıkça Sorulan Sorular

Python neden girintiyi önemser?

Python hangi satırların birlikte olduğunu anlamak için girintiyi kullanır. Diğer diller kod gruplarını süslü parantez { } içine alırken Python onun yerine tutarlı baştaki boşlukları kullanır. Görsel gürültü daha azdır ama bu da boşluklar konusunda dikkatsiz olamayacağın anlamına gelir.

Python'da kaç boşluk girinti yapmalıyım?

Her seviye için dört boşluk topluluk standardıdır (PEP 8). Çoğu editör bir Python dosyasında Tab'a bastığında dört boşluk ekler. Kesin sayıdan çok tutarlı olmak önemlidir — aynı blokta iki boşluk ve dört boşluk girintileri karıştırmak yaygın bir hatadır.

Python büyük-küçük harfe duyarlı mı?

Evet. Name, name ve NAME üç farklı değişkendir. print ve True gibi yerleşik adlar tam olarak gösterildiği gibi yazılmalıdır — True çalışır, true hata verir.

Coddy ile kodlamayı öğren

BAŞLA