@@ -10,16 +10,17 @@ msgid ""
1010msgstr ""
1111"Project-Id-Version :Python 3.6 TW\n "
1212"Report-Msgid-Bugs-To :\n "
13- "POT-Creation-Date :2018-06-26 18:54 +0800\n "
14- "PO-Revision-Date :2018-05-23 16:18+0000 \n "
15- "Last-Translator :Adrian Liaw <adrianliaw2000@gmail.com >\n "
13+ "POT-Creation-Date :2018-05-23 22:27 +0800\n "
14+ "PO-Revision-Date :2018-07-12 20:50+0800 \n "
15+ "Last-Translator :Liang-Bo Wang <me@liang2.tw >\n "
1616"Language-Team :Chinese Traditional (http://www.transifex.com/python-tw-doc/ "
1717"python-36-tw/language/zh-Hant/)\n "
18- "Language :zh_TW\n "
1918"MIME-Version :1.0\n "
2019"Content-Type :text/plain; charset=UTF-8\n "
2120"Content-Transfer-Encoding :8bit\n "
21+ "Language :zh_TW\n "
2222"Plural-Forms :nplurals=1; plural=0;\n "
23+ "X-Generator :Poedit 2.0.8\n "
2324
2425#: ../../tutorial/controlflow.rst:5
2526msgid "More Control Flow Tools"
@@ -98,6 +99,8 @@ msgid ""
9899"With ``for w in words:``, the example would attempt to create an infinite "
99100"list, inserting ``defenestrate`` over and over again."
100101msgstr ""
102+ "在 ``for w in words:`` 的情況,這個例子會試著重覆不斷地插入 "
103+ "``defenestrate``,產生一個無限長的 list。"
101104
102105#: ../../tutorial/controlflow.rst:88
103106msgid "The :func:`range` Function"
@@ -122,7 +125,7 @@ msgid ""
122125msgstr ""
123126"給定的結束值永遠不會出現在生成的序列中;\\ ``range(10)`` 生成的 10 個數值,即"
124127"對應存取一個長度為 10 的序列內每一個元素的索引值。也可以讓 range 從其他數值計"
125- "數,或者給定不同的級距(甚至為負;有時稱之為' step' ):\n"
128+ "數,或者給定不同的級距(甚至為負;有時稱之為 step):\n"
126129"\n"
127130"::"
128131
@@ -195,6 +198,8 @@ msgid ""
195198"The :keyword:`break` statement, like in C, breaks out of the innermost "
196199"enclosing :keyword:`for` or :keyword:`while` loop."
197200msgstr ""
201+ ":keyword:`break` 陳述,如同 C 語言,終止包含其最內部的 :keyword:`for` 或 :"
202+ "keyword:`while` 迴圈。"
198203
199204#: ../../tutorial/controlflow.rst:163
200205msgid ""
@@ -237,7 +242,7 @@ msgid ""
237242"The :keyword:`continue` statement, also borrowed from C, continues with the "
238243"next iteration of the loop::"
239244msgstr ""
240- ":keyword:`continue` 陳述,亦承襲於 C 語言,讓迴圈於下個选代起繼續執行 :\n"
245+ ":keyword:`continue` 陳述,亦承襲於 C 語言,讓所屬的迴圈繼續執行下個选代 :\n"
241246"\n"
242247"::"
243248
@@ -270,7 +275,7 @@ msgid ""
270275"ignored::"
271276msgstr ""
272277":keyword:`pass` 亦可作為一個函式或條件判斷主體的預留位置,它可幫助你以更宏觀"
273- "的角度思考並撰寫新的程式碼。\\ :keyword:`pass`可自動忽略 :\n"
278+ "的角度思考並撰寫新的程式碼。\\ :keyword:`pass`可被忽略 :\n"
274279"\n"
275280"::"
276281
@@ -283,6 +288,9 @@ msgid ""
283288"We can create a function that writes the Fibonacci series to an arbitrary "
284289"boundary::"
285290msgstr ""
291+ "我們可以建立一個函式來產生費式數列到任何一個上界:\n"
292+ "\n"
293+ "::"
286294
287295#: ../../tutorial/controlflow.rst:265
288296msgid ""
@@ -291,6 +299,8 @@ msgid ""
291299"parameters. The statements that form the body of the function start at the "
292300"next line, and must be indented."
293301msgstr ""
302+ "關鍵字 :keyword:`def` 帶入一個函式的\\ *定義*。它之後必須連著該函式的名稱和置"
303+ "於括號之中的參數們。自下一行起,所有縮排的陳述成為該函式的主體。"
294304
295305#: ../../tutorial/controlflow.rst:270
296306msgid ""
@@ -302,6 +312,11 @@ msgid ""
302312"through code; it's good practice to include docstrings in code that you "
303313"write, so make a habit of it."
304314msgstr ""
315+ "一個函式的第一個陳述可以是一個字串值;此情況該字串值被視為該函式的說明文件字"
316+ "串,即 :dfn:`docstring`\\ 。(關於 docstring 的細節請參見\\ :ref:`tut-"
317+ "docstrings`\\ 段落。)有些工具可以使用 docstring 來自動產生線上或可列印的文"
318+ "件,或讓使用者能自由地自原始碼中瀏覽文件。在原始碼中加入 docstring 是個好慣"
319+ "例,應該養成這樣的習慣。"
305320
306321#: ../../tutorial/controlflow.rst:277
307322msgid ""
@@ -314,6 +329,11 @@ msgid ""
314329"assigned a value within a function (unless named in a :keyword:`global` "
315330"statement), although they may be referenced."
316331msgstr ""
332+ "函式執行期間會建立一個新的符號表(symbol table)來儲存該函式內的區域變數。更"
333+ "精確地說,所有在函式內的變數賦值都會把該值儲存在一個區域符號表。然而,在讀取"
334+ "一個變數時,會先從區域符號表起搜尋,其次為所有包含其函式的區域符號表們,其次"
335+ "為全域符號表,最後為所有內建的名稱。因此,在函式中,全域變數無法被直接賦值"
336+ "(除非該變數是透過 :keyword:`global` 陳述建立),但它們可以被讀取。"
317337
318338#: ../../tutorial/controlflow.rst:286
319339msgid ""
@@ -323,6 +343,10 @@ msgid ""
323343"*reference*, not the value of the object). [#]_ When a function calls "
324344"another function, a new local symbol table is created for that call."
325345msgstr ""
346+ "在一個函式被呼叫的時候,實際傳入的參數們(引數)會被加入至該函數的區域符號"
347+ "表。因此,引數傳入的方式為\\ *傳值呼叫 (call by value)*\\ (這裡傳遞的「值」"
348+ "永遠是一個物件的參照,而不是該物件的值)。\\ [#]_ 當一個函式呼叫別的函式時,"
349+ "在被呼叫的函式中會建立一個新的區域符號表。"
326350
327351#: ../../tutorial/controlflow.rst:292
328352msgid ""
@@ -332,6 +356,11 @@ msgid ""
332356"another name which can then also be used as a function. This serves as a "
333357"general renaming mechanism::"
334358msgstr ""
359+ "一個函式定義會把該函式名稱加入至當前的符號表。該函式名稱的值帶有一個型別,並"
360+ "被直譯器辨識為使用者自定函式。該值可以被賦予別的變數名。這即是常見的重新命名"
361+ "方式:\n"
362+ "\n"
363+ "::"
335364
336365#: ../../tutorial/controlflow.rst:304
337366msgid ""
@@ -343,23 +372,34 @@ msgid ""
343372"the only value written. You can see it if you really want to using :func:"
344373"`print`::"
345374msgstr ""
375+ "如果你是來自別的語言,你可能不同意 ``fib`` 是個函式,而是個程序 (procedure),"
376+ "因為它為沒有回傳值。實際上,即使一個函式缺少一個 :keyword:`return` 陳述,它亦"
377+ "有一個固定的回傳值。這個值為 ``None``\\ (它是一個內建名稱)。在直譯器中單獨"
378+ "使用 ``None`` 時,通常不會被顯示。你可以使用 :func:`print` 來看到它:\n"
379+ "\n"
380+ "::"
346381
347382#: ../../tutorial/controlflow.rst:315
348383msgid ""
349384"It is simple to write a function that returns a list of the numbers of the "
350385"Fibonacci series, instead of printing it::"
351386msgstr ""
387+ "如果要寫一個函式回傳費式數列的 list 而不是直接印出它,這也很容易:\n"
388+ "\n"
389+ "::"
352390
353391#: ../../tutorial/controlflow.rst:331
354392msgid "This example, as usual, demonstrates some new Python features:"
355- msgstr ""
393+ msgstr "這個例子一樣示範了一些新的 Python 特性: "
356394
357395#: ../../tutorial/controlflow.rst:333
358396msgid ""
359397"The :keyword:`return` statement returns with a value from a function. :"
360398"keyword:`return` without an expression argument returns ``None``. Falling "
361399"off the end of a function also returns ``None``."
362400msgstr ""
401+ ":keyword:`return` 陳述會讓一個函式回傳一個值。單獨使用 :keyword:`return` 不外"
402+ "加一個表達引數會回傳 ``None``\\ 。一個函式執行到結束也會回傳 ``None``\\ 。"
363403
364404#: ../../tutorial/controlflow.rst:337
365405msgid ""
@@ -374,6 +414,14 @@ msgid ""
374414"for list objects; it adds a new element at the end of the list. In this "
375415"example it is equivalent to ``result = result + [a]``, but more efficient."
376416msgstr ""
417+ "``result.append(a)`` 陳述呼叫了一個 list 物件 ``result`` 的 method(方法)。"
418+ "method 為「屬於」一個物件的函式,命名規則為 ``obj.methodname``\\ ,其中 "
419+ "``obj`` 為某個物件(亦可為一表達式),而 ``methodname`` 為該 method 的名稱,"
420+ "並被該物件決定其型別。不同的型別代表不同的 method。不同型別的 method 可以擁有"
421+ "一樣的名稱而不會讓 Python 混淆。(你可以使用 class 定自己的物件型別和 "
422+ "method,見 :ref:`tut-classes`\\ )這裡 :meth:`append` method 定義在 list 物件"
423+ "中;它會加入一個新的元素在該 list 的末端。這個例子等同於 ``result = result + "
424+ "[a]``\\ ,但更有效率。"
377425
378426#: ../../tutorial/controlflow.rst:352
379427msgid "More on Defining Functions"