Sözlük
******

">>>"
   Etkileşimli kabuğun varsayılan Python istemi. Genellikle
   yorumlayıcıda etkileşimli olarak yürütülebilen kod örnekleri için
   görülür.

"..."
   Şunlara başvurabilir:

   * Girintili bir kod bloğu için kod girerken, eşleşen bir çift sol
     ve sağ sınırlayıcı (parantez, köşeli parantez, kaşlı ayraç veya
     üçlü tırnak) içindeyken veya bir dekoratör belirttikten sonra
     etkileşimli kabuğun varsayılan Python istemi.

   * "Elipsis" yerleşik sabiti.

2to3
   Kaynağı ayrıştırarak ve ayrıştırma ağacında gezinerek tespit
   edilebilecek uyumsuzlukların çoğunu işleyerek Python 2.x kodunu
   Python 3.x koduna dönüştürmeye çalışan bir araç.

   2to3, standart kütüphanede "lib2to3'; bağımsız bir giriş noktası şu
   şekilde sağlanır:file:`Tools/scripts/2to3". Bakınız 2to3 ---
   Automated Python 2 to 3 code translation.

soyut temel sınıf
   Soyut temel sınıflar *duck-typing* 'i, "hasattr()" gibi diğer
   teknikler beceriksiz veya tamamen yanlış olduğunda arayüzleri
   tanımlamanın bir yolunu sağlayarak tamamlar (örneğin sihirli
   yöntemlerle).  ABC'ler, bir sınıftan miras almayan ancak yine de
   "isinstance()" ve "issubclass()" tarafından tanınan sınıflar olan
   sanal alt sınıfları tanıtır; "abc" modül belgelerine bakın.  Python
   comes with many built-in ABCs for data structures (in the
   "collections.abc" module), numbers (in the "numbers" module),
   streams (in the "io" module), import finders and loaders (in the
   "importlib.abc" module).  "abc" modülü ile kendi ABC'lerinizi
   oluşturabilirsiniz.

dipnot
   Bir değişkenle, bir sınıf niteliğiyle veya bir fonksiyon
   parametresiyle veya bir dönüş değeriyle ilişkilendirilen, gelenek
   olarak *type hint* biçiminde kullanılan bir etiket.

   Yerel değişkenlerin açıklamalarına çalışma zamanında erişilemez,
   ancak global değişkenlerin, sınıf niteliklerinin ve işlevlerin
   açıklamaları, sırasıyla modüllerin, sınıfların ve işlevlerin
   "__annotations__" özel özelliğinde saklanır.

   Bu işlevi açıklayan *variable annotation*, *function annotation*,
   **PEP 484** ve **PEP 526**'e bakın. Ek açıklamalarla çalışmaya
   ilişkin en iyi uygulamalar için ayrıca bkz. Annotations Best
   Practices.

argüman
   Fonksiyon çağrılırken bir *function* 'a (veya *method*) geçirilen
   bir değer. İki tür argüman vardır:

   * *keyword argument*: bir işlev çağrısında bir tanımlayıcının (ör.
     "ad=") önüne geçen veya bir sözlükte "**" ile başlayan bir değer
     olarak geçirilen bir argüman.  Örneğin, "3" ve "5", aşağıdaki
     "complex()": çağrılarında anahtar kelimenin argümanleridir:

        complex(real=3, imag=5)
        complex(**{'real': 3, 'imag': 5})

   * *positional argument*: anahtar kelime argümanı olmayan bir
     argüman. Konumsal argümanler, bir argüman listesinin başında
     görünebilir ve/veya "*" ile başlayan bir *iterable* öğesinin
     öğeleri olarak iletilebilir. Örneğin, "3" ve "5", aşağıdaki
     çağrılarda konumsal argümanlerdir:

        complex(3, 5)
        complex(*(3, 5))

   Argümanler, bir fonksiyon gövdesindeki adlandırılmış yerel
   değişkenlere atanır. Bu atamayı yöneten kurallar için Calls
   bölümüne bakın. Sözdizimsel olarak, bir argümanı temsil etmek için
   herhangi bir ifade kullanılabilir; değerlendirilen değer yerel
   değişkene atanır.

   Ayrıca *parameter* sözlüğü girişine, the difference between
   arguments and parameters hakkındaki SSS sorusuna ve **PEP 362** 'ye
   bakın.

asenkron bağlam yöneticisi
   An object which controls the environment seen in an "async with"
   statement by defining "__aenter__()" and "__aexit__()" methods.
   Introduced by **PEP 492**.

asenkron jeneratör
   *asynchronous generator iterator* döndüren bir işlev.  Bir "async
   for" döngüsünde kullanılabilen bir dizi değer üretmek için "yield"
   ifadeleri içermesi dışında "async def" ile tanımlanmış bir eşyordam
   işlevine benziyor.

   Genellikle bir asenkron üreteç işlevine atıfta bulunur, ancak bazı
   bağlamlarda bir *asynchronous generator iterator* 'e karşılık
   gelebilir.  Amaçlanan anlamın net olmadığı durumlarda, tam
   terimlerin kullanılması belirsizliği önler.

   Bir asenkron üretici fonksiyonu, "await" ifadelerinin yanı sıra
   "async for" ve "async with" ifadeleri içerebilir.

asenkron jeneratör yineleyici
   Bir *asynchronous generator* işlevi tarafından oluşturulan bir
   nesne.

   This is an *asynchronous iterator* which when called using the
   "__anext__()" method returns an awaitable object which will execute
   the body of the asynchronous generator function until the next
   "yield" expression.

   Each "yield" temporarily suspends processing, remembering the
   location execution state (including local variables and pending
   try-statements).  When the *asynchronous generator iterator*
   effectively resumes with another awaitable returned by
   "__anext__()", it picks up where it left off.  See **PEP 492** and
   **PEP 525**.

eşzamansız yinelenebilir
   An object, that can be used in an "async for" statement. Must
   return an *asynchronous iterator* from its "__aiter__()" method.
   Introduced by **PEP 492**.

asenkron yineleyici
   An object that implements the "__aiter__()" and "__anext__()"
   methods.  "__anext__()" must return an *awaitable* object. "async
   for" resolves the awaitables returned by an asynchronous iterator's
   "__anext__()" method until it raises a "StopAsyncIteration"
   exception.  Introduced by **PEP 492**.

nitelik
   Noktalı ifadeler kullanılarak adıyla başvurulan bir nesneyle
   ilişkili değer.  Örneğin, *o* nesnesinin *a* özniteliği varsa, bu
   nesneye *o.a* olarak başvurulur.

   Bir nesneye, eğer nesne izin veriyorsa, örneğin "setattr()"
   kullanarak, adı Identifiers and keywords tarafından tanımlandığı
   gibi tanımlayıcı olmayan bir öznitelik vermek mümkündür. Böyle bir
   özniteliğe noktalı bir ifade kullanılarak erişilemez ve bunun
   yerine "getattr()" ile alınması gerekir.

beklenebilir
   An object that can be used in an "await" expression.  Can be a
   *coroutine* or an object with an "__await__()" method. See also
   **PEP 492**.

BDFL
   Benevolent Dictator For Life, namı diğer Guido van Rossum,
   Python'un yaratıcısı.

ikili dosya
   A *file object* able to read and write *bytes-like objects*.
   Examples of binary files are files opened in binary mode ("'rb'",
   "'wb'" or "'rb+'"), "sys.stdin.buffer", "sys.stdout.buffer", and
   instances of "io.BytesIO" and "gzip.GzipFile".

   Ayrıca "str" nesnelerini okuyabilen ve yazabilen bir dosya nesnesi
   için *text file* 'a bakın.

ödünç alınan referans
   In Python's C API, a borrowed reference is a reference to an
   object, where the code using the object does not own the reference.
   It becomes a dangling pointer if the object is destroyed. For
   example, a garbage collection can remove the last *strong
   reference* to the object and so destroy it.

   *borrowed reference* üzerinde "Py_INCREF()" çağırmak, nesnenin
   ödünç alınanın son kullanımından önce yok edilemediği durumlar
   dışında, onu yerinde bir *strong reference* 'a dönüştürmek için
   tavsiye edilir. referans. "Py_NewRef()" işlevi, yeni bir *strong
   reference* oluşturmak için kullanılabilir.

bayt benzeri nesne
   Buffer Protocol 'i destekleyen ve bir C-*contiguous* arabelleğini
   dışa aktarabilen bir nesne. Bu, tüm "bytes", "bytearray" ve
   "array.array" nesnelerinin yanı sıra birçok yaygın "memoryview"
   nesnesini içerir.  Bayt benzeri nesneler, ikili verilerle çalışan
   çeşitli işlemler için kullanılabilir; bunlara sıkıştırma, ikili
   dosyaya kaydetme ve bir soket üzerinden gönderme dahildir.

   Bazı işlemler, değişken olması için ikili verilere ihtiyaç duyar.
   Belgeler genellikle bunlara "okuma-yazma bayt benzeri nesneler"
   olarak atıfta bulunur. Örnek değiştirilebilir arabellek nesneleri
   "bytearray" ve bir "bytearray" "memoryview" içerir. Diğer işlemler,
   ikili verilerin değişmez nesnelerde ("salt okunur bayt benzeri
   nesneler") depolanmasını gerektirir; bunların örnekleri arasında
   "bytes" ve bir "bytes" nesnesinin "memoryview" bulunur.

bayt kodu
   Python kaynak kodu, bir Python programının CPython
   yorumlayıcısındaki dahili temsili olan bayt kodunda derlenir.  Bayt
   kodu ayrıca ".pyc" dosyalarında önbelleğe alınır, böylece aynı
   dosyanın ikinci kez çalıştırılması daha hızlı olur (kaynaktan bayt
   koduna yeniden derleme önlenebilir).  Bu "ara dilin", her bir bayt
   koduna karşılık gelen makine kodunu yürüten bir *sanal makine*
   üzerinde çalıştığı söylenir. Bayt kodlarının farklı Python sanal
   makineleri arasında çalışması veya Python sürümleri arasında
   kararlı olması beklenmediğini unutmayın.

   Bayt kodu talimatlarının bir listesi Python Bytecode Instructions
   dokümanında bulunabilir.

çağırılabilir
   Bir çağrılabilir, muhtemelen bir dizi argümanla (bkz. *argument*)
   ve aşağıdaki sözdizimiyle çağrılabilen bir nesnedir:

      callable(argument1, argument2, argumentN)

   Bir *fonksiyon* ve uzantısı olarak bir *metot* bir çağrılabilirdir.
   "__call__()" yöntemini uygulayan bir sınıf örneği de bir
   çağrılabilirdir.

geri çağırmak
   Gelecekte bir noktada yürütülecek bir argüman olarak iletilen bir
   alt program işlevi.

sınıf
   Kullanıcı tanımlı nesneler oluşturmak için bir şablon. Sınıf
   tanımları normalde sınıfın örnekleri üzerinde çalışan yöntem
   tanımlarını içerir.

sınıf değişkeni
   Bir sınıfta tanımlanmış ve yalnızca sınıf düzeyinde (yani sınıfın
   bir örneğinde değil) değiştirilmesi amaçlanan bir değişken.

karmaşık sayı
   Tüm sayıların bir reel kısım ve bir sanal kısım toplamı olarak
   ifade edildiği bilinen gerçek sayı sisteminin bir uzantısı.  Hayali
   sayılar, hayali birimin gerçek katlarıdır ("-1" 'in karekökü),
   genellikle matematikte "i" veya mühendislikte "j" ile yazılır.
   Python, bu son gösterimle yazılan karmaşık sayılar için yerleşik
   desteğe sahiptir; hayali kısım bir "j" son ekiyle yazılır, örneğin
   "3+1j".  "math" modülünün karmaşık eş değerlerine erişmek için
   "cmath" kullanın.  Karmaşık sayıların kullanımı oldukça gelişmiş
   bir matematiksel özelliktir. Onlara olan ihtiyacın farkında
   değilseniz, onları güvenle görmezden gelebileceğiniz neredeyse
   kesindir.

bağlam yöneticisi
   An object which controls the environment seen in a "with" statement
   by defining "__enter__()" and "__exit__()" methods. See **PEP
   343**.

bağlam değişkeni
   Bağlamına bağlı olarak farklı değerler alabilen bir değişken. Bu,
   her yürütme iş parçacığının bir değişken için farklı bir değere
   sahip olabileceği Thread-Local Storage'a benzer. Bununla birlikte,
   bağlam değişkenleriyle, bir yürütme iş parçacığında birkaç bağlam
   olabilir ve bağlam değişkenlerinin ana kullanımı, eşzamanlı zaman
   uyumsuz görevlerde değişkenleri izlemektir. Bakınız "contextvars".

bitişik
   Bir arabellek, *C-bitişik* veya *Fortran bitişik* ise tam olarak
   bitişik olarak kabul edilir.  Sıfır boyutlu arabellekler C ve
   Fortran bitişiktir.  Tek boyutlu dizilerde, öğeler sıfırdan
   başlayarak artan dizinler sırasına göre bellekte yan yana
   yerleştirilmelidir.  Çok boyutlu C-bitişik dizilerde, öğeleri
   bellek adresi sırasına göre ziyaret ederken son dizin en hızlı
   şekilde değişir.  Ancak, Fortran bitişik dizilerinde, ilk dizin en
   hızlı şekilde değişir.

eşyordam
   Eşyordamlar, altyordamların daha genelleştirilmiş bir biçimidir.
   Alt programlara bir noktada girilir ve başka bir noktada çıkılır.
   Eşyordamlar birçok farklı noktada girilebilir, çıkılabilir ve devam
   ettirilebilir.  "async def" ifadesi ile uygulanabilirler.  Ayrıca
   bakınız **PEP 492**.

eşyordam işlevi
   Bir *coroutine* nesnesi döndüren bir işlev.  Bir eşyordam işlevi
   "async def" ifadesiyle tanımlanabilir ve "await", "async for" ve
   "async with" anahtar kelimelerini içerebilir.  Bunlar **PEP 492**
   tarafından tanıtıldı.

CPython
   Python programlama dilinin python.org üzerinde dağıtıldığı şekliyle
   kurallı uygulaması.  "CPython" terimi, gerektiğinde bu uygulamayı
   Jython veya IronPython gibi diğerlerinden ayırmak için kullanılır.

dekoratör
   Genellikle "@wrapper" sözdizimi kullanılarak bir işlev dönüşümü
   olarak uygulanan, başka bir işlevi döndüren bir işlev.
   Dekoratörler için yaygın örnekler şunlardır: "classmethod()" ve
   "staticmethod()".

   Dekoratör sözdizimi yalnızca sözdizimsel şekerdir, aşağıdaki iki
   işlev tanımı anlamsal olarak eş değerdir:

      def f(arg):
          ...
      f = staticmethod(f)

      @staticmethod
      def f(arg):
          ...

   Aynı kavram sınıflar için de mevcuttur, ancak orada daha az
   kullanılır.  Dekoratörler hakkında daha fazla bilgi için function
   definitions ve class definitions belgelerine bakın.

tanımlayıcı
   Any object which defines the methods "__get__()", "__set__()", or
   "__delete__()". When a class attribute is a descriptor, its special
   binding behavior is triggered upon attribute lookup.  Normally,
   using *a.b* to get, set or delete an attribute looks up the object
   named *b* in the class dictionary for *a*, but if *b* is a
   descriptor, the respective descriptor method gets called.
   Understanding descriptors is a key to a deep understanding of
   Python because they are the basis for many features including
   functions, methods, properties, class methods, static methods, and
   reference to super classes.

   Tanımlayıcıların yöntemleri hakkında daha fazla bilgi için, bkz.
   Implementing Descriptors veya Descriptor How To Guide.

sözlük
   An associative array, where arbitrary keys are mapped to values.
   The keys can be any object with "__hash__()" and "__eq__()"
   methods. Called a hash in Perl.

sözlük anlama
   Öğelerin tümünü veya bir kısmını yinelenebilir bir şekilde
   işlemenin ve sonuçları içeren bir sözlük döndürmenin kompakt bir
   yolu. "results = {n: n ** 2 for range(10)}", "n ** 2" değerine
   eşlenmiş "n" anahtarını içeren bir sözlük oluşturur. Bkz. Displays
   for lists, sets and dictionaries.

sözlük görünümü
   "dict.keys()", "dict.values()" ve "dict.items()" 'den döndürülen
   nesnelere sözlük görünümleri denir. Sözlüğün girişleri üzerinde
   dinamik bir görünüm sağlarlar; bu, sözlük değiştiğinde görünümün bu
   değişiklikleri yansıttığı anlamına gelir. Sözlük görünümünü tam
   liste olmaya zorlamak için "list(dictview)" kullanın.  Bakınız
   Dictionary view objects.

belge dizisi
   A string literal which appears as the first expression in a class,
   function or module.  While ignored when the suite is executed, it
   is recognized by the compiler and put into the "__doc__" attribute
   of the enclosing class, function or module.  Since it is available
   via introspection, it is the canonical place for documentation of
   the object.

ördek yazma
   Doğru arayüze sahip olup olmadığını belirlemek için bir nesnenin
   türüne bakmayan bir programlama stili; bunun yerine, yöntem veya
   nitelik basitçe çağrılır veya kullanılır ("Ördek gibi görünüyorsa
   ve ördek gibi vaklıyorsa, ördek olmalıdır.")  İyi tasarlanmış kod,
   belirli türlerden ziyade arayüzleri vurgulayarak, polimorfik
   ikameye izin vererek esnekliğini artırır.  Ördek yazma, "type()"
   veya "isinstance()" kullanan testleri önler.  (Ancak, ördek
   yazmanın *abstract base class* ile tamamlanabileceğini unutmayın.)
   Bunun yerine, genellikle "hasattr()" testleri veya *EAFP*
   programlamasını kullanır.

EAFP
   Af dilemek izin almaktan daha kolaydır.  Bu yaygın Python kodlama
   stili, geçerli anahtarların veya niteliklerin varlığını varsayar ve
   varsayımın yanlış çıkması durumunda istisnaları yakalar.  Bu temiz
   ve hızlı stil, birçok "try" ve "except" ifadesinin varlığı ile
   karakterize edilir.  Teknik, C gibi diğer birçok dilde ortak olan
   *LBYL* stiliyle çelişir.

ifade (değer döndürür)
   Bir değere göre değerlendirilebilecek bir sözdizimi parçası.  Başka
   bir deyişle, bir ifade, tümü bir değer döndüren sabit değerler,
   adlar, öznitelik erişimi, işleçler veya işlev çağrıları gibi ifade
   öğelerinin bir toplamıdır.  Diğer birçok dilin aksine, tüm dil
   yapıları ifade değildir. Ayrıca "while" gibi kullanılamayan
   *ifadeler* de vardır.  Atamalar da değer döndürmeyen ifadelerdir
   (statement).

uzatma modülü
   Çekirdekle ve kullanıcı koduyla etkileşim kurmak için Python'un C
   API'sini kullanan, C veya C++ ile yazılmış bir modül.

f-string
   Ön eki "'f'" veya "'F'" olan dize değişmezleri genellikle
   "f-strings" olarak adlandırılır; bu, formatted string literals 'ın
   kısaltmasıdır.  Ayrıca bkz. **PEP 498**.

dosya nesnesi
   An object exposing a file-oriented API (with methods such as
   "read()" or "write()") to an underlying resource.  Depending on the
   way it was created, a file object can mediate access to a real on-
   disk file or to another type of storage or communication device
   (for example standard input/output, in-memory buffers, sockets,
   pipes, etc.).  File objects are also called *file-like objects* or
   *streams*.

   Aslında üç dosya nesnesi kategorisi vardır: ham *binary files*,
   arabelleğe alınmış *binary files* ve *text files*. Arayüzleri "io"
   modülünde tanımlanmıştır.  Bir dosya nesnesi yaratmanın kurallı
   yolu "open()" işlevini kullanmaktır.

dosya benzeri nesne
   *dosya nesnesi* ile eşanlamlıdır.

dosya sistemi kodlaması ve hata işleyicisi
   Python tarafından işletim sistemindeki baytların kodunu çözmek ve
   Unicode'u işletim sistemine kodlamak için kullanılan kodlama ve
   hata işleyici.

   Dosya sistemi kodlaması, 128'in altındaki tüm baytların kodunu
   başarıyla çözmeyi garanti etmelidir. Dosya sistemi kodlaması bu
   garantiyi sağlayamazsa, API işlevleri "UnicodeError" değerini
   yükseltebilir.

   "sys.getfilesystemencoding()" ve "sys.getfilesystemencodeerrors()"
   işlevleri, dosya sistemi kodlamasını ve hata işleyicisini almak
   için kullanılabilir.

   *filesystem encoding and error handler* Python başlangıcında
   "PyConfig_Read()" işleviyle yapılandırılır: bkz.
   "filesystem_encoding" ve " filesystem_errors" üyeleri "PyConfig".

   Ayrıca bkz. *locale encoding*.

bulucu
   İçe aktarılmakta olan bir modül için *loader* 'ı bulmaya çalışan
   bir nesne.

   Python 3.3'ten beri, iki çeşit bulucu vardır: "sys.meta_path" ile
   kullanılmak üzere *meta yol bulucular*, ve "sys.path_hooks" ile
   kullanılmak üzere *yol girişi bulucular*.

   Daha fazla ayrıntı için **PEP 302**, **PEP 420** ve **PEP 451**
   bakın.

kat bölümü
   En yakın tam sayıya yuvarlayan matematiksel bölme.  Kat bölme
   operatörü "//" şeklindedir.  Örneğin, "11 // 4" ifadesi, gerçek
   yüzer bölme tarafından döndürülen "2.75" değerinin aksine "2"
   olarak değerlendirilir.  "(-11) // 4" 'ün "-3" olduğuna dikkat
   edin, çünkü bu "-2.75" yuvarlatılmış *aşağı*. Bakınız **PEP 238**.

fonksiyon
   Bir arayana bir değer döndüren bir dizi ifade. Ayrıca, gövdenin
   yürütülmesinde kullanılabilen sıfır veya daha fazla *argüman*
   iletilebilir. Ayrıca *parameter*, *method* ve Function definitions
   bölümüne bakın.

fonksiyon açıklaması
   Bir işlev parametresinin veya dönüş değerinin *ek açıklaması*.

   İşlev ek açıklamaları genellikle *type hints* için kullanılır:
   örneğin, bu fonksiyonun iki "int" argüman alması ve ayrıca bir
   "int" dönüş değerine sahip olması beklenir

      def sum_two_numbers(a: int, b: int) -> int:
         return a + b

   İşlev açıklama sözdizimi Function definitions bölümünde
   açıklanmaktadır.

   Bu işlevi açıklayan *variable annotation* ve **PEP 484** 'e bakın.
   Ek açıklamalarla çalışmaya ilişkin en iyi uygulamalar için ayrıca
   Annotations Best Practices konusuna bakın.

__future__
   Bir future ifadesi, "from __future__ import <feature>",
   derleyiciyi, Python'un gelecekteki bir sürümünde standart hale
   gelecek olan sözdizimini veya semantiği kullanarak mevcut modülü
   derlemeye yönlendirir. "__future__" modülü, *feature*'ın olası
   değerlerini belgeler.  Bu modülü içe aktararak ve değişkenlerini
   değerlendirerek, dile ilk kez yeni bir özelliğin ne zaman
   eklendiğini ve ne zaman varsayılan olacağını (ya da yaptığını)
   görebilirsiniz:

      >>> import __future__
      >>> __future__.division
      _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)

çöp toplama
   Artık kullanılmadığında belleği boşaltma işlemi.  Python, referans
   sayımı ve referans döngülerini algılayıp kırabilen bir döngüsel çöp
   toplayıcı aracılığıyla çöp toplama gerçekleştirir.  Çöp toplayıcı
   "gc" modülü kullanılarak kontrol edilebilir.

jeneratör
   Bir *generator iterator* döndüren bir işlev.  Bir for döngüsünde
   kullanılabilen bir dizi değer üretmek için "yield" ifadeleri
   içermesi veya "next()" işleviyle birer birer alınabilmesi dışında
   normal bir işleve benziyor.

   Genellikle bir üretici işlevine atıfta bulunur, ancak bazı
   bağlamlarda bir *jeneratör yineleyicisine* atıfta bulunabilir.
   Amaçlanan anlamın net olmadığı durumlarda, tam terimlerin
   kullanılması belirsizliği önler.

jeneratör yineleyici
   Bir *generator* işlevi tarafından oluşturulan bir nesne.

   Her "yield", konum yürütme durumunu hatırlayarak (yerel değişkenler
   ve bekleyen try ifadeleri dahil) işlemeyi geçici olarak askıya
   alır.  *jeneratör yineleyici* devam ettiğinde, kaldığı yerden devam
   eder (her çağrıda yeniden başlayan işlevlerin aksine).

jeneratör ifadesi
   Yineleyici döndüren bir ifade.  Bir döngü değişkenini, aralığı ve
   isteğe bağlı bir "if" yan tümcesini tanımlayan bir "for" yan
   tümcesinin takip ettiği normal bir ifadeye benziyor.
   Birleştirilmiş ifade, bir çevreleyen için değerler üretir:

      >>> sum(i*i for i in range(10))         # sum of squares 0, 1, 4, ... 81
      285

genel işlev
   Farklı türler için aynı işlemi uygulayan birden çok işlevden oluşan
   bir işlev. Bir çağrı sırasında hangi uygulamanın kullanılması
   gerektiği, gönderme algoritması tarafından belirlenir.

   Ayrıca *single dispatch* sözlük girdisine,
   "functools.singledispatch()" dekoratörüne ve **PEP 443** 'e bakın.

genel tip
   Parametrelendirilebilen bir *type*; tipik olarak bir konteyner
   sınıfı, örneğin "list" veya "dict". *type hint* ve *annotation*
   için kullanılır.

   Daha fazla ayrıntı için generic allias types, **PEP 483**, **PEP
   484**, **PEP 585** ve "typing" modülüne bakın.

GIL
   Bakınız *global interpreter lock*.

genel tercüman kilidi
   *CPython* yorumlayıcısı tarafından aynı anda yalnızca bir iş
   parçacığının Python *bytecode* 'u yürütmesini sağlamak için
   kullanılan mekanizma. Bu, nesne modelini ("dict" gibi kritik
   yerleşik türler dahil) eşzamanlı erişime karşı örtük olarak güvenli
   hale getirerek CPython uygulamasını basitleştirir.  Tüm
   yorumlayıcıyı kilitlemek, çok işlemcili makinelerin sağladığı
   paralelliğin çoğu pahasına, yorumlayıcının çok iş parçacıklı
   olmasını kolaylaştırır.

   Bununla birlikte, standart veya üçüncü taraf bazı genişletme
   modülleri, sıkıştırma veya karma gibi hesaplama açısından yoğun
   görevler yaparken GIL'yi serbest bırakacak şekilde tasarlanmıştır.
   Ayrıca, GIL, G/Ç yaparken her zaman serbest bırakılır.

   "Serbest iş parçacıklı" bir yorumlayıcı (paylaşılan verileri çok
   daha ince bir ayrıntı düzeyinde kilitleyen) oluşturma çabaları,
   ortak tek işlemcili durumda performans düştüğü için başarılı
   olmamıştır. Bu performans sorununun üstesinden gelinmesinin
   uygulamayı çok daha karmaşık hale getireceğine ve dolayısıyla
   bakımını daha maliyetli hale getireceğine inanılmaktadır.

karma tabanlı pyc
   Geçerliliğini belirlemek için ilgili kaynak dosyanın son
   değiştirilme zamanı yerine karma değerini kullanan bir bayt kodu
   önbellek dosyası. Bakınız Cached bytecode invalidation.

yıkanabilir
   An object is *hashable* if it has a hash value which never changes
   during its lifetime (it needs a "__hash__()" method), and can be
   compared to other objects (it needs an "__eq__()" method). Hashable
   objects which compare equal must have the same hash value.

   Hashability, bir nesneyi bir sözlük anahtarı ve bir set üyesi
   olarak kullanılabilir hale getirir, çünkü bu veri yapıları hash
   değerini dahili olarak kullanır.

   Python'un değişmez yerleşik nesnelerinin çoğu, yıkanabilir;
   değiştirilebilir kaplar (listeler veya sözlükler gibi) değildir;
   değişmez kaplar (tüpler ve donmuş kümeler gibi) yalnızca öğelerinin
   yıkanabilir olması durumunda yıkanabilirdir.  Kullanıcı tanımlı
   sınıfların örnekleri olan nesneler varsayılan olarak hash
   edilebilirdir.  Hepsi eşit olmayanı karşılaştırır (kendileriyle
   hariç) ve hash değerleri "id()" 'lerinden türetilir.

BOŞTA
   Python için Entegre Geliştirme Ortamı. IDLE, Python'un standart
   dağıtımıyla birlikte gelen temel bir düzenleyici ve yorumlayıcı
   ortamıdır.

değişmez
   Sabit değeri olan bir nesne.  Değişmez nesneler arasında sayılar,
   dizeler ve demetler bulunur.  Böyle bir nesne değiştirilemez.
   Farklı bir değerin saklanması gerekiyorsa yeni bir nesne
   oluşturulmalıdır.  Örneğin bir sözlükte anahtar olarak, sabit bir
   karma değerinin gerekli olduğu yerlerde önemli bir rol oynarlar.

içe aktarım yolu
   İçe aktarılacak modüller için *path based finder* tarafından aranan
   konumların (veya *path entries*) listesi. İçe aktarma sırasında, bu
   konum listesi genellikle "sys.path" adresinden gelir, ancak alt
   paketler için üst paketin "__path__" özelliğinden de gelebilir.

içe aktarma
   Bir modüldeki Python kodunun başka bir modüldeki Python koduna
   sunulması süreci.

içe aktarıcı
   Bir modülü hem bulan hem de yükleyen bir nesne; hem bir *finder*
   hem de *loader* nesnesi.

etkileşimli
   Python'un etkileşimli bir yorumlayıcısı vardır; bu, yorumlayıcı
   isteminde ifadeler ve ifadeler girebileceğiniz, bunları hemen
   çalıştırabileceğiniz ve sonuçlarını görebileceğiniz anlamına gelir.
   Herhangi bir argüman olmadan "python" 'u başlatmanız yeterlidir
   (muhtemelen bilgisayarınızın ana menüsünden seçerek). Yeni
   fikirleri test etmenin veya modülleri ve paketleri incelemenin çok
   güçlü bir yoludur ("help(x)" 'i unutmayın).

yorumlanmış
   Python, derlenmiş bir dilin aksine yorumlanmış bir dildir, ancak
   bayt kodu derleyicisinin varlığı nedeniyle ayrım bulanık olabilir.
   Bu, kaynak dosyaların daha sonra çalıştırılacak bir yürütülebilir
   dosya oluşturmadan doğrudan çalıştırılabileceği anlamına gelir.
   Yorumlanan diller genellikle derlenmiş dillerden daha kısa bir
   geliştirme/hata ayıklama döngüsüne sahiptir, ancak programları
   genellikle daha yavaş çalışır.  Ayrıca bkz. *interactive*.

tercüman kapatma
   Kapatılması istendiğinde, Python yorumlayıcısı, modüller ve çeşitli
   kritik iç yapılar gibi tahsis edilen tüm kaynakları kademeli olarak
   serbest bıraktığı özel bir aşamaya girer.  Ayrıca *garbage
   collector* için birkaç çağrı yapar. Bu, kullanıcı tanımlı
   yıkıcılarda veya zayıf referans geri aramalarında kodun
   yürütülmesini tetikleyebilir. Kapatma aşamasında yürütülen kod,
   dayandığı kaynaklar artık çalışmayabileceğinden çeşitli
   istisnalarla karşılaşabilir (yaygın örnekler kütüphane modülleri
   veya uyarı makineleridir).

   Yorumlayıcının kapatılmasının ana nedeni, "__main__" modülünün veya
   çalıştırılan betiğin yürütmeyi bitirmiş olmasıdır.

yinelenebilir
   An object capable of returning its members one at a time. Examples
   of iterables include all sequence types (such as "list", "str", and
   "tuple") and some non-sequence types like "dict", *file objects*,
   and objects of any classes you define with an "__iter__()" method
   or with a "__getitem__()" method that implements *sequence*
   semantics.

   Iterables can be used in a "for" loop and in many other places
   where a sequence is needed ("zip()", "map()", ...).  When an
   iterable object is passed as an argument to the built-in function
   "iter()", it returns an iterator for the object.  This iterator is
   good for one pass over the set of values.  When using iterables, it
   is usually not necessary to call "iter()" or deal with iterator
   objects yourself.  The "for" statement does that automatically for
   you, creating a temporary unnamed variable to hold the iterator for
   the duration of the loop.  See also *iterator*, *sequence*, and
   *generator*.

yineleyici
   An object representing a stream of data.  Repeated calls to the
   iterator's "__next__()" method (or passing it to the built-in
   function "next()") return successive items in the stream.  When no
   more data are available a "StopIteration" exception is raised
   instead.  At this point, the iterator object is exhausted and any
   further calls to its "__next__()" method just raise "StopIteration"
   again.  Iterators are required to have an "__iter__()" method that
   returns the iterator object itself so every iterator is also
   iterable and may be used in most places where other iterables are
   accepted.  One notable exception is code which attempts multiple
   iteration passes.  A container object (such as a "list") produces a
   fresh new iterator each time you pass it to the "iter()" function
   or use it in a "for" loop.  Attempting this with an iterator will
   just return the same exhausted iterator object used in the previous
   iteration pass, making it appear like an empty container.

   Daha fazla bilgi Yineleyici Türleri içinde bulunabilir.

   **CPython uygulama ayrıntısı:** CPython does not consistently apply
   the requirement that an iterator define "__iter__()".

anahtar işlev
   Anahtar işlevi veya harmanlama işlevi, sıralama veya sıralama için
   kullanılan bir değeri döndüren bir çağrılabilir.  Örneğin,
   "locale.strxfrm()", yerel ayara özgü sıralama kurallarının farkında
   olan bir sıralama anahtarı üretmek için kullanılır.

   Python'daki bir dizi araç, öğelerin nasıl sıralandığını veya
   gruplandırıldığını kontrol etmek için temel işlevleri kabul eder.
   Bunlar "min()", "max()", "sorted()", "list.sort()",
   "heapq.merge()", "heapq.nsmallest()", "heapq.nlargest()" ve
   "itertools.groupby()".

   Bir tuş fonksiyonu oluşturmanın birkaç yolu vardır.  Örneğin.
   "str.lower()" yöntemi, büyük/küçük harfe duyarlı olmayan
   sıralamalar için bir anahtar fonksiyonu işlevi görebilir.
   Alternatif olarak, "lambda r: (r[0], r[2])" gibi bir "lambda"
   ifadesinden bir anahtar işlevi oluşturulabilir.  Ayrıca,
   "attrgetter()", "itemgetter()" ve "methodcaller()" fonksiyonları üç
   anahtar fonksiyon kurucularıdır.  Anahtar işlevlerin nasıl
   oluşturulacağı ve kullanılacağına ilişkin örnekler için Sorting HOW
   TO bölümüne bakın.

anahtar kelime argümanı
   Bakınız *argument*.

lambda
   İşlev çağrıldığında değerlendirilen tek bir *expression* 'dan
   oluşan anonim bir satır içi işlev.  Bir lambda işlevi oluşturmak
   için sözdizimi "lambda [parametreler]: ifade" şeklindedir

LBYL
   Zıplamadan önce Bak.  Bu kodlama stili, arama veya arama yapmadan
   önce ön koşulları açıkça test eder.  Bu stil, *EAFP* yaklaşımıyla
   çelişir ve birçok "if" ifadesinin varlığı ile karakterize edilir.

   Çok iş parçacıklı bir ortamda, LBYL yaklaşımı "bakan" ve "sıçrayan"
   arasında bir yarış koşulu getirme riskini taşıyabilir.  Örneğin,
   "if key in mapping: return mapping[key]" kodu, testten sonra, ancak
   aramadan önce başka bir iş parçacığı *eşlemeden* *key* kaldırırsa
   başarısız olabilir. Bu sorun, kilitlerle veya EAFP yaklaşımı
   kullanılarak çözülebilir.

liste
   A built-in Python *sequence*.  Despite its name it is more akin to
   an array in other languages than to a linked list since access to
   elements is *O*(1).

liste anlama
   Bir dizideki öğelerin tümünü veya bir kısmını işlemenin ve
   sonuçları içeren bir liste döndürmenin kompakt bir yolu.  "sonuç =
   ['{:#04x}'.format(x) for range(256) if x % 2 == 0]", dizinde çift
   onaltılık sayılar (0x..) içeren bir diziler listesi oluşturur. 0
   ile 255 arasındadır. "if" yan tümcesi isteğe bağlıdır.  Atlanırsa,
   "aralık(256)" içindeki tüm öğeler işlenir.

yükleyici
   Modül yükleyen bir nesne. "load_module()" adında bir yöntem
   tanımlamalıdır. Bir yükleyici genellikle bir *finder* ile
   döndürülür. Ayrıntılar için **PEP 302** ve bir *soyut temel sınıf*
   için "importlib.abc.Loader" bölümüne bakın.

yerel kodlama
   Unix'te, LC_CTYPE yerel ayarının kodlamasıdır.
   "locale.setlocale(locale.LC_CTYPE, new_locale)" ile ayarlanabilir.

   Windows'ta bu, ANSI kod sayfasıdır (ör. ""cp1252"").

   Android ve VxWorks'te Python, yerel kodlama olarak ""utf-8""
   kullanır.

   "locale.getencoding()" can be used to get the locale encoding.

   Ayrıca *filesystem encoding and error handler* 'ne bakın.

sihirli yöntem
   *special method* için gayri resmi bir eşanlamlı.

haritalama
   Keyfi anahtar aramalarını destekleyen ve "Mapping" veya
   "MutableMapping" Collections Abstract Base Classes içinde
   belirtilen yöntemleri uygulayan bir kapsayıcı nesnesi. Örnekler
   arasında "dict", "collections.defaultdict",
   "collections.OrderedDict" ve "collections.Counter" sayılabilir.

meta yol bulucu
   Bir *finder*, "sys.meta_path" aramasıyla döndürülür.  Meta yol
   bulucular, *yol girişi bulucuları* ile ilişkilidir, ancak onlardan
   farklıdır.

   Meta yol bulucuların uyguladığı yöntemler için
   "importlib.abc.MetaPathFinder" bölümüne bakın.

metasınıf
   Bir sınıfın sınıfı.  Sınıf tanımları, bir sınıf adı, bir sınıf
   sözlüğü ve temel sınıfların bir listesini oluşturur.  Metasınıf, bu
   üç argümanı almaktan ve sınıfı oluşturmaktan sorumludur. Çoğu nesne
   yönelimli programlama dili, varsayılan bir uygulama sağlar.
   Python'u özel yapan şey, özel metasınıflar oluşturmanın mümkün
   olmasıdır. Çoğu kullanıcı bu araca hiçbir zaman ihtiyaç duymaz,
   ancak ihtiyaç duyulduğunda, metasınıflar güçlü ve zarif çözümler
   sağlayabilir.  Nitelik erişimini günlüğe kaydetmek, iş parçacığı
   güvenliği eklemek, nesne oluşturmayı izlemek, tekilleri uygulamak
   ve diğer birçok görev için kullanılmışlardır.

   Daha fazla bilgi Metaclasses içinde bulunabilir.

metot
   Bir sınıf gövdesi içinde tanımlanan bir işlev. Bu sınıfın bir
   örneğinin özniteliği olarak çağrılırsa, yöntem örnek nesnesini ilk
   *argument* (genellikle "self" olarak adlandırılır) olarak alır.
   Bkz. *function* ve *nested scope*.

metot kalite sıralaması
   Metot Çözüm Sırası, arama sırasında bir üye için temel sınıfların
   arandığı sıradır. 2.3 sürümünden bu yana Python yorumlayıcısı
   tarafından kullanılan algoritmanın ayrıntıları için bkz. The Python
   2.3 Method Resolution Order.

modül
   Python kodunun kuruluş birimi olarak hizmet eden bir nesne.
   Modüller, rastgele Python nesneleri içeren bir ad alanına sahiptir.
   Modüller, *importing* işlemiyle Python'a yüklenir.

   Ayrıca bakınız *package*.

modül özelliği
   Bir modülü yüklemek için kullanılan içe aktarmayla ilgili bilgileri
   içeren bir ad alanı. Bir "importlib.machinery.ModuleSpec" örneği.

MRO
   Bakınız *metot çözüm sırası*.

değiştirilebilir
   Değiştirilebilir (mutable) nesneler değerlerini değiştirebilir
   ancak "idlerini" koruyabilirler. Ayrıca bkz. *immutable*.

adlandırılmış demet
   "named tuple" terimi, demetten miras alan ve dizinlenebilir
   öğelerine de adlandırılmış nitelikler kullanılarak erişilebilen
   herhangi bir tür veya sınıf için geçerlidir. Tür veya sınıfın başka
   özellikleri de olabilir.

   Çeşitli yerleşik türler, "time.localtime()" ve "os.stat()"
   tarafından döndürülen değerler de dahil olmak üzere, tanımlama
   grupları olarak adlandırılır. Başka bir örnek "sys.float_info":

      >>> sys.float_info[1]                   # indexed access
      1024
      >>> sys.float_info.max_exp              # named field access
      1024
      >>> isinstance(sys.float_info, tuple)   # kind of tuple
      True

   Some named tuples are built-in types (such as the above examples).
   Alternatively, a named tuple can be created from a regular class
   definition that inherits from "tuple" and that defines named
   fields.  Such a class can be written by hand, or it can be created
   by inheriting "typing.NamedTuple", or with the factory function
   "collections.namedtuple()".  The latter techniques also add some
   extra methods that may not be found in hand-written or built-in
   named tuples.

ad alanı
   Değişkenin saklandığı yer. Ad alanları sözlükler olarak uygulanır.
   Nesnelerde (yöntemlerde) yerel, genel ve yerleşik ad alanlarının
   yanı sıra iç içe ad alanları vardır. Ad alanları, adlandırma
   çakışmalarını önleyerek modülerliği destekler. Örneğin,
   "builtins.open" ve "os.open()" işlevleri ad alanlarıyla ayırt
   edilir. Ad alanları, hangi modülün bir işlevi uyguladığını açıkça
   belirterek okunabilirliğe ve sürdürülebilirliğe de yardımcı olur.
   Örneğin, "random.seed()" veya "itertools.islice()" yazmak, bu
   işlevlerin sırasıyla "random" ve "itertools" modülleri tarafından
   uygulandığını açıkça gösterir.

ad alanı paketi
   A **PEP 420** *package*, yalnızca alt paketler için bir kap olarak
   hizmet eder. Ad alanı paketlerinin hiçbir fiziksel temsili
   olmayabilir ve "__init__.py" dosyası olmadığından özellikle
   *regular package* gibi değildirler.

   Ayrıca bkz. *module*.

iç içe kapsam
   Kapsamlı bir tanımdaki bir değişkene atıfta bulunma yeteneği.
   Örneğin, başka bir fonksiyonun içinde tanımlanan bir fonksiyon, dış
   fonksiyondaki değişkenlere atıfta bulunabilir. İç içe kapsamların
   varsayılan olarak yalnızca başvuru için çalıştığını ve atama için
   çalışmadığını unutmayın. Yerel değişkenler en içteki kapsamda hem
   okur hem de yazar. Benzer şekilde, global değişkenler global ad
   alanını okur ve yazar. "nonlocal", dış kapsamlara yazmaya izin
   verir.

yeni stil sınıf
   Old name for the flavor of classes now used for all class objects.
   In earlier Python versions, only new-style classes could use
   Python's newer, versatile features like "__slots__", descriptors,
   properties, "__getattribute__()", class methods, and static
   methods.

obje
   Durum (öznitelikler veya değer) ve tanımlanmış davranış (yöntemler)
   içeren herhangi bir veri. Ayrıca herhangi bir *yeni tarz sınıfın*
   nihai temel sınıfı.

paket
   Alt modüller veya yinelemeli olarak alt paketler içerebilen bir
   Python *module*. Teknik olarak bir paket, "__path__" özniteliğine
   sahip bir Python modülüdür.

   Ayrıca bkz. *regular package* ve *namespace package*.

parametre
   Bir *function* (veya yöntem) tanımında, işlevin kabul edebileceği
   bir *argument* (veya bazı durumlarda, argümanlar) belirten
   adlandırılmış bir varlık.  Beş çeşit parametre vardır:

   * *positional-or-keyword*: *pozisyonel* veya bir *keyword argümanı*
     olarak iletilebilen bir argüman belirtir. Bu, varsayılan
     parametre türüdür, örneğin aşağıdakilerde *foo* ve *bar*:

        def func(foo, bar=None): ...

   * *positional-only*: yalnızca konuma göre sağlanabilen bir argüman
     belirtir. Yalnızca konumsal parametreler, onlardan sonra
     fonksiyon tanımının parametre listesine bir "/" karakteri
     eklenerek tanımlanabilir, örneğin aşağıdakilerde *posonly1* ve
     *posonly2*:

        def func(posonly1, posonly2, /, positional_or_keyword): ...

   * *keyword-only*: sadece anahtar kelime ile sağlanabilen bir
     argüman belirtir. Yalnızca anahtar kelime (keyword-only)
     parametreleri, onlardan önceki fonksiyon tanımının parametre
     listesine tek bir değişken konumlu parametre veya çıplak "*"
     dahil edilerek tanımlanabilir, örneğin aşağıdakilerde *kw_only1*
     ve *kw_only2*:

        def func(arg, *, kw_only1, kw_only2): ...

   * *var-positional*: keyfi bir pozisyonel argüman dizisinin
     sağlanabileceğini belirtir (diğer parametreler tarafından zaten
     kabul edilmiş herhangi bir konumsal argümana ek olarak). Böyle
     bir parametre, parametre adının başına "*" eklenerek
     tanımlanabilir, örneğin aşağıdakilerde *args*:

        def func(*args, **kwargs): ...

   * *var-keyword*: keyfi olarak birçok anahtar kelime argümanının
     sağlanabileceğini belirtir (diğer parametreler tarafından zaten
     kabul edilen herhangi bir anahtar kelime argümanına ek olarak).
     Böyle bir parametre, parametre adının başına "**", örneğin
     yukarıdaki örnekte *kwargs* eklenerek tanımlanabilir.

   Parametreler, hem isteğe bağlı hem de gerekli argümanleri ve ayrıca
   bazı isteğe bağlı bağımsız değişkenler için varsayılan değerleri
   belirtebilir.

   Ayrıca bkz. *argüman*, argümanlar ve parametreler arasındaki fark,
   "inspect.Parameter", Function definitions ve **PEP 362**.

yol girişi
   *path based finder* içe aktarma modüllerini bulmak için başvurduğu
   *import path* üzerindeki tek bir konum.

yol girişi bulucu
   Bir *finder* "sys.path_hooks" (yani bir *yol giriş kancası*)
   üzerinde bir çağrılabilir tarafından döndürülür ve *path entry*
   verilen modüllerin nasıl bulunacağını bilir.

   Yol girişi bulucularının uyguladığı yöntemler için
   "importlib.abc.PathEntryFinder" bölümüne bakın.

yol giriş kancası
   A callable on the "sys.path_hooks" list which returns a *path entry
   finder* if it knows how to find modules on a specific *path entry*.

yol tabanlı bulucu
   Modüller için bir *import path* arayan varsayılan *meta yol
   buluculardan* biri.

yol benzeri nesne
   Bir dosya sistemi yolunu temsil eden bir nesne. Yol benzeri bir
   nesne, bir yolu temsil eden bir "str" veya "bytes" nesnesi veya
   "os.PathLike" protokolünü uygulayan bir nesnedir. "os.PathLike"
   protokolünü destekleyen bir nesne, "os.fspath()" işlevi çağrılarak
   bir "str" veya "bytes" dosya sistemi yoluna dönüştürülebilir;
   "os.fsdecode()" ve "os.fsencode()", bunun yerine sırasıyla "str"
   veya "bytes" sonucunu garanti etmek için kullanılabilir. **PEP
   519** tarafından tanıtıldı.

PEP
   Python Geliştirme Önerisi. PEP, Python topluluğuna bilgi sağlayan
   veya Python veya süreçleri ya da ortamı için yeni bir özelliği
   açıklayan bir tasarım belgesidir. PEP'ler, önerilen özellikler için
   özlü bir teknik şartname ve bir gerekçe sağlamalıdır.

   PEP'lerin, önemli yeni özellikler önermek, bir sorun hakkında
   topluluk girdisi toplamak ve Python'a giren tasarım kararlarını
   belgelemek için birincil mekanizmalar olması amaçlanmıştır. PEP
   yazarı, topluluk içinde fikir birliği oluşturmaktan ve muhalif
   görüşleri belgelemekten sorumludur.

   Bakınız **PEP 1**.

kısım
   **PEP 420** içinde tanımlandığı gibi, bir ad alanı paketine katkıda
   bulunan tek bir dizindeki (muhtemelen bir zip dosyasında depolanan)
   bir dizi dosya.

konumsal argüman
   Bakınız *argument*.

geçici API
   Geçici bir API, standart kitaplığın geriye dönük uyumluluk
   garantilerinden kasıtlı olarak hariç tutulan bir API'dir. Bu tür
   arayüzlerde büyük değişiklikler beklenmese de, geçici olarak
   işaretlendikleri sürece, çekirdek geliştiriciler tarafından gerekli
   görüldüğü takdirde geriye dönük uyumsuz değişiklikler (arayüzün
   kaldırılmasına kadar ve buna kadar) meydana gelebilir. Bu tür
   değişiklikler karşılıksız yapılmayacaktır - bunlar yalnızca API'nin
   eklenmesinden önce gözden kaçan ciddi temel kusurlar ortaya çıkarsa
   gerçekleşecektir.

   Geçici API'ler için bile, geriye dönük uyumsuz değişiklikler "son
   çare çözümü" olarak görülür - tanımlanan herhangi bir soruna geriye
   dönük uyumlu bir çözüm bulmak için her türlü girişimde
   bulunulacaktır.

   Bu süreç, standart kitaplığın, uzun süreler boyunca sorunlu tasarım
   hatalarına kilitlenmeden zaman içinde gelişmeye devam etmesini
   sağlar. Daha fazla ayrıntı için bkz. **PEP 411**.

geçici paket
   Bakınız *provisional API*.

Python 3000
   Python 3.x sürüm satırının takma adı (uzun zaman önce sürüm 3'ün
   piyasaya sürülmesi uzak bir gelecekte olduğu zaman ortaya çıktı.)
   Bu aynı zamanda "Py3k" olarak da kısaltılır.

Pythonic
   Diğer dillerde ortak kavramları kullanarak kod uygulamak yerine
   Python dilinin en yaygın deyimlerini yakından takip eden bir fikir
   veya kod parçası. Örneğin, Python'da yaygın bir deyim, bir "for"
   ifadesi kullanarak yinelenebilir bir öğenin tüm öğeleri üzerinde
   döngü oluşturmaktır. Diğer birçok dilde bu tür bir yapı yoktur, bu
   nedenle Python'a aşina olmayan kişiler bazen bunun yerine sayısal
   bir sayaç kullanır:

      for i in range(len(food)):
          print(food[i])

   Temizleyicinin aksine, Pythonic yöntemi:

      for piece in food:
          print(piece)

nitelikli isim
   **PEP 3155** içinde tanımlandığı gibi, bir modülün genel
   kapsamından o modülde tanımlanan bir sınıfa, işleve veya yönteme
   giden "yolu" gösteren noktalı ad. Üst düzey işlevler ve sınıflar
   için nitelikli ad, nesnenin adıyla aynıdır:

      >>> class C:
      ...     class D:
      ...         def meth(self):
      ...             pass
      ...
      >>> C.__qualname__
      'C'
      >>> C.D.__qualname__
      'C.D'
      >>> C.D.meth.__qualname__
      'C.D.meth'

   Modüllere atıfta bulunmak için kullanıldığında, *tam nitelenmiş
   ad*, herhangi bir üst paket de dahil olmak üzere, modüle giden tüm
   noktalı yol anlamına gelir, örn. "email.mime.text":

      >>> import email.mime.text
      >>> email.mime.text.__name__
      'email.mime.text'

referans sayısı
   Bir nesneye yapılan başvuruların sayısı. Bir nesnenin referans
   sayısı sıfıra düştüğünde, yeniden konumlandırılır. Referans sayımı
   genellikle Python kodu tarafından görülmez, ancak *CPython*
   uygulamasının önemli bir öğesidir. Programcılar, belirli bir nesne
   için başvuru sayısını döndürmek için "sys.getrefcount()" işlevini
   çağırabilir.

sürekli paketleme
   "__init__.py" dosyası içeren bir dizin gibi geleneksel bir
   *package*.

   Ayrıca bkz. *ad alanı paketi*.

__slots__
   Örnek öznitelikleri için önceden yer bildirerek ve örnek
   sözlüklerini ortadan kaldırarak bellekten tasarruf sağlayan bir
   sınıf içindeki bildirim. Popüler olmasına rağmen, tekniğin doğru
   olması biraz zor ve en iyi, bellek açısından kritik bir uygulamada
   çok sayıda örneğin bulunduğu nadir durumlar için ayrılmıştır.

dizi
   An *iterable* which supports efficient element access using integer
   indices via the "__getitem__()" special method and defines a
   "__len__()" method that returns the length of the sequence. Some
   built-in sequence types are "list", "str", "tuple", and "bytes".
   Note that "dict" also supports "__getitem__()" and "__len__()", but
   is considered a mapping rather than a sequence because the lookups
   use arbitrary *immutable* keys rather than integers.

   The "collections.abc.Sequence" abstract base class defines a much
   richer interface that goes beyond just "__getitem__()" and
   "__len__()", adding "count()", "index()", "__contains__()", and
   "__reversed__()". Types that implement this expanded interface can
   be registered explicitly using "register()". For more documentation
   on sequence methods generally, see Common Sequence Operations.

anlamak
   Öğelerin tümünü veya bir kısmını yinelenebilir bir şekilde
   işlemenin ve sonuçlarla birlikte bir küme döndürmenin kompakt bir
   yolu. "results = {c for c in 'abracadabra' if c not in 'abc'}",
   "{'r', 'd'}" dizelerini oluşturur. Bakınız Displays for lists, sets
   and dictionaries.

tek sevk
   Uygulamanın tek bir argüman türüne göre seçildiği bir *generic
   function* gönderimi biçimi.

parçalamak
   Genellikle bir *sequence* 'nin bir bölümünü içeren bir nesne. Bir
   dilim, örneğin "variable_name[1:3:5]" 'de olduğu gibi, birkaç tane
   verildiğinde, sayılar arasında iki nokta üst üste koyarak, "[]" alt
   simge gösterimi kullanılarak oluşturulur. Köşeli ayraç (alt simge)
   gösterimi, dahili olarak "slice" nesnelerini kullanır.

özel metod
   Toplama gibi bir tür üzerinde belirli bir işlemi yürütmek için
   Python tarafından örtük olarak çağrılan bir yöntem. Bu tür
   yöntemlerin çift alt çizgi ile başlayan ve biten adları vardır.
   Özel yöntemler Special method names içinde belgelenmiştir.

ifade (değer döndürmez)
   Bir ifade, bir paketin parçasıdır (kod "bloğu"). Bir ifade, bir
   *expression* veya "if", "while" veya "for" gibi bir anahtar
   kelimeye sahip birkaç yapıdan biridir.

static type checker
   An external tool that reads Python code and analyzes it, looking
   for issues such as incorrect types. See also *type hints* and the
   "typing" module.

güçlü referans
   In Python's C API, a strong reference is a reference to an object
   which is owned by the code holding the reference.  The strong
   reference is taken by calling "Py_INCREF()" when the reference is
   created and released with "Py_DECREF()" when the reference is
   deleted.

   "Py_NewRef()" fonksiyonu, bir nesneye güçlü bir başvuru oluşturmak
   için kullanılabilir. Genellikle "Py_DECREF()" fonksiyonu, bir
   referansın sızmasını önlemek için güçlü referans kapsamından
   çıkmadan önce güçlü referansta çağrılmalıdır.

   Ayrıca bkz. *ödünç alınan referans*.

yazı çözümleme
   Python'da bir dize, bir Unicode kod noktaları dizisidir
   ("U+0000"--"U+10FFFF" aralığında). Bir dizeyi depolamak veya
   aktarmak için, bir bayt dizisi olarak seri hale getirilmesi
   gerekir.

   Bir dizeyi bir bayt dizisi halinde seri hale getirmek "kodlama
   (encoding)" olarak bilinir ve dizeyi bayt dizisinden yeniden
   oluşturmak "kod çözme (decoding)" olarak bilinir.

   Toplu olarak "metin kodlamaları" olarak adlandırılan çeşitli farklı
   metin serileştirme kodekleri vardır.

yazı dosyası
   A *file object* "str" nesnelerini okuyabilir ve yazabilir. Çoğu
   zaman, bir metin dosyası aslında bir bayt yönelimli veri akışına
   erişir ve otomatik olarak *text encoding* işler. Metin dosyalarına
   örnek olarak metin modunda açılan dosyalar ("'r'" veya "'w'"),
   "sys.stdin", "sys.stdout" ve "io.StringIO" örnekleri verilebilir.

   Ayrıca *ikili dosyaları* okuyabilen ve yazabilen bir dosya nesnesi
   için *bayt benzeri nesnelere* bakın.

üç tırnaklı dize
   Üç tırnak işareti (") veya kesme işareti (') ile sınırlanan bir
   dize. Tek tırnaklı dizelerde bulunmayan herhangi bir işlevsellik
   sağlamasalar da, birkaç nedenden dolayı faydalıdırlar. bir dizeye
   çıkışsız tek ve çift tırnak eklemeniz gerekir ve bunlar, devam
   karakterini kullanmadan birden çok satıra yayılabilir, bu da onları
   özellikle belge dizileri yazarken kullanışlı hale getirir.

tip
   Bir Python nesnesinin türü, onun ne tür bir nesne olduğunu
   belirler; her nesnenin bir türü vardır. Bir nesnenin tipine
   "__class__" niteliği ile erişilebilir veya "type(obj)" ile
   alınabilir.

tip takma adı
   Bir tanımlayıcıya tür atanarak oluşturulan, bir tür için eş
   anlamlı.

   Tür takma adları, *tür ipuçlarını* basitleştirmek için
   kullanışlıdır. Örneğin:

      def remove_gray_shades(
              colors: list[tuple[int, int, int]]) -> list[tuple[int, int, int]]:
          pass

   bu şekilde daha okunaklı hale getirilebilir:

      Color = tuple[int, int, int]

      def remove_gray_shades(colors: list[Color]) -> list[Color]:
          pass

   Bu işlevi açıklayan "typing" ve **PEP 484** bölümlerine bakın.

tür ipucu
   Bir değişken, bir sınıf niteliği veya bir işlev parametresi veya
   dönüş değeri için beklenen türü belirten bir *ek açıklama*.

   Type hints are optional and are not enforced by Python but they are
   useful to *static type checkers*. They can also aid IDEs with code
   completion and refactoring.

   Genel değişkenlerin, sınıf özniteliklerinin ve işlevlerin tür
   ipuçlarına, yerel değişkenlere değil, "typing.get_type_hints()"
   kullanılarak erişilebilir.

   Bu işlevi açıklayan "typing" ve **PEP 484** bölümlerine bakın.

evrensel yeni satırlar
   Aşağıdakilerin tümünün bir satırın bitişi olarak kabul edildiği
   metin akışlarını yorumlamanın bir yolu: Unix satır sonu kuralı
   "\n'", Windows kuralı "'\r\n'", ve eski Macintosh kuralı "'\r'". Ek
   bir kullanım için **PEP 278** ve **PEP 3116** ve ayrıca
   "bytes.splitlines()" bakın.

değişken açıklama
   Bir değişkenin veya bir sınıf özniteliğinin *ek açıklaması*.

   Bir değişkene veya sınıf niteliğine açıklama eklerken atama isteğe
   bağlıdır:

      class C:
          field: 'annotation'

   Değişken açıklamaları genellikle *tür ipuçları* için kullanılır:
   örneğin, bu değişkenin "int" değerlerini alması beklenir:

      count: int = 0

   Değişken açıklama sözdizimi Annotated assignment statements
   bölümünde açıklanmıştır.

   Bu işlevi açıklayan; *function annotation*, **PEP 484** ve **PEP
   526** bölümlerine bakın. Ek açıklamalarla çalışmaya ilişkin en iyi
   uygulamalar için ayrıca bkz. Annotations Best Practices.

sanal ortam
   Python kullanıcılarının ve uygulamalarının, aynı sistem üzerinde
   çalışan diğer Python uygulamalarının davranışına müdahale etmeden
   Python dağıtım paketlerini kurmasına ve yükseltmesine olanak
   tanıyan, işbirliği içinde yalıtılmış bir çalışma zamanı ortamı.

   Ayrıca bakınız "venv".

sanal makine
   Tamamen yazılımla tanımlanmış bir bilgisayar. Python'un sanal
   makinesi, bayt kodu derleyicisi tarafından yayınlanan *bytecode* 'u
   çalıştırır.

Python'un Zen'i
   Dili anlamaya ve kullanmaya yardımcı olan Python tasarım ilkeleri
   ve felsefelerinin listesi. Liste, etkileşimli komut isteminde
   ""import this"" yazarak bulunabilir.
