From: bilal alpaslan <47563997+BilalAlpaslan@users.noreply.github.com>
Date: Tue, 26 Oct 2021 18:13:34 +0000 (+0300)
Subject: 🌐 Add Turkish translation for `docs/python-types.md` (#3926)
X-Git-Tag: 0.70.1~32
X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0bd8f901df4ca2259b9114f6c4cb986ae012c71d;p=thirdparty%2Ffastapi%2Ffastapi.git
🌐 Add Turkish translation for `docs/python-types.md` (#3926)
---
diff --git a/docs/tr/docs/python-types.md b/docs/tr/docs/python-types.md
new file mode 100644
index 0000000000..7e46bd0314
--- /dev/null
+++ b/docs/tr/docs/python-types.md
@@ -0,0 +1,314 @@
+# Python Veri Tiplerine GiriÅ
+
+Python isteÄe baÄlı olarak "tip belirteçlerini" destekler.
+
+ **"Tip belirteçleri"** bir deÄiÅkenin tipinin belirtilmesine olanak saÄlayan özel bir sözdizimidir.
+
+DeÄiÅkenlerin tiplerini belirterek editör ve araçlardan daha fazla destek alabilirsiniz.
+
+Bu pythonda tip belirteçleri için **hızlı bir baÅlangıç / bilgi tazeleme** rehberidir . Bu rehber **FastAPI** kullanmak için gereken minimum konuyu kapsar ki bu da çok az bir miktardır.
+
+**FastAPI' nin** tamamı bu tür tip belirteçleri ile donatılmıÅtır ve birçok avantaj saÄlamaktadır.
+
+**FastAPI** kullanmayacak olsanız bile tür belirteçleri hakkında bilgi edinmenizde fayda var.
+
+!!! not
+ Python uzmanıysanız ve tip belirteçleri ilgili her Åeyi zaten biliyorsanız, sonraki bölüme geçin.
+
+## Motivasyon
+
+Basit bir örnek ile baÅlayalım:
+
+```Python
+{!../../../docs_src/python_types/tutorial001.py!}
+```
+
+Programın çıktısı:
+
+```
+John Doe
+```
+
+Fonksiyon sırayla Åunları yapar:
+
+* `first_name` ve `last_name` deÄerlerini alır.
+* `title()` ile deÄiÅkenlerin ilk karakterlerini büyütür.
+* DeÄiÅkenleri aralarında bir boÅlukla beraber BirleÅtirir.
+
+```Python hl_lines="2"
+{!../../../docs_src/python_types/tutorial001.py!}
+```
+
+### Düzenle
+
+Bu çok basit bir program.
+
+Ama Åimdi sıfırdan yazdıÄınızı hayal edin.
+
+Bir noktada fonksiyonun tanımına baÅlayacaktınız, parametreleri hazır hale getirdiniz...
+
+Ama sonra "ilk harfi büyük harfe dönüÅtüren yöntemi" çaÄırmanız gerekir.
+
+ `upper` mıydı ? Yoksa `uppercase`' mi? `first_uppercase`? `capitalize`?
+
+Ardından, programcıların en iyi arkadaÅı olan otomatik tamamlama ile denediniz.
+
+'first_name', ardından bir nokta ('.') yazıp otomatik tamamlamayı tetiklemek için 'Ctrl+Space' tuÅlarına bastınız.
+
+Ancak, ne yazık ki, yararlı hiçbir Åey elde edemediniz:
+
+
+
+### Tipleri ekle
+
+Ãnceki sürümden sadece bir satırı deÄiÅtirelim.
+
+Tam olarak bu parçayı, iÅlevin parametrelerini deÄiÅtireceÄiz:
+
+```Python
+ first_name, last_name
+```
+
+ve bu hale getireceÄiz:
+
+```Python
+ first_name: str, last_name: str
+```
+
+Bu kadar.
+
+İÅte bunlar "tip belirteçleri":
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial002.py!}
+```
+
+Bu, aÅaÄıdaki gibi varsayılan deÄerleri bildirmekle aynı Åey deÄildir:
+
+```Python
+ first_name="john", last_name="doe"
+```
+
+Bu tamamen farklı birÅey
+
+İki nokta üst üste (`:`) kullanıyoruz , eÅittir (`=`) deÄil.
+
+Normalde tip belirteçleri eklemek, kod üzerinde olacakları deÄiÅtirmez.
+
+Åimdi programı sıfırdan birdaha yazdıÄınızı hayal edin.
+
+Aynı noktada, `Ctrl+Space` ile otomatik tamamlamayı tetiklediniz ve Åunu görüyorsunuz:
+
+
+
+AradıÄınızı bulana kadar seçenekleri kaydırabilirsiniz:
+
+
+
+## Daha fazla motivasyon
+
+Bu fonksiyon, zaten tür belirteçlerine sahip:
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial003.py!}
+```
+
+Editör deÄiÅkenlerin tiplerini bildiÄinden, yalnızca otomatik tamamlama deÄil, hata kontrolleri de saÄlar:
+
+
+
+Artık `age` deÄiÅkenini `str(age)` olarak kullanmanız gerektiÄini biliyorsunuz:
+
+```Python hl_lines="2"
+{!../../../docs_src/python_types/tutorial004.py!}
+```
+
+## Tip bildirme
+
+Az önce tip belirteçlerinin en çok kullanıldıÄı yeri gördünüz.
+
+ **FastAPI**ile çalıÅırken tip belirteçlerini en çok kullanacaÄımız yer yine fonksiyonlardır.
+
+### Basit tipler
+
+Yalnızca `str` deÄil, tüm standart Python tiplerinin bildirebilirsiniz.
+
+ÃrneÄin Åunları kullanabilirsiniz:
+
+* `int`
+* `float`
+* `bool`
+* `bytes`
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial005.py!}
+```
+
+### Tip parametreleri ile Generic tipler
+
+"dict", "list", "set" ve "tuple" gibi diÄer deÄerleri içerebilen bazı veri yapıları vardır. Ve dahili deÄerlerinin de tip belirtecleri olabilir.
+
+Bu tipleri ve dahili tpileri bildirmek için standart Python modülünü "typing" kullanabilirsiniz.
+
+Bu tür tip belirteçlerini desteklemek için özel olarak mevcuttur.
+
+#### `List`
+
+ÃrneÄin `str` deÄerlerden oluÅan bir `list` tanımlayalım.
+
+From `typing`, import `List` (büyük harf olan `L` ile):
+
+```Python hl_lines="1"
+{!../../../docs_src/python_types/tutorial006.py!}
+```
+
+DeÄiÅkenin tipini yine iki nokta üstüste (`:`) ile belirleyin.
+
+tip olarak `List` kullanın.
+
+Liste, bazı dahili tipleri içeren bir tür olduÄundan, bunları köÅeli parantez içine alırsınız:
+
+```Python hl_lines="4"
+{!../../../docs_src/python_types/tutorial006.py!}
+```
+
+!!! ipucu
+ KöÅeli parantez içindeki bu dahili tiplere "tip parametreleri" denir.
+
+ Bu durumda `str`, `List`e iletilen tür parametresidir.
+
+Bunun anlamı Åudur: "`items` deÄiÅkeni bir `list`tir ve bu listedeki öÄelerin her biri bir `str`dir".
+
+Bunu yaparak, düzenleyicinizin listedeki öÄeleri iÅlerken bile destek saÄlamasını saÄlayabilirsiniz:
+
+
+
+Tip belirteçleri olmadan, bunu baÅarmak neredeyse imkansızdır.
+
+`item` deÄiÅkeninin `items` listesindeki öÄelerden biri olduÄuna dikkat edin.
+
+Ve yine, editör bunun bir `str` ââolduÄunu biliyor ve bunun için destek saÄlıyor.
+
+#### `Tuple` ve `Set`
+
+`Tuple` ve `set`lerin tiplerini bildirmek için de aynısını yapıyoruz:
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial007.py!}
+```
+
+Bu Åu anlama geliyor:
+
+* `items_t` deÄiÅkeni sırasıyla `int`, `int`, ve `str` tiplerinden oluÅan bir `tuple` türündedir .
+* `items_s` ise her öÄesi `bytes` türünde olan bir `set` örneÄidir.
+
+#### `Dict`
+
+Bir `dict` tanımlamak için virgülle ayrılmıŠiki parametre verebilirsiniz.
+
+İlk tip parametresi `dict` deÄerinin `key` deÄeri içindir.
+
+İkinci parametre ise `dict` deÄerinin `value` deÄeri içindir:
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial008.py!}
+```
+
+Bu Åu anlama gelir:
+
+* `prices` deÄiÅkeni `dict` tipindedir:
+ * `dict` deÄiÅkeninin `key` deÄeri `str` tipindedir (herbir item'ın "name" deÄeri).
+ * `dict` deÄiÅkeninin `value` deÄeri `float` tipindedir (lherbir item'ın "price" deÄeri).
+
+#### `Optional`
+
+`Optional` bir deÄiÅkenin `str`gibi bir tipi olabileceÄini ama isteÄe baÄlı olarak tipinin `None` olabileceÄini belirtir:
+
+```Python hl_lines="1 4"
+{!../../../docs_src/python_types/tutorial009.py!}
+```
+
+`str` yerine `Optional[str]` kullanmak editorün bu deÄerin her zaman `str` tipinde deÄil bazen `None` tipinde de olabileceÄini belirtir ve hataları tespit etmemizde yardımcı olur.
+
+#### Generic tipler
+
+KöÅeli parantez içinde tip parametreleri alan bu türler, örneÄin:
+
+* `List`
+* `Tuple`
+* `Set`
+* `Dict`
+* `Optional`
+* ...and others.
+
+**Generic types** yada **Generics** olarak adlandırılır.
+
+### Tip olarak Sınıflar
+
+Bir deÄiÅkenin tipini bir sınıf ile bildirebilirsiniz.
+
+Diyelim ki `name` deÄerine sahip `Person` sınıfınız var:
+
+```Python hl_lines="1-3"
+{!../../../docs_src/python_types/tutorial010.py!}
+```
+
+Sonra bir deÄiÅkeni 'Person' tipinde tanımlayabilirsiniz:
+
+```Python hl_lines="6"
+{!../../../docs_src/python_types/tutorial010.py!}
+```
+
+Ve yine bütün editör desteÄini alırsınız:
+
+
+
+## Pydantic modelleri
+
+Pydantic veri doÄrulaması yapmak için bir Python kütüphanesidir.
+
+Verilerin "biçimini" niteliklere sahip sınıflar olarak düzenlersiniz.
+
+Ve her niteliÄin bir türü vardır.
+
+Sınıfın bazı deÄerlerle bir örneÄini oluÅturursunuz ve deÄerleri doÄrular, bunları uygun türe dönüÅtürür ve size tüm verileri içeren bir nesne verir.
+
+Ve ortaya çıkan nesne üzerindeki bütün editör desteÄini alırsınız.
+
+Resmi Pydantic dokümanlarından alınmıÅtır:
+
+```Python
+{!../../../docs_src/python_types/tutorial011.py!}
+```
+
+!!! info
+ Daha fazla Åey öÄrenmek için Pydantic'i takip edin.
+
+**FastAPI** tamamen Pydantic'e dayanmaktadır.
+
+Daha fazlasini görmek için [Tutorial - User Guide](tutorial/index.md){.internal-link target=_blank}.
+
+## **FastAPI** tip belirteçleri
+
+**FastAPI** birkaç Åey yapmak için bu tür tip belirteçlerinden faydalanır.
+
+**FastAPI** ile parametre tiplerini bildirirsiniz ve Åunları elde edersiniz:
+
+* **Editor desteÄi**.
+* **Tip kontrolü**.
+
+...ve **FastAPI** aynı belirteçleri Åunlar için de kullanıyor:
+
+* **Gereksinimleri tanımlama**: request path parameters, query parameters, headers, bodies, dependencies, ve benzeri gereksinimlerden
+* **Verileri çevirme**: Gönderilen veri tipinden istenilen veri tipine çevirme.
+* **Verileri doÄrulama**: Her gönderilen verinin:
+ * doÄrulanması ve geçersiz olduÄunda **otomatik hata** oluÅturma.
+* OpenAPI kullanarak apinizi **Belgeleyin** :
+ * bu daha sonra otomatik etkileÅimli dokümantasyon kullanıcı arayüzü tarafından kullanılır.
+
+Bütün bunlar kulaÄa soyut gelebilir. Merak etme. Tüm bunları çalıÅırken göreceksiniz. [Tutorial - User Guide](tutorial/index.md){.internal-link target=_blank}.
+
+Ãnemli olan, standart Python türlerini tek bir yerde kullanarak (daha fazla sınıf, dekoratör vb. eklemek yerine), **FastAPI**'nin bizim için iÅi yapmasını saÄlamak.
+
+!!! info
+ Tüm öÄreticiyi zaten okuduysanız ve türler hakkında daha fazla bilgi için geri döndüyseniz, iyi bir kaynak: the "cheat sheet" from `mypy`.
diff --git a/docs/tr/mkdocs.yml b/docs/tr/mkdocs.yml
index 6fe2b0b626..5ef8fd6a75 100644
--- a/docs/tr/mkdocs.yml
+++ b/docs/tr/mkdocs.yml
@@ -57,6 +57,7 @@ nav:
- zh: /zh/
- features.md
- fastapi-people.md
+- python-types.md
markdown_extensions:
- toc:
permalink: true