From e4a6fa7b7507c71bb27736f0d00e1aa55be325cf Mon Sep 17 00:00:00 2001 From: sefikaozturk Date: Tue, 14 Jun 2022 15:01:19 +0300 Subject: [PATCH 1/2] Update foatingpoint.po --- tutorial/floatingpoint.po | 163 +++++++++++++++++++++++++++++++++++--- 1 file changed, 152 insertions(+), 11 deletions(-) diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po index b31999d95..6b85a43c7 100644 --- a/tutorial/floatingpoint.po +++ b/tutorial/floatingpoint.po @@ -3,34 +3,37 @@ # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-12-17 23:20+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"PO-Revision-Date: 2022-06-14 14:55+0300\n" +"Last-Translator: \n" +"Language-Team: TURKISH \n" +"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1\n" #: tutorial/floatingpoint.rst:9 msgid "Floating Point Arithmetic: Issues and Limitations" -msgstr "" +msgstr "Kayan Nokta Aritmetiği: Sorunlar ve Sınırlamalar" #: tutorial/floatingpoint.rst:14 msgid "" "Floating-point numbers are represented in computer hardware as base 2 " "(binary) fractions. For example, the decimal fraction ::" msgstr "" +"Kayan noktalı sayılar bilgisayar donanımında taban 2 (ikili) kesirler olarak " +"temsil edilir. Örneğin, ondalık kesir ::" #: tutorial/floatingpoint.rst:19 msgid "" "has value 1/10 + 2/100 + 5/1000, and in the same way the binary fraction ::" -msgstr "" +msgstr "1/10 + 2/100 + 5/1000 değerine sahiptir ve aynı şekilde ikili kesir ::" #: tutorial/floatingpoint.rst:23 msgid "" @@ -38,6 +41,9 @@ msgid "" "only real difference being that the first is written in base 10 fractional " "notation, and the second in base 2." msgstr "" +"0/2 + 0/4 + 1/8 değerine sahiptir. Bu iki kesir aynı değerlere sahiptir, " +"tek gerçek fark ilkinin 10 tabanında, ikincisinin ise 2 tabanında kesirli " +"gösterimle yazılmış olmasıdır." #: tutorial/floatingpoint.rst:27 msgid "" @@ -46,16 +52,23 @@ msgid "" "point numbers you enter are only approximated by the binary floating-point " "numbers actually stored in the machine." msgstr "" +"Ne yazık ki, ondalık kesirlerin çoğu tam olarak ikili kesir olarak " +"gösterilemez. Bunun bir sonucu olarak, genel olarak, girdiğiniz ondalık " +"kayan noktalı sayılar, makinede gerçekte depolanan ikili kayan noktalı " +"sayılar tarafından yalnızca yaklaşık olarak gösterilir." #: tutorial/floatingpoint.rst:32 msgid "" "The problem is easier to understand at first in base 10. Consider the " "fraction 1/3. You can approximate that as a base 10 fraction::" msgstr "" +"Problem ilk başta 10 tabanında daha kolay anlaşılabilir. 1/3 kesrini " +"düşünün. Bunu 10 tabanında bir kesir olarak yaklaşık olarak " +"hesaplayabilirsiniz::" #: tutorial/floatingpoint.rst:41 msgid "or, better, ::" -msgstr "" +msgstr "ya da daha iyisi ::" #: tutorial/floatingpoint.rst:45 msgid "" @@ -63,6 +76,9 @@ msgid "" "result will never be exactly 1/3, but will be an increasingly better " "approximation of 1/3." msgstr "" +"ve bunun gibi. Kaç basamak yazmak isterseniz isteyin, sonuç hiçbir zaman " +"tam olarak 1/3 olmayacak, ancak 1/3'ün giderek daha iyi bir yaklaşımı " +"olacaktır." #: tutorial/floatingpoint.rst:49 msgid "" @@ -70,6 +86,9 @@ msgid "" "decimal value 0.1 cannot be represented exactly as a base 2 fraction. In " "base 2, 1/10 is the infinitely repeating fraction ::" msgstr "" +"Aynı şekilde, kaç tane 2 tabanı basamağı kullanmak isterseniz isteyin, 0.1 " +"ondalık değeri tam olarak 2 tabanı kesri olarak gösterilemez. Taban 2'de " +"1/10 sonsuza kadar tekrar eden bir kesirdir ::" #: tutorial/floatingpoint.rst:55 msgid "" @@ -80,6 +99,12 @@ msgid "" "fraction is ``3602879701896397 / 2 ** 55`` which is close to but not exactly " "equal to the true value of 1/10." msgstr "" +"Herhangi bir sonlu bit sayısında durduğunuzda bir yaklaşık değer elde " +"edersiniz. Bugün çoğu makinede, kayan sayılar, pay en anlamlı bitten " +"başlayarak ilk 53 bit kullanılarak ve payda ikinin kuvveti olarak ikili bir " +"kesir kullanılarak yaklaştırılır. 1/10 durumunda ikili kesir, 1/10'un " +"gerçek değerine yakın ancak tam olarak eşit olmayan ``3602879701896397 / 2 " +"** 55`` şeklindedir." #: tutorial/floatingpoint.rst:62 msgid "" @@ -89,18 +114,28 @@ msgid "" "if Python were to print the true decimal value of the binary approximation " "stored for 0.1, it would have to display ::" msgstr "" +"Birçok kullanıcı, değerlerin görüntülenme şekli nedeniyle bu yaklaşımın " +"farkında değildir. Python, makine tarafından depolanan ikili yaklaşımın " +"gerçek ondalık değerine yalnızca ondalık bir yaklaşım yazdırır. Çoğu " +"makinede, Python 0.1 için saklanan ikili yaklaşımın gerçek ondalık değerini " +"yazdıracak olsaydı, ::" #: tutorial/floatingpoint.rst:71 msgid "" "That is more digits than most people find useful, so Python keeps the number " "of digits manageable by displaying a rounded value instead ::" msgstr "" +"Bu çoğu insanın kullanışlı bulacağı seviyeden çok daha fazla basamak olurdu. " +"Dolayısıyla, Python sayıları yuvarlayarak basamak sayısını kontrol " +"edilebilir seviyede tutar ::" #: tutorial/floatingpoint.rst:77 msgid "" "Just remember, even though the printed result looks like the exact value of " "1/10, the actual stored value is the nearest representable binary fraction." msgstr "" +"Unutmayın, yazdırılan sonuç 1/10'un tam değeri gibi görünse de, saklanan " +"gerçek değer temsil edilebilir olan en yakın ikili kesirdir." #: tutorial/floatingpoint.rst:80 msgid "" @@ -112,6 +147,12 @@ msgid "" "values share the same approximation, any one of them could be displayed " "while still preserving the invariant ``eval(repr(x)) == x``." msgstr "" +"İlginç bir şekilde, aynı en yakın yaklaşık ikili kesri paylaşan birçok " +"farklı ondalık sayı vardır. Örneğin, ``0.1`` ve ``0.10000000000000001`` ve " +"``0.1000000000000000055511151231257827021181583404541015625`` sayılarının " +"tümü ``3602879701896397 / 2 ** 55`` ile yaklaştırılır. Bu ondalık " +"değerlerin tümü aynı yaklaşımı paylaştığından, ``eval(repr(x)) == x`` " +"değişmezi korunarak bunlardan herhangi biri görüntülenebilir." #: tutorial/floatingpoint.rst:88 msgid "" @@ -120,6 +161,10 @@ msgid "" "Starting with Python 3.1, Python (on most systems) is now able to choose the " "shortest of these and simply display ``0.1``." msgstr "" +"Geçmişte, Python komut istemi ve yerleşik :func:`repr` işlevi 17 anlamlı " +"basamağa sahip olanı, ``0.10000000000000001`` seçerdi. Python 3.1’den " +"itibaren, Python (çoğu sistemde) artık bunlardan en kısa olanı seçebilmekte " +"ve basitçe ``0.1``i görüntüleyebilmektedir." #: tutorial/floatingpoint.rst:93 msgid "" @@ -129,24 +174,34 @@ msgid "" "arithmetic (although some languages may not *display* the difference by " "default, or in all output modes)." msgstr "" +"Bunun ikili kayan noktanın doğasında olduğunu unutmayın: bu Python'daki bir " +"hata değildir ve kodunuzda daki bir hata da değildir. Donanımınızın kayan " +"noktalı aritmetiğini destekleyen tüm dillerde aynı şeyi göreceksiniz (bazı " +"diller varsayılan olarak veya tüm çıktı modlarında farkı *göstermeyebilir*)." #: tutorial/floatingpoint.rst:99 msgid "" "For more pleasant output, you may wish to use string formatting to produce a " "limited number of significant digits::" msgstr "" +"Daha hoş bir çıktı için, sınırlı sayıda anlamlı hane üretmek üzere dize " +"biçimlendirmesini kullanmak isteyebilirsiniz::" #: tutorial/floatingpoint.rst:111 msgid "" "It's important to realize that this is, in a real sense, an illusion: you're " "simply rounding the *display* of the true machine value." msgstr "" +"Bunun gerçek anlamda bir yanılsama olduğunun farkına varmak önemlidir: " +"gerçek makine değerinin *görüntüsünü* yuvarlıyorsunuz." #: tutorial/floatingpoint.rst:114 msgid "" "One illusion may beget another. For example, since 0.1 is not exactly 1/10, " "summing three values of 0.1 may not yield exactly 0.3, either::" msgstr "" +"Bir yanılsama diğerini doğurabilir. Örneğin, 0,1 tam olarak 1/10 " +"olmadığından, 0,1'in üç değerini toplamak da tam olarak 0,3 vermeyebilir::" #: tutorial/floatingpoint.rst:120 msgid "" @@ -154,6 +209,9 @@ msgid "" "cannot get any closer to the exact value of 3/10, then pre-rounding with :" "func:`round` function cannot help::" msgstr "" +"Ayrıca, 0,1 tam 1/10 değerine ve 0,3 tam 3/10 değerine daha fazla " +"yaklaşamayacağından, :func:`round` fonksiyonu ile ön yuvarlama yapmak " +"yardımcı olamaz::" #: tutorial/floatingpoint.rst:127 msgid "" @@ -161,6 +219,9 @@ msgid "" "the :func:`round` function can be useful for post-rounding so that results " "with inexact values become comparable to one another::" msgstr "" +"Sayılar amaçlanan tam değerlere yaklaştırılamasa da, :func:`round` işlevi, " +"kesin olmayan değerlere sahip sonuçların birbiriyle karşılaştırılabilir hale " +"gelmesi için sonradan yuvarlama yapmaya yarayabilir::" #: tutorial/floatingpoint.rst:134 msgid "" @@ -170,6 +231,11 @@ msgid "" "`_ for a more complete account of other " "common surprises." msgstr "" +"İkili kayan noktalı aritmetik bunun gibi birçok sürpriz barındırır. \"0.1\" " +"ile ilgili sorun aşağıda \"Temsil Hatası\" bölümünde ayrıntılı olarak " +"açıklanmıştır. Diğer yaygın sürprizlerin daha kapsamlı bir açıklaması için " +"`The Perils of Floating Point `_ bölümüne " +"bakınız." #: tutorial/floatingpoint.rst:139 msgid "" @@ -181,6 +247,13 @@ msgid "" "decimal arithmetic and that every float operation can suffer a new rounding " "error." msgstr "" +"Söylendiği üzere, \"kolay cevaplar yoktur.\" Yine de, kayan nokta konusunda " +"gereksiz yere temkinli olmayın! Python kayan nokta işlemlerindeki hatalar " +"kayan nokta donanımından miras alınır ve çoğu makinede işlem başına 2\\*" +"\\*53'te 1 parçadan fazla değildir. Bu, çoğu görev için fazlasıyla " +"yeterlidir, ancak bunun ondalık aritmetik olmadığını ve her kayan nokta " +"işleminin yeni bir yuvarlama hatasına maruz kalabileceğini aklınızda " +"bulundurmanız gerekir." #: tutorial/floatingpoint.rst:146 msgid "" @@ -190,6 +263,12 @@ msgid "" "expect. :func:`str` usually suffices, and for finer control see the :meth:" "`str.format` method's format specifiers in :ref:`formatstrings`." msgstr "" +"Patolojik durumlar mevcut olsa da, kayan noktalı aritmetiğin sıradan " +"kullanımı için, nihai sonuçlarınızın görüntüsünü beklediğiniz ondalık " +"basamak sayısına yuvarlarsanız, sonunda beklediğiniz sonucu görürsünüz. :" +"func:`str` genellikle yeterlidir ve daha ince kontrol için :ref:" +"`formatstrings` içindeki :meth:`str.format` yönteminin biçim " +"belirleyicilerine bakın." #: tutorial/floatingpoint.rst:152 msgid "" @@ -197,6 +276,9 @@ msgid "" "`decimal` module which implements decimal arithmetic suitable for accounting " "applications and high-precision applications." msgstr "" +"Tam ondalık gösterim gerektiren durumlar için, muhasebe uygulamaları ve " +"yüksek hassasiyetli uygulamalar için uygun ondalık aritmetiği uygulayan :mod:" +"`decimal` modülünü kullanmayı deneyin." #: tutorial/floatingpoint.rst:156 msgid "" @@ -204,6 +286,9 @@ msgid "" "which implements arithmetic based on rational numbers (so the numbers like " "1/3 can be represented exactly)." msgstr "" +"Kesin aritmetiğin bir başka biçimi, rasyonel sayılara dayalı aritmetik " +"uygulayan :mod:`fractions` modülü tarafından desteklenir (böylece 1/3 gibi " +"sayılar tam olarak temsil edilebilir)." #: tutorial/floatingpoint.rst:160 msgid "" @@ -212,6 +297,9 @@ msgid "" "statistical operations supplied by the SciPy project. See ." msgstr "" +"Kayan nokta işlemlerinin yoğun bir kullanıcısıysanız, NumPy paketine ve " +"SciPy projesi tarafından sağlanan matematiksel ve istatistiksel işlemler " +"için olan birçok pakete göz atmalısınız. adresine bakın." #: tutorial/floatingpoint.rst:164 msgid "" @@ -219,24 +307,35 @@ msgid "" "*do* want to know the exact value of a float. The :meth:`float." "as_integer_ratio` method expresses the value of a float as a fraction::" msgstr "" +"Python, bir kayan noktanın tam değerini *gerçekten* bilmek istediğiniz nadir " +"durumlarda yardımcı olabilecek araçlar sağlar. Meth:`float." +"as_integer_ratio` metodu bir kayan noktanın değerini kesir olarak ifade " +"eder::" #: tutorial/floatingpoint.rst:173 msgid "" "Since the ratio is exact, it can be used to losslessly recreate the original " "value::" msgstr "" +"Oran tam olduğundan, orijinal değeri kayıpsız olarak yeniden oluşturmak için " +"kullanılabilir::" #: tutorial/floatingpoint.rst:179 msgid "" "The :meth:`float.hex` method expresses a float in hexadecimal (base 16), " "again giving the exact value stored by your computer::" msgstr "" +"Meth:`float.hex` yöntemi bir kayan nokta değerini onaltılık (16 tabanı) " +"olarak ifade eder ve yine bilgisayarınız tarafından depolanan tam değeri " +"verir::" #: tutorial/floatingpoint.rst:185 msgid "" "This precise hexadecimal representation can be used to reconstruct the float " "value exactly::" msgstr "" +"Bu hassas onaltılık gösterim, float değerini tam olarak yeniden oluşturmak " +"için kullanılabilir::" #: tutorial/floatingpoint.rst:191 msgid "" @@ -245,6 +344,10 @@ msgid "" "data with other languages that support the same format (such as Java and " "C99)." msgstr "" +"Temsil tam olduğundan, değerleri Python'un farklı sürümleri arasında " +"güvenilir bir şekilde taşımak (platform bağımsızlığı) ve aynı biçimi " +"destekleyen diğer dillerle (Java ve C99 gibi) veri alışverişi yapmak için " +"kullanışlıdır." #: tutorial/floatingpoint.rst:195 msgid "" @@ -254,10 +357,15 @@ msgid "" "so that the errors do not accumulate to the point where they affect the " "final total:" msgstr "" +"Bir başka yararlı araç da toplama sırasında hassasiyet kaybını azaltmaya " +"yardımcı olan :func:`math.fsum` işlevidir. Değerler çalışan bir toplam " +"üzerine eklendikçe \"kayıp rakamları\" izler. Bu, genel doğrulukta bir fark " +"yaratabilir, böylece hatalar nihai toplamı etkileyecek noktaya kadar " +"birikmez:" #: tutorial/floatingpoint.rst:209 msgid "Representation Error" -msgstr "" +msgstr "Temsil Hatası" #: tutorial/floatingpoint.rst:211 msgid "" @@ -265,6 +373,9 @@ msgid "" "perform an exact analysis of cases like this yourself. Basic familiarity " "with binary floating-point representation is assumed." msgstr "" +"Bu bölüm \"0.1\" örneğini ayrıntılı olarak açıklamakta ve bu gibi durumların " +"tam analizini kendiniz nasıl yapabileceğinizi göstermektedir. İkili kayan " +"nokta gösterimine temel düzeyde aşina olunduğu varsayılmaktadır." #: tutorial/floatingpoint.rst:215 msgid "" @@ -274,6 +385,10 @@ msgid "" "Fortran, and many others) often won't display the exact decimal number you " "expect." msgstr "" +":dfn:`Temsil hatası`, bazı (aslında çoğu) ondalık kesirlerin tam olarak " +"ikili (taban 2) kesirler olarak temsil edilemeyeceği gerçeğini ifade eder. " +"Bu, Python'un (veya Perl, C, C++, Java, Fortran ve diğerlerinin) genellikle " +"beklediğiniz tam ondalık sayıyı göstermemesinin başlıca nedenidir." #: tutorial/floatingpoint.rst:220 msgid "" @@ -284,39 +399,53 @@ msgid "" "strives to convert 0.1 to the closest fraction it can of the form *J*/2**\\ " "*N* where *J* is an integer containing exactly 53 bits. Rewriting ::" msgstr "" +"Peki bu neden gerçekleşir? 1/10 tam olarak ikili bir kesir olarak temsil " +"edilemez. Günümüzde (Kasım 2000) neredeyse tüm makineler IEEE-754 kayan " +"nokta aritmetiği kullanmaktadır ve neredeyse tüm platformlar Python kayan " +"noktalarını IEEE-754 “çift duyarlılık” ile eşlemektedir. 754 çift 53 bit " +"kesinlik içerir, bu nedenle girişte bilgisayar 0.1'i *J*/2**\\ *N* " +"formundaki en yakın kesre dönüştürmeye çalışır, burada *J* tam olarak 53 bit " +"içeren bir tamsayıdır. Yeniden Yazma ::" #: tutorial/floatingpoint.rst:229 msgid "as ::" -msgstr "" +msgstr "şu şekilde ::" #: tutorial/floatingpoint.rst:233 msgid "" "and recalling that *J* has exactly 53 bits (is ``>= 2**52`` but ``< " "2**53``), the best value for *N* is 56::" msgstr "" +"ve *J*'nin tam olarak 53 bit olduğunu hatırlarsak (``>= 2**52`` ama ``< " +"2**53``), *N* için en iyi değer 56:'dır:" #: tutorial/floatingpoint.rst:239 msgid "" "That is, 56 is the only value for *N* that leaves *J* with exactly 53 bits. " "The best possible value for *J* is then that quotient rounded::" msgstr "" +"Yani, *N* için *J*'ye tam olarak 53 bit bırakan tek değer 56'dır. O halde " +"*J* için mümkün olan en iyi değer, bu bölümün yuvarlanmış halidir::" #: tutorial/floatingpoint.rst:246 msgid "" "Since the remainder is more than half of 10, the best approximation is " "obtained by rounding up::" msgstr "" +"Kalanın değeri 10'un yarısından fazla olduğu için, en iyi yaklaşım yukarı " +"yuvarlama ile elde edilir::" #: tutorial/floatingpoint.rst:252 msgid "" "Therefore the best possible approximation to 1/10 in 754 double precision " "is::" msgstr "" +"Bu nedenle 754 çift duyarlılıkta, 1/10'a mümkün olan en iyi yaklaşım şudur ::" #: tutorial/floatingpoint.rst:256 msgid "" "Dividing both the numerator and denominator by two reduces the fraction to::" -msgstr "" +msgstr "Hem pay hem de paydayı ikiye böldüğünüzde kesir şuna indirgenir::" #: tutorial/floatingpoint.rst:260 msgid "" @@ -324,18 +453,25 @@ msgid "" "1/10; if we had not rounded up, the quotient would have been a little bit " "smaller than 1/10. But in no case can it be *exactly* 1/10!" msgstr "" +"Aslında bölümü yukarı yuvarladığımız için değerin 1/10'dan biraz daha büyük " +"olduğuna dikkat edin; yukarı yuvarlamamış olsaydık, bölüm 1/10'dan biraz " +"daha küçük olurdu. Ancak hiçbir durumda *tam olarak* 1/10 olamaz!" #: tutorial/floatingpoint.rst:264 msgid "" "So the computer never \"sees\" 1/10: what it sees is the exact fraction " "given above, the best 754 double approximation it can get::" msgstr "" +"Yani bilgisayar asla 1/10'u \"görmez\": gördüğü şey yukarıda verilen tam " +"kesirdir, alabileceği en iyi 754 çift yaklaşımıdır::" #: tutorial/floatingpoint.rst:270 msgid "" "If we multiply that fraction by 10\\*\\*55, we can see the value out to 55 " "decimal digits::" msgstr "" +"Bu kesri 10\\*\\*55 ile çarparsak, değeri 55 ondalık basamağa kadar " +"görebiliriz::" #: tutorial/floatingpoint.rst:276 msgid "" @@ -344,9 +480,14 @@ msgid "" "displaying the full decimal value, many languages (including older versions " "of Python), round the result to 17 significant digits::" msgstr "" +"Bu da bilgisayarda depolanan gerçek değerin " +"0.1000000000000000055511151231257827021181583404541015625 kesrine eşit " +"olduğu anlamına gelir. Python’un eski sürümleri dahil olmak üzere çoğu dil, " +"tam kesri göstermek yerine sonucu 17 anlamlı basamağa yuvarlar::" #: tutorial/floatingpoint.rst:284 msgid "" "The :mod:`fractions` and :mod:`decimal` modules make these calculations " "easy::" msgstr "" +":mod:`fractions` ve :mod:`decimal` modülleri bu hesaplamaları kolaylaştırır::" From aec33926df04bd1583a48513829abd53b19f805a Mon Sep 17 00:00:00 2001 From: sefikaozturk Date: Thu, 16 Jun 2022 15:34:55 +0300 Subject: [PATCH 2/2] Update new fie. --- tutorial/datastructures.po | 297 ++++++++++++++++++++++++++++++++----- 1 file changed, 263 insertions(+), 34 deletions(-) diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index faaa76575..3c303f932 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -3,50 +3,57 @@ # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-12-17 23:20+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"PO-Revision-Date: 2022-06-16 15:32+0300\n" +"Last-Translator: \n" +"Language-Team: TURKISH \n" +"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.1\n" #: tutorial/datastructures.rst:5 msgid "Data Structures" -msgstr "" +msgstr "Veri Yapıları" #: tutorial/datastructures.rst:7 msgid "" "This chapter describes some things you've learned about already in more " "detail, and adds some new things as well." msgstr "" +"Bu bölüm, daha önce öğrendiğiniz bazı şeyleri daha ayrıntılı olarak " +"açıklamakta ve bazı yeni şeyler de eklemektedir." #: tutorial/datastructures.rst:13 msgid "More on Lists" -msgstr "" +msgstr "Listeler Üzerine " #: tutorial/datastructures.rst:15 msgid "" "The list data type has some more methods. Here are all of the methods of " "list objects:" msgstr "" +"Liste veri türünün bazı yöntemleri daha vardır. İşte liste nesnelerinin tüm " +"yöntemleri:" #: tutorial/datastructures.rst:22 msgid "" "Add an item to the end of the list. Equivalent to ``a[len(a):] = [x]``." -msgstr "" +msgstr "Listenin sonuna bir öğe ekleyin. ``a[len(a):] = [x]`` ile eşdeğerdir." #: tutorial/datastructures.rst:28 msgid "" "Extend the list by appending all the items from the iterable. Equivalent to " "``a[len(a):] = iterable``." msgstr "" +"Listeyi iterable'daki tüm öğeleri ekleyerek genişletin. ``a[len(a):] = " +"iterable`` ile eşdeğerdir." #: tutorial/datastructures.rst:35 msgid "" @@ -54,12 +61,17 @@ msgid "" "element before which to insert, so ``a.insert(0, x)`` inserts at the front " "of the list, and ``a.insert(len(a), x)`` is equivalent to ``a.append(x)``." msgstr "" +"Belirli bir konuma bir öğe ekleyin. İlk argüman eklenecek öğenin " +"indeksidir, bu nedenle ``a.insert(0, x)`` listenin başına ekler ve ``a." +"insert(len(a), x)`` ``a.append(x)`` ile eşdeğerdir." #: tutorial/datastructures.rst:43 msgid "" "Remove the first item from the list whose value is equal to *x*. It raises " "a :exc:`ValueError` if there is no such item." msgstr "" +"Değeri *x*'e eşit olan ilk öğeyi listeden kaldırır. Böyle bir öğe yoksa " +"bir :exc:`ValueError` yükseltir." #: tutorial/datastructures.rst:50 msgid "" @@ -70,16 +82,24 @@ msgid "" "that position. You will see this notation frequently in the Python Library " "Reference.)" msgstr "" +"Listede verilen konumdaki öğeyi kaldırır ve geri döndürür. Herhangi bir " +"indis belirtilmezse, ``a.pop()`` listedeki son öğeyi kaldırır ve döndürür. " +"(Yöntem imzasındaki *i* parametresinin etrafındaki köşeli parantezler, " +"parametrenin isteğe bağlı olduğunu belirtir, o konumda köşeli parantez " +"yazmanız gerektiğini değil. Bu gösterimi Python Kütüphane Referansında " +"sıkça göreceksiniz)" #: tutorial/datastructures.rst:60 msgid "Remove all items from the list. Equivalent to ``del a[:]``." -msgstr "" +msgstr "Listeden tüm öğeleri kaldırın. Del a[:]`` ile eşdeğerdir." #: tutorial/datastructures.rst:66 msgid "" "Return zero-based index in the list of the first item whose value is equal " "to *x*. Raises a :exc:`ValueError` if there is no such item." msgstr "" +"Değeri *x*'e eşit olan ilk öğenin listedeki sıfır tabanlı indeksini " +"döndürür. Böyle bir öğe yoksa bir :exc:`ValueError` yükseltir." #: tutorial/datastructures.rst:69 msgid "" @@ -88,28 +108,34 @@ msgid "" "list. The returned index is computed relative to the beginning of the full " "sequence rather than the *start* argument." msgstr "" +"İsteğe bağlı *start* ve *end* argümanları dilim gösteriminde olduğu gibi " +"yorumlanır ve aramayı listenin belirli bir alt dizisiyle sınırlamak için " +"kullanılır. Döndürülen dizin, *start* bağımsız değişkeni yerine tam dizinin " +"başlangıcına göre hesaplanır." #: tutorial/datastructures.rst:78 msgid "Return the number of times *x* appears in the list." -msgstr "" +msgstr "Listede *x* öğesinin kaç kez göründüğünü döndürür." #: tutorial/datastructures.rst:84 msgid "" "Sort the items of the list in place (the arguments can be used for sort " "customization, see :func:`sorted` for their explanation)." msgstr "" +"Listenin öğelerini yerinde sıralayın (argümanlar sıralama özelleştirmesi " +"için kullanılabilir, açıklamaları için :func:`sorted` dosyasına bakın)." #: tutorial/datastructures.rst:91 msgid "Reverse the elements of the list in place." -msgstr "" +msgstr "Listenin öğelerini yerinde ters çevirir." #: tutorial/datastructures.rst:97 msgid "Return a shallow copy of the list. Equivalent to ``a[:]``." -msgstr "" +msgstr "Listenin sığ bir kopyasını döndürür. A[:]`` ile eşdeğerdir." #: tutorial/datastructures.rst:100 msgid "An example that uses most of the list methods::" -msgstr "" +msgstr "Liste yöntemlerinin çoğunu kullanan bir örnek::" #: tutorial/datastructures.rst:123 msgid "" @@ -118,6 +144,10 @@ msgid "" "default ``None``. [1]_ This is a design principle for all mutable data " "structures in Python." msgstr "" +"Listeyi yalnızca değiştiren ``insert``, ``remove`` veya ``sort`` gibi " +"yöntemlerin hiçbir dönüş değeri yazdırmadığını fark etmiş olabilirsiniz. " +"Onlar, varsayılan ``None`` değerini döndürürler. [1]_ Bu, Python'daki tüm " +"değiştirilebilir veri yapıları için bir tasarım ilkesidir." #: tutorial/datastructures.rst:128 msgid "" @@ -127,10 +157,16 @@ msgid "" "types. Also, there are some types that don't have a defined ordering " "relation. For example, ``3+4j < 5+7j`` isn't a valid comparison." msgstr "" +"Fark edebileceğiniz bir başka şey de tüm verilerin sıralanamayacağı veya " +"karşılaştırılamayacağıdır. Örneğin, ``[None, 'hello', 10]`` sıralanamaz " +"çünkü tamsayılar dizelerle karşılaştırılamaz ve *None* diğer türlerle " +"karşılaştırılamaz. Ayrıca, tanımlanmış bir sıralama ilişkisine sahip " +"olmayan bazı türler de vardır. Örneğin, ``3+4j < 5+7j`` geçerli bir " +"karşılaştırma değildir." #: tutorial/datastructures.rst:139 msgid "Using Lists as Stacks" -msgstr "" +msgstr "Listeleri Yığın Olarak Kullanma" #: tutorial/datastructures.rst:144 msgid "" @@ -140,10 +176,15 @@ msgid "" "item from the top of the stack, use :meth:`pop` without an explicit index. " "For example::" msgstr "" +"Liste yöntemleri, bir listeyi, eklenen son öğenin geri alınan ilk öğe olduğu " +"bir yığın olarak kullanmayı çok kolaylaştırır (\"son giren ilk çıkar\"). " +"Yığının en üstüne bir öğe eklemek için :meth:`append` kullanın. Yığının en " +"üstünden bir öğeyi geri almak için, açık bir indeks olmadan :meth:`pop` " +"kullanın. Örneğin::" #: tutorial/datastructures.rst:169 msgid "Using Lists as Queues" -msgstr "" +msgstr "Listeleri Kuyruk Olarak Kullanma" #: tutorial/datastructures.rst:173 msgid "" @@ -153,16 +194,23 @@ msgid "" "are fast, doing inserts or pops from the beginning of a list is slow " "(because all of the other elements have to be shifted by one)." msgstr "" +"Bir listeyi, eklenen ilk elemanın alınan ilk eleman olduğu bir kuyruk olarak " +"kullanmak da mümkündür (\"ilk giren ilk çıkar\"); ancak listeler bu amaç " +"için verimli değildir. Listenin sonundan ekleme ve çıkarma işlemleri " +"hızlıyken, listenin başından ekleme veya çıkarma yapmak yavaştır (çünkü " +"diğer tüm öğelerin bir adım kaydırılması gerekir)." #: tutorial/datastructures.rst:179 msgid "" "To implement a queue, use :class:`collections.deque` which was designed to " "have fast appends and pops from both ends. For example::" msgstr "" +"Bir kuyruk uygulamak için, her iki uçtan da hızlı ekleme ve çıkarma yapmak " +"üzere tasarlanmış :class:`collections.deque` kullanın. Örneğin::" #: tutorial/datastructures.rst:197 msgid "List Comprehensions" -msgstr "" +msgstr "Liste Kavramaları" #: tutorial/datastructures.rst:199 msgid "" @@ -171,10 +219,16 @@ msgid "" "operations applied to each member of another sequence or iterable, or to " "create a subsequence of those elements that satisfy a certain condition." msgstr "" +"Liste kavramaları, listeler oluşturmak için kısa bir yol sağlar. Yaygın " +"uygulamalar, her bir öğenin başka bir dizinin veya yinelenebilir öğenin " +"üyelerine uygulanan işlemlerin sonucu olduğu yeni listeler oluşturmak veya " +"belirli bir koşulu karşılayan öğelerin bir alt dizisini oluşturmaktır." #: tutorial/datastructures.rst:204 msgid "For example, assume we want to create a list of squares, like::" msgstr "" +"Örneğin, aşağıdaki gibi bir kareler listesi oluşturmak istediğimizi " +"varsayalım:" #: tutorial/datastructures.rst:213 msgid "" @@ -182,14 +236,17 @@ msgid "" "exists after the loop completes. We can calculate the list of squares " "without any side effects using::" msgstr "" +"Bunun, ``x`` adında bir değişken yarattığına (veya üzerine yazdığına) ve bu " +"değişkenin döngü tamamlandıktan sonra da var olduğuna dikkat edin. Kareler " +"listesini, şunu kullanarak herhangi bir yan etki olmadan hesaplayabiliriz:" #: tutorial/datastructures.rst:219 msgid "or, equivalently::" -msgstr "" +msgstr "veya aynı şekilde::" #: tutorial/datastructures.rst:223 msgid "which is more concise and readable." -msgstr "" +msgstr "Ki bu daha kısa ve okunaklıdır." #: tutorial/datastructures.rst:225 msgid "" @@ -200,47 +257,63 @@ msgid "" "which follow it. For example, this listcomp combines the elements of two " "lists if they are not equal::" msgstr "" +"Bir liste kavrayışı, bir ifade içeren parantezlerden ve ardından bir :" +"keyword:`!for` cümlesinden, ardından sıfır veya daha fazla :keyword:`!for` " +"veya :keyword:`!if` cümlesinden oluşur. Sonuç, ifadenin kendisini takip " +"eden :keyword:`!for` ve :keyword:`!if` cümleleri bağlamında " +"değerlendirilmesiyle elde edilen yeni bir listedir. Örneğin, listcomp, eşit " +"değillerse iki listenin öğelerini birleştirir::" #: tutorial/datastructures.rst:235 msgid "and it's equivalent to::" -msgstr "" +msgstr "ve şuna eşdeğerdir::" #: tutorial/datastructures.rst:246 msgid "" "Note how the order of the :keyword:`for` and :keyword:`if` statements is the " "same in both these snippets." msgstr "" +"Her iki kod parçacığında da :keyword:`for` ve :keyword:`if` ifadelerinin " +"sıralamasının aynı olduğuna dikkat edin." #: tutorial/datastructures.rst:249 msgid "" "If the expression is a tuple (e.g. the ``(x, y)`` in the previous example), " "it must be parenthesized. ::" msgstr "" +"Eğer ifade bir veri grubu ise (örneğin önceki örnekteki ``(x, y)``), " +"parantez içine alınmalıdır. ::" #: tutorial/datastructures.rst:280 msgid "" "List comprehensions can contain complex expressions and nested functions::" msgstr "" +"Liste kavramaları karmaşık ifadeler ve iç içe geçmiş fonksiyonlar " +"içerebilir::" #: tutorial/datastructures.rst:287 msgid "Nested List Comprehensions" -msgstr "" +msgstr "İç İçe Liste Kavramaları" #: tutorial/datastructures.rst:289 msgid "" "The initial expression in a list comprehension can be any arbitrary " "expression, including another list comprehension." msgstr "" +"Bir liste kavrayışındaki ilk ifade, başka bir liste kavrayışı da dahil olmak " +"üzere rastgele herhangi bir ifade olabilir." #: tutorial/datastructures.rst:292 msgid "" "Consider the following example of a 3x4 matrix implemented as a list of 3 " "lists of length 4::" msgstr "" +"Uzunluğu 4 olan 3 listeden oluşan bir liste olarak uygulanan 3x4'lük bir " +"matrisin aşağıdaki örneğini düşünün::" #: tutorial/datastructures.rst:301 msgid "The following list comprehension will transpose rows and columns::" -msgstr "" +msgstr "Aşağıdaki liste kavraması satır ve sütunların yerlerini değiştirir::" #: tutorial/datastructures.rst:306 msgid "" @@ -248,25 +321,33 @@ msgid "" "context of the :keyword:`for` that follows it, so this example is equivalent " "to::" msgstr "" +"Önceki bölümde gördüğümüz gibi, iç içe geçmiş listcomp, kendisini takip " +"eden :keyword:`for` bağlamında değerlendirilir, bu nedenle bu örnek şuna " +"eşdeğerdir::" #: tutorial/datastructures.rst:317 msgid "which, in turn, is the same as::" -msgstr "" +msgstr "ki bu da şununla aynıdır::" #: tutorial/datastructures.rst:330 msgid "" "In the real world, you should prefer built-in functions to complex flow " "statements. The :func:`zip` function would do a great job for this use case::" msgstr "" +"Gerçek dünyada, karmaşık akış deyimleri yerine yerleşik işlevleri tercih " +"etmelisiniz. Bu durum için :func:`zip` fonksiyonu harika bir iş " +"çıkaracaktır::" #: tutorial/datastructures.rst:336 msgid "" "See :ref:`tut-unpacking-arguments` for details on the asterisk in this line." msgstr "" +"Bu satırdaki yıldız işaretiyle ilgili ayrıntılar için :ref:`tut-unpacking-" +"arguments` bölümüne bakın." #: tutorial/datastructures.rst:341 msgid "The :keyword:`!del` statement" -msgstr "" +msgstr ":keyword:`!del` deyimi" #: tutorial/datastructures.rst:343 msgid "" @@ -276,20 +357,28 @@ msgid "" "used to remove slices from a list or clear the entire list (which we did " "earlier by assignment of an empty list to the slice). For example::" msgstr "" +"Değer yerine indeksi verilen bir öğeyi listeden kaldırmanın bir yolu " +"vardır: :keyword:`del` deyimi. Bu, bir değer döndüren :meth:`pop` " +"yönteminden farklıdır. Keyword:`!del` deyimi, bir listeden dilimleri " +"kaldırmak veya tüm listeyi temizlemek için de kullanılabilir (bunu daha önce " +"dilime boş bir liste atayarak yapmıştık). Örneğin::" #: tutorial/datastructures.rst:360 msgid ":keyword:`del` can also be used to delete entire variables::" -msgstr "" +msgstr ":keyword:`del` değişkenlerin tamamını silmek için de kullanılabilir::" #: tutorial/datastructures.rst:364 msgid "" "Referencing the name ``a`` hereafter is an error (at least until another " "value is assigned to it). We'll find other uses for :keyword:`del` later." msgstr "" +"Bundan sonra ``a`` ismine referans vermek bir hatadır (en azından ona başka " +"bir değer atanana kadar). Daha sonra :keyword:`del` için başka kullanımlar " +"bulacağız." #: tutorial/datastructures.rst:371 msgid "Tuples and Sequences" -msgstr "" +msgstr "Veri Grupları ve Sekanslar" #: tutorial/datastructures.rst:373 msgid "" @@ -299,11 +388,16 @@ msgid "" "data types may be added. There is also another standard sequence data type: " "the *tuple*." msgstr "" +"Listelerin ve dizelerin indeksleme ve dilimleme işlemleri gibi birçok ortak " +"özelliğe sahip olduğunu gördük. Bunlar *sekans* veri tiplerinin iki " +"örneğidir (bkz. :ref:`typesseq`). Python gelişen bir dil olduğu için başka " +"sekans veri tipleri de eklenebilir. Ayrıca başka bir standart sekans veri " +"tipi daha vardır: *veri grupları*." #: tutorial/datastructures.rst:379 msgid "" "A tuple consists of a number of values separated by commas, for instance::" -msgstr "" +msgstr "Bir veri grubu, virgülle ayrılmış bir dizi değerden oluşur, örneğin::" #: tutorial/datastructures.rst:401 msgid "" @@ -314,6 +408,12 @@ msgid "" "the individual items of a tuple, however it is possible to create tuples " "which contain mutable objects, such as lists." msgstr "" +"Gördüğünüz gibi, çıktıda veri grupları her zaman parantez içine alınır, " +"böylece iç içe geçmiş veri grupları doğru şekilde yorumlanır; parantezli " +"veya parantezsiz olarak girilebilirler, ancak genellikle parantezler " +"gereklidir (eğer grup daha büyük bir ifadenin parçasıysa). Bir veri " +"grubunun öğelerine tek tek atama yapmak mümkün değildir, ancak listeler gibi " +"değiştirilebilir nesneler içeren veri grupları oluşturmak mümkündür." #: tutorial/datastructures.rst:408 msgid "" @@ -325,6 +425,13 @@ msgid "" "`mutable`, and their elements are usually homogeneous and are accessed by " "iterating over the list." msgstr "" +"Veri grupları listelere benzer görünse de, genellikle farklı durumlarda ve " +"farklı amaçlar için kullanılırlar. Veri grupları :term:`değişmez`dir ve " +"genellikle paket açma (bu bölümün ilerleyen kısımlarına bakınız) veya " +"indeksleme (hatta :func:`namedtuples ` durumunda " +"öznitelik ile) yoluyla erişilen heterojen bir dizi eleman içerir. Listeler :" +"term:`değiştirilebilir`dir, elemanları genellikle homojendir ve listenin " +"elemanlarına sırasıyla erişerek ulaşılır." #: tutorial/datastructures.rst:416 msgid "" @@ -334,6 +441,11 @@ msgid "" "constructed by following a value with a comma (it is not sufficient to " "enclose a single value in parentheses). Ugly, but effective. For example::" msgstr "" +"Özel bir sorun, 0 veya 1 öğe içeren veri gruplarının oluşturulmasıdır: söz " +"diziminin bunlar ile başa çıkan bazı ekstra tuhaflıkları vardır. Boş veri " +"grupları boş bir parantez çifti ile oluşturulur; bir öğeli bir veri grubu, " +"bir değeri virgülle takip ederek oluşturulur (tek bir değeri parantez içine " +"almak yeterli değildir). Çirkin olsa da etkilidir. Örneğin::" #: tutorial/datastructures.rst:431 msgid "" @@ -341,6 +453,9 @@ msgid "" "packing*: the values ``12345``, ``54321`` and ``'hello!'`` are packed " "together in a tuple. The reverse operation is also possible::" msgstr "" +"``t = 12345, 54321, ‘hello!’`` ifadesi bir *veri grubu paketleme* örneğidir: " +"``12345``, ``54321`` ve ``'hello!'`` değerleri bir veri grubu içinde bir " +"araya getirilmiştir. Bu işlemin tersi de mümkündür::" #: tutorial/datastructures.rst:437 msgid "" @@ -350,10 +465,14 @@ msgid "" "in the sequence. Note that multiple assignment is really just a combination " "of tuple packing and sequence unpacking." msgstr "" +"Buna *sekans açma* denir ve sağ taraftaki herhangi bir sekans için çalışır. " +"Sekans açma, eşittir işaretinin sol tarafında dizideki eleman sayısı kadar " +"sekans değişkeni olmasını gerektirir. Çoklu atamanın aslında veri grubu " +"paketleme ve sekans açmanın bir kombinasyonu olduğunu unutmayın." #: tutorial/datastructures.rst:447 msgid "Sets" -msgstr "" +msgstr "Kümeler" #: tutorial/datastructures.rst:449 msgid "" @@ -363,6 +482,11 @@ msgid "" "mathematical operations like union, intersection, difference, and symmetric " "difference." msgstr "" +"Python ayrıca *kümeler* için bir veri türü içerir. Bir küme, yinelenen " +"öğeleri olmayan sırasız bir koleksiyondur. Temel kullanımları içerisinde " +"üyelik testi ve yinelenen girdilerin elenmesi yer alır. Küme nesneleri " +"ayrıca birleşim, kesişim, fark ve simetrik fark gibi matematiksel işlemleri " +"de destekler." #: tutorial/datastructures.rst:454 msgid "" @@ -371,20 +495,26 @@ msgid "" "creates an empty dictionary, a data structure that we discuss in the next " "section." msgstr "" +"Küme oluşturmak için küme parantezleri veya :func:`set` fonksiyonu " +"kullanılabilir. Not: boş bir küme oluşturmak için ``{}`` değil ``set()`` " +"kullanmanız gerekir, çünkü birincisi boş bir sözlük oluşturur, ki bu da bir " +"sonraki bölümde tartışacağımız bir veri yapısıdır." #: tutorial/datastructures.rst:458 msgid "Here is a brief demonstration::" -msgstr "" +msgstr "İşte kısa bir gösterim::" #: tutorial/datastructures.rst:483 msgid "" "Similarly to :ref:`list comprehensions `, set comprehensions " "are also supported::" msgstr "" +":ref:`liste kavramaları ` gibi küme kavramaları da " +"desteklenmektedir::" #: tutorial/datastructures.rst:494 msgid "Dictionaries" -msgstr "" +msgstr "Sözlükler" #: tutorial/datastructures.rst:496 msgid "" @@ -399,6 +529,17 @@ msgid "" "in place using index assignments, slice assignments, or methods like :meth:" "`append` and :meth:`extend`." msgstr "" +"Python'da yerleşik olarak bulunan bir başka kullanışlı veri türü de " +"*sözlüktür* (bkz :ref:`typesmapping`). Sözlükler bazen diğer dillerde " +"\"ilişkisel bellekler\" veya \"ilişkisel diziler\" olarak bulunur. Bir sayı " +"aralığı ile indekslenen sekansların aksine, sözlükler herhangi bir değişmez " +"tip olabilen *anahtarlar* ile indekslenir, ki dizgiler ve sayılar her zaman " +"birer anahtar olabilir. Veri grupları yalnızca dizgi, sayı ya da veri grubu " +"içeriyorsa anahtar olarak kullanılabilir. Ancak bir veri grubu doğrudan ya " +"da dolaylı olarak değişebilir herhangi bir nesne içeriyorsa anahtar olarak " +"kullanılamaz. Listeler; dizin atamaları, dilim atamaları veya :meth:`append` " +"ve :meth:`extend` gibi yöntemler kullanılarak yerinde değiştirilebildiğinden " +"listeleri anahtar olarak kullanamazsınız." #: tutorial/datastructures.rst:507 msgid "" @@ -408,6 +549,12 @@ msgid "" "of key:value pairs within the braces adds initial key:value pairs to the " "dictionary; this is also the way dictionaries are written on output." msgstr "" +"Bir sözlüğü *anahtar: değer* çiftleri olarak düşünmek en iyisidir. Bir " +"sözlük içerisindeki her anahtarın benzersiz olması gerektiğini ise " +"unutmayın. Bir çift parantez boş bir sözlük oluşturur: ``{}``. Anahtar:değer " +"çiftlerinin virgülle ayrılmış bir listesini parantezler içine yerleştirmek " +"sözlüğe ilk anahtar:değer çiftlerini ekler; sözlükler çıktıda da aynı bu " +"şekilde görünürler." #: tutorial/datastructures.rst:513 msgid "" @@ -417,6 +564,11 @@ msgid "" "the old value associated with that key is forgotten. It is an error to " "extract a value using a non-existent key." msgstr "" +"Bir sözlük üzerindeki ana işlemler, bir değeri bir anahtarla depolamak ve " +"anahtarı verilen değeri geri çıkarmaktır. Ayrıca ``del`` ile bir anahtar:" +"değer çiftini silmek de mümkündür. Zaten bir değeri kullanımda olan bir " +"anahtar kullanarak saklarsanız, bu anahtarla ilişkili eski değer unutulur. " +"Var olmayan bir anahtar kullanarak değer çıkarmak bir hatadır." #: tutorial/datastructures.rst:519 msgid "" @@ -425,62 +577,84 @@ msgid "" "``sorted(d)`` instead). To check whether a single key is in the dictionary, " "use the :keyword:`in` keyword." msgstr "" +"Bir sözlük üzerinde ``list(d)`` işlemini gerçekleştirmek, sözlükte " +"kullanılan tüm anahtarların bir listesini eklenme sırasına göre döndürür " +"(başka bir düzenle sıralanmasını istiyorsanız, bunun yerine ``sorted(d)`` " +"kullanın). Tek bir anahtarın sözlükte olup olmadığını kontrol etmek için :" +"keyword:`in` anahtar sözcüğünü kullanın." #: tutorial/datastructures.rst:524 msgid "Here is a small example using a dictionary::" -msgstr "" +msgstr "İşte sözlük kullanılan bir örnek::" #: tutorial/datastructures.rst:545 msgid "" "The :func:`dict` constructor builds dictionaries directly from sequences of " "key-value pairs::" msgstr "" +":func:`dict` yapıcısı, doğrudan anahtar-değer sekanslarından sözlükler " +"oluşturur::" #: tutorial/datastructures.rst:551 msgid "" "In addition, dict comprehensions can be used to create dictionaries from " "arbitrary key and value expressions::" msgstr "" +"Buna ek olarak, sözlük kavramaları rastgele anahtar ve değer ifadelerinden " +"sözlükler oluşturmak için de kullanılabilir::" #: tutorial/datastructures.rst:557 msgid "" "When the keys are simple strings, it is sometimes easier to specify pairs " "using keyword arguments::" msgstr "" +"Anahtarlar basit dizgiler olduğunda, anahtar sözcük argümanlarını kullanarak " +"çiftleri belirtmek bazen daha kolaydır::" #: tutorial/datastructures.rst:567 msgid "Looping Techniques" -msgstr "" +msgstr "Döngü Teknikleri" #: tutorial/datastructures.rst:569 msgid "" "When looping through dictionaries, the key and corresponding value can be " "retrieved at the same time using the :meth:`items` method. ::" msgstr "" +"Sözlükler arasında döngü yaparken, :meth:`items` yöntemi kullanılarak " +"anahtar ve karşılık gelen değer aynı anda alınabilir:" #: tutorial/datastructures.rst:579 msgid "" "When looping through a sequence, the position index and corresponding value " "can be retrieved at the same time using the :func:`enumerate` function. ::" msgstr "" +"Bir sekans boyunca döngü yaparken, :func:`enumerate` fonksiyonu kullanılarak " +"konum indeksi ve karşılık gelen değer aynı anda alınabilir:" #: tutorial/datastructures.rst:589 msgid "" "To loop over two or more sequences at the same time, the entries can be " "paired with the :func:`zip` function. ::" msgstr "" +"Aynı anda iki veya daha fazla sekans üzerinde döngü yapmak için, girdiler :" +"func:`zip` fonksiyonu ile eşleştirilebilir:" #: tutorial/datastructures.rst:601 msgid "" "To loop over a sequence in reverse, first specify the sequence in a forward " "direction and then call the :func:`reversed` function. ::" msgstr "" +"Bir sekans üzerinde ters yönde döngü yapmak için, önce sekansı ileri yönde " +"belirtin ve ardından :func:`reversed` fonksiyonunu çağırın:" #: tutorial/datastructures.rst:613 msgid "" "To loop over a sequence in sorted order, use the :func:`sorted` function " "which returns a new sorted list while leaving the source unaltered. ::" msgstr "" +"Bir sekans üzerinde sıralı olarak döngü yapmak için, listenin kaynağını " +"değiştirmeksizin yeni bir sıralı liste döndüren :func:`sorted` fonksiyonunu " +"kullanın. ::" #: tutorial/datastructures.rst:627 msgid "" @@ -489,22 +663,31 @@ msgid "" "idiomatic way to loop over unique elements of the sequence in sorted " "order. ::" msgstr "" +"Bir sekans üzerinde :func:`set` kullanmak yinelenen öğeleri ortadan " +"kaldırır. Bir sekans üzerinde :func:`set` ile birlikte :func:`sorted` " +"kullanımı, dizinin benzersiz öğeleri üzerinde sıralı olarak döngü " +"oluşturmanın deyimsel bir yoludur. ::" #: tutorial/datastructures.rst:640 msgid "" "It is sometimes tempting to change a list while you are looping over it; " "however, it is often simpler and safer to create a new list instead. ::" msgstr "" +"Bazen bir liste üzerinde döngü yaparken listeyi değiştirmek " +"isteyebilirsiniz, ancak listeyi değiştirmektense yeni bir liste oluşturmak " +"genellikle daha basit ve güvenlidir." #: tutorial/datastructures.rst:657 msgid "More on Conditions" -msgstr "" +msgstr "Koşullar Üzerine" #: tutorial/datastructures.rst:659 msgid "" "The conditions used in ``while`` and ``if`` statements can contain any " "operators, not just comparisons." msgstr "" +"``while`` ve ``if`` deyimlerinde kullanılan koşullar sadece karşılaştırma " +"değil, herhangi bir operatör içerebilir." #: tutorial/datastructures.rst:662 msgid "" @@ -513,12 +696,20 @@ msgid "" "whether two objects are really the same object. All comparison operators " "have the same priority, which is lower than that of all numerical operators." msgstr "" +"Karşılaştırma operatörleri ``in`` ve ``not in`` bir değerin bir dizide olup " +"olmadığını kontrol eder. ``is`` ve ``is not`` operatörleri iki nesnenin " +"gerçekten aynı nesne olup olmadığını karşılaştırır. Tüm karşılaştırma " +"operatörleri aynı önceliğe sahiptir, bu öncelik ise tüm sayısal " +"operatörlerden daha düşüktür." #: tutorial/datastructures.rst:667 msgid "" "Comparisons can be chained. For example, ``a < b == c`` tests whether ``a`` " "is less than ``b`` and moreover ``b`` equals ``c``." msgstr "" +"Karşılaştırmalar art arda zincirlenebilir. Örneğin, ``a < b == c`` ifadesi " +"``a`` değerinin ``b`` değerinden küçük olup olmadığını test ederken aynı " +"zamanda ``b`` değerinin ``c`` değerine eşit olup olmadığını test eder." #: tutorial/datastructures.rst:670 msgid "" @@ -529,6 +720,13 @@ msgid "" "lowest, so that ``A and not B or C`` is equivalent to ``(A and (not B)) or " "C``. As always, parentheses can be used to express the desired composition." msgstr "" +"Karşılaştırmalar ``and`` ve ``or`` Boole operatörleri kullanılarak " +"birleştirilebilir ve bir karşılaştırmanın (veya başka bir Boole ifadesinin) " +"sonucu ``not`` ile olumsuzlanabilir. Bunlar karşılaştırma operatörlerinden " +"daha düşük önceliklere sahiptir; aralarında, ``not`` en yüksek önceliğe ve " +"``or`` en düşük önceliğe sahiptir, böylece ``A ve B değil veya C``, ``(A ve " +"(B değil)) veya C`` ile eşdeğerdir. Her zaman olduğu gibi, istenen bileşimi " +"ifade etmek için parantezler kullanılabilir." #: tutorial/datastructures.rst:677 msgid "" @@ -539,12 +737,20 @@ msgid "" "expression ``C``. When used as a general value and not as a Boolean, the " "return value of a short-circuit operator is the last evaluated argument." msgstr "" +"Boole operatörleri ``and`` ve ``or`` *kısa devre* operatörleri olarak " +"adlandırılır: argümanları soldan sağa doğru değerlendirilir ve sonuç " +"belirlenir belirlenmez değerlendirme durur. Örneğin, ``A`` ve ``C`` doğru " +"ancak ``B`` yanlış ise, ``A ve B ve C`` ``C`` ifadesini değerlendirmez. " +"Boole olarak değil de genel bir değer olarak kullanıldığında, kısa devre " +"işlecinin dönüş değeri son değerlendirilen bağımsız değişkendir." #: tutorial/datastructures.rst:684 msgid "" "It is possible to assign the result of a comparison or other Boolean " "expression to a variable. For example, ::" msgstr "" +"Bir değişkene, bir karşılaştırmanın sonucunu veya başka bir Boole ifadesini " +"atamak mümkündür. Örneğin::" #: tutorial/datastructures.rst:692 msgid "" @@ -553,10 +759,14 @@ msgid "" "an-expression>` ``:=``. This avoids a common class of problems encountered " "in C programs: typing ``=`` in an expression when ``==`` was intended." msgstr "" +"Python'da, C'den farklı olarak, ifadelerin içindeki atamanın :ref:`walrus " +"operatörü :` ``=`` ile " +"açıkça yapılması gerektiğini unutmayın. Bu, C programlarında karşılaşılan " +"yaygın bir sorunu önler: ``==`` yazmak isterken ``=`` yazmak." #: tutorial/datastructures.rst:702 msgid "Comparing Sequences and Other Types" -msgstr "" +msgstr "Sekanslar ile Diğer Veri Tiplerinin Karşılaştırılması" #: tutorial/datastructures.rst:703 msgid "" @@ -573,6 +783,17 @@ msgid "" "order individual characters. Some examples of comparisons between sequences " "of the same type::" msgstr "" +"Sekans nesneleri tipik olarak aynı sekans türüne sahip diğer nesnelerle " +"karşılaştırılabilir. Karşılaştırmada *sözlükbilimsel* sıralama kullanılır: " +"önce ilk iki öğe karşılaştırılır ve farklılarsa bu karşılaştırmanın sonucunu " +"belirler; eşitlerse, sonraki iki öğe karşılaştırılır ve her iki sekans da " +"tükenene kadar böyle devam eder. Karşılaştırılacak iki öğenin kendileri de " +"aynı türden sekanslar ise, sözlükbilimsel karşılaştırma özyinelemeli olarak " +"gerçekleştirilir. İki sekansın tüm öğeleri eşit çıkarsa, sekanslar eşit " +"kabul edilir. Eğer sekanslardan biri diğerinin alt sekansı ise, daha kısa " +"olan sekans daha küçük (küçük) olandır. Dizgiler için sözlükbilimsel " +"sıralama, tek tek karakterleri sıralamak için Unicode kod noktası numarasını " +"kullanır. Aynı türdeki sekanslar arasındaki karşılaştırmalara bazı örnekler::" #: tutorial/datastructures.rst:723 msgid "" @@ -582,13 +803,21 @@ msgid "" "equals 0.0, etc. Otherwise, rather than providing an arbitrary ordering, " "the interpreter will raise a :exc:`TypeError` exception." msgstr "" +"Nesnelerin uygun karşılaştırma yöntemlerine sahip olması koşuluyla, farklı " +"türlerdeki nesnelerin ``<`` veya ``>`` ile karşılaştırılabileceğini " +"unutmayın. Örneğin, karışık sayısal türler sayısal değerlerine göre " +"karşılaştırılır, bu nedenle 0 eşittir 0.0, vb. Bu türler uygun yöntemlere " +"sahip değillerse, yorumlayıcı rastgele bir sıralama döndürmek yerine :exc:" +"`TypeError` istisnasını yükseltir." #: tutorial/datastructures.rst:731 msgid "Footnotes" -msgstr "" +msgstr "Dipnotlar" #: tutorial/datastructures.rst:732 msgid "" "Other languages may return the mutated object, which allows method chaining, " "such as ``d->insert(\"a\")->remove(\"b\")->sort();``." msgstr "" +"Diğer diller yöntem zincirlemesine izin veren değiştirilmiş nesneyi " +"döndürebilir, mesela ``d->insert(\"a\")->remove(\"b\")->sort();`` gibi."