# Python Biçimlendirici

URL: https://discuvr.org/python-formatter/?hl=tr
Last updated: 2026-11-07
MCP tool: `format_python`

Python kodunu yapıştırın, Black seçtiğiniz satır uzunluğuyla biçimlendirsin. Sözdizimi hatası tam satırı gösterir. Kod asla çalıştırılmaz, saklanmaz.

Bu araç, çoğu Python projesinin zaten üzerinde anlaştığı biçimlendirici olan Black'i, yapıştırdığınız şey üzerinde, seçtiğiniz satır uzunluğu ve tırnak işareti işleme ile çalıştırır. Dosya ayrıştırılamıyorsa hangi satırda olduğunu söyler, zaten biçimlendirilmişse bir şey yapmış gibi davranmak yerine bunu da söyler.

## Ne işe yarar

- 79, 88, 100 veya 120 sütunda Black biçimlendirmesi.
- "Sadece kontrol et" modu: bir dosyanın değiştirip değiştirmeyeceğini, onu değiştirmeden öğrenin.
- Kendi tırnak işareti stilinizi koruyun veya Black'in onu normalleştirmesine izin verin.
- Bir koleksiyonu açık tutan sihirli sondaki virgüle uyun veya onu yok sayın.
- Sözdizimi sürüme bağlı olduğunda belirli bir Python sürümünü hedefleyin.
- Sözdizimi hataları satırı, sütunu ve etrafındaki kodu bildirir.
- Kaç satırın eklendiğini ve kaldırıldığını, ayrıca dosyanın şeklini bildirir.

## Nasıl çalışır

1. Kodu, ya da bir dosyanın tamamını yapıştırın.
2. Bir satır uzunluğu ve önemsediğiniz seçenekleri seçin.
3. Biçimlendir'e basın, ardından sonucu kopyalayın veya indirin.

## Kodunuz asla çalıştırılmaz

Python'u biçimlendirmek onu çalıştırmayı gerektirmez. Kod bir sözdizimi ağacına ayrıştırılır ve tamamen bellekte, bu ağaçtan yeniden yazılır - asla bir dosyaya yazılmaz, asla içe aktarılmaz ve asla çalıştırılmaz. Yapıştırdığınızı çalıştıran bir biçimlendirici, metin kutusu olan bir uzak kabuk olurdu.

## Neden Black, kendi görüşümüz değil

Black, AST'yi koruyan bir dönüşümdür: çıkan kod, giren kodla aynı programdır. Bu özellik, bir biçimlendiriciye güvenilebilmesinin tüm nedenidir ve bu aracın hiçbir yerinde bir dil modelinin yer almamasının nedenidir. Kodu düzenlemesi istenen bir model, bunu yaparken ara sıra bir satırı yeniden yazar ve çalışan koddaki sessiz bir değişiklik, bir biçimlendiricinin göze alamayacağı tek hatadır.

## Sadece kontrol et

CI'nin sorduğu aynı soru: bu dosya değişir miydi? Kontrol modu orijinal kodunuzu değiştirmeden döndürür ve Black'in onu yeniden biçimlendirip biçimlendirmeyeceğini, kaç satır olacağını bildirir. Yerel olarak yeniden oluşturamadığınız bir dosyada bir ardışık düzenin neden başarısız olduğunu öğrenmenin hızlı yoludur.

## Sihirli son virgül ve fmt: off, çözümlü örnekler

Son öğeden sonraki virgül, Black'e bir çağrıyı veya koleksiyonu satır başına bir öğe olacak şekilde tutmasını söyler: result = compute(alpha, beta,) dört satır olarak döner, alpha, ve beta, ayrı satırlarda yer alır. Sihirli son virgülü yoksay seçeneğini işaretlerseniz aynı girdi, satır uzunluğuna sığdığında result = compute(alpha, beta) olur. Matris gibi elle hizalanmış bir bloğu korumak için üstündeki satıra # fmt: off, altına # fmt: on yazın; Black aradaki her şeyi yazdığınız gibi bırakır. Satır sonundaki # fmt: skip yalnızca o satırı korur. Bunlar Black'in kendi yorumlarıdır, bu yüzden projenizin CI'ı Black çalıştırdığında da geçerlidir.

## Sorular

**Kodum yükleniyor veya saklanıyor mu?**

Sunucuya gönderilir, bellekte biçimlendirilir ve aynı yanıtta geri döndürülür. Hiçbir şey diske yazılmaz, önbelleğe alınmaz veya günlüğe kaydedilmez ve kullanım kaydı sadece sayıları tutar - boyut, seçenekler, kaç satır değişti - asla kodu değil.

**Biçimlendirme kodumun ne yaptığını değiştirir mi?**

Hayır. Black davranışı değil düzeni değiştirir, ama boşluk kaydırmaktan fazlasını yapar. Gereksiz parantezleri kaldırır (x = (1), x = 1 olur), sayı öneklerini ve üslerini küçük harfe çevirir (0XABCDEF, 0xABCDEF olur; 1E5, 1e5 olur), bir çağrıyı birkaç satıra böldüğünde sona virgül ekler, art arda gelen boş satırları azaltır ve docstring içindeki boşlukları kırpar (""" Doc. """, """Doc.""" olur). Bu son değişiklik __doc__ metnini değiştirir; bu yalnızca kodunuz kendi docstring'lerini okuyorsa önemlidir.

**Dosyam neden hiç yeniden biçimlendirilmedi?**

Çünkü seçtiğiniz satır uzunluğunda zaten biçimlendirilmişti. Araç, sessizce bir kopya döndürmek yerine "zaten biçimlendirilmiş" der.

**İçe aktarmalarımı sıralar mı?**

Hayır. İçe aktarma sıralaması Black'in değil isort'un işidir ve ikisi burada yapılsa sizi şaşırtacak kadar sık anlaşmazlığa düşer.

**Sözdizimi hatası olan bir dosyayı biçimlendirebilir mi?**

Hiçbir biçimlendirici yapamaz - ayrıştırılamayan bir dosyanın yeniden yazılacak bir yapısı yoktur. Düzeltip tekrar deneyebilmeniz için satırı, sütunu ve çevresindeki kodu alırsınız.

**PEP 8'i takip ediyor mu?**

Black, bilinen bir sapma ile PEP 8 uyumludur: varsayılan satır uzunluğu 79 değil 88'dir. Daha sıkı rakama gerek duyuyorsanız satır uzunluğu seçicisinde 79'u seçin.

**Ne kadar büyük bir dosyayı biçimlendirebilirim?**

Çalıştırma başına 400.000 karaktere kadar. Biçimlendirme 10 saniye sonra durdurulur; buna yalnızca çok büyük veya çok tekrarlı dosyalar ulaşır. Her IP adresi 10 dakikada 30 biçimlendirme yapabilir.

**Editörümde, pre-commit'te veya CI'da aynı biçimlendirmeyi nasıl alırım?**

Bu sayfa Black kullanır ve sürümü geniş ekranlarda sayfa üst bilgisinde gösterilir. Black proje ayarlarını pyproject.toml dosyasındaki [tool.black] bölümünden, seçeneklerin uzun adlarıyla okur: seçtiğiniz "Satır uzunluğu" için line-length = 88, "Tırnak işaretlerimi koru" işaretliyse skip-string-normalization = true, "Sihirli son virgülü yoksay" için skip-magic-trailing-comma = true ve sabit bir "Hedef" değeri için target-version = ["py311"]. Editör eklentileri ve pre-commit kancası aynı dosyayı okur. Biçimlendirmek için black . ve CI'da black --check --diff . çalıştırın: hiçbir şeyi değiştirmez ve bir dosya yeniden biçimlendirilecekse 1 koduyla çıkar. Bu sayfayla aynı Black sürümünü sabitleyin, çünkü her takvim yılının ilk sürümü kararlı stili değiştirebilir.

**Sonuç Ruff biçimlendiricisiyle (ruff format) aynı mı?**

Neredeyse her zaman, ama bayt bayt değil. Ruff biçimlendiricisi Black'in doğrudan yerine geçecek şekilde tasarlanmıştır ve Ruff belgelerine göre Django ve Zulip gibi Black ile biçimlendirilmiş büyük projelerde satırların %99,9'undan fazlası aynı çıkar. Black'ten hiç geçmemiş kodda, özellikle satır sonu yorumlarında daha çok ayrışır ve belgeleri bilinçli farklarını listeler. Varsayılan satır uzunluğu da 88'dir ve [tool.ruff] altında line-length ile ayarlanır; [tool.ruff.format] altındaki quote-style = "preserve" "Tırnak işaretlerimi koru" seçeneğine, skip-magic-trailing-comma = true ise "Sihirli son virgülü yoksay" seçeneğine karşılık gelir. CI'nız ruff format --check çalıştırıyorsa dosyayı bu sayfayla değil Ruff ile test edin.

## Geliştirici Araçları içinde daha fazlası

- [HTML Görüntüleyici](https://discuvr.org/html-viewer/?hl=tr)
- [IP Alt Ağ Hesaplayıcı](https://discuvr.org/ip-subnet-calculator/?hl=tr)
- [Kodla / Çöz](https://discuvr.org/encode-decode/?hl=tr)
- [Unix Zaman Damgası Dönüştürücü](https://discuvr.org/timestamp-converter/?hl=tr)

## Sıklıkla birlikte kullanılanlar

- [Metin Karşılaştırma](https://discuvr.org/text-diff/?hl=tr)
- [Büyük/Küçük Harf Dönüştürücü ve Satır Araçları](https://discuvr.org/case-converter/?hl=tr)
- [Study Buddy](https://discuvr.org/study-buddy/?hl=tr)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
