From c5327d72e52e81879e5773a5dbd0acab089d8ecd Mon Sep 17 00:00:00 2001 From: Steven Hsu <81967953+StevenHsuYL@users.noreply.github.com> Date: Thu, 29 Apr 2021 03:59:32 +0800 Subject: [PATCH 1/8] interpreter zh-tw 3.9 Modified from zh-cn 3.9.4 version. --- tutorial/interpreter.html | 350 ++++++++++++++++++++++++++++++++++++++ tutorial/interpreter.po | 58 +++++-- 2 files changed, 391 insertions(+), 17 deletions(-) create mode 100644 tutorial/interpreter.html diff --git a/tutorial/interpreter.html b/tutorial/interpreter.html new file mode 100644 index 0000000000..76ec75a49a --- /dev/null +++ b/tutorial/interpreter.html @@ -0,0 +1,350 @@ + + +
+專案: | Python 3.9 |
語言: | 中文(台灣) |
原文 — 英文 | +譯文 — 中文(台灣) | +
---|---|
+Using the Python Interpreter | ++使用 Python 直譯器 | +
+Invoking the Interpreter | ++啟動直譯器 | +
+The Python interpreter is usually installed as :file:`/usr/local/bin/python3.9` on those machines where it is available; putting :file:`/usr/local/bin` in your Unix shell's search path makes it possible to start it by typing the command: | ++Python解釋器一般安裝在 :file:`/usr/local/bin/python3.9`路徑下;將:file:`/usr/local/bin`加入Unix終端的搜索路徑,鍵入以下命令就可以啟動Python: | +
+to the shell. [#]_ Since the choice of the directory where the interpreter lives is an installation option, other places are possible; check with your local Python guru or system administrator. (E.g., :file:`/usr/local/python` is a popular alternative location.) | ++能啟動 Python [#]_\ 。因為直譯器存放的目錄是個安裝選項,其他的目錄也是有可能的;請洽談在地的 Python 達人或者系統管理員。(例如:\ :file:`/usr/local/python` 是個很常見的另類存放路徑。) | +
+On Windows machines where you have installed Python from the :ref:`Microsoft Store <windows-store>`, the :file:`python3.9` command will be available. If you have the :ref:`py.exe launcher <launcher>` installed, you can use the :file:`py` command. See :ref:`setting-envvars` for other ways to launch Python. | ++Windows系統中,從:ref:`Microsoft Store <windows-store>`安裝Python後,就可以使用:file:`python3.9` 命令了。如果安裝了:ref:`py.exe launcher <launcher>`,則可以使用:file:`py`命令。請參閱附錄::ref:`setting-envvars`,了解其他啟動Python的方式。 | +
+Typing an end-of-file character (:kbd:`Control-D` on Unix, :kbd:`Control-Z` on Windows) at the primary prompt causes the interpreter to exit with a zero exit status. If that doesn't work, you can exit the interpreter by typing the following command: ``quit()``. | ++在主提示符輸入一個 end-of-file 字元(在 Unix 上為 :kbd:`Control-D`\ ;在 Windows 上為 :kbd:`Control-Z`\ )會使得直譯器以零退出狀況 (zero exit status) 離開。如果上述的做法沒有效,也可以輸入指令 ``quit()`` 離開直譯器。 | +
+The interpreter's line-editing features include interactive editing, history substitution and code completion on systems that support the `GNU Readline <https://tiswww.case.edu/php/chet/readline/rltop.html>`_ library. Perhaps the quickest check to see whether command line editing is supported is typing :kbd:`Control-P` to the first Python prompt you get. If it beeps, you have command line editing; see Appendix :ref:`tut-interacting` for an introduction to the keys. If nothing appears to happen, or if ``^P`` is echoed, command line editing isn't available; you'll only be able to use backspace to remove characters from the current line. | ++直譯器的指令列編輯功能有很多,在支援 `GNU Readline <https://tiswww.case.edu/php/chet/readline/rltop.html>` 函式庫的系統上包含:互動編輯、歷史取代、指令補完等功能。最快檢查有無支援指令列編輯的方法為:在第一個 Python 提示符後輸入 :kbd:`Control-P` ,如果出現嗶嗶聲,就代表有支援;見附錄 :ref:`tut-interacting` 介紹相關的快速鍵。如果什麼事沒有發生,或者出現一個 ``^P`` ,就代表並沒有指令列編輯功能;此時只能使用 backspace 去除該行的字元。 | +
+The interpreter operates somewhat like the Unix shell: when called with standard input connected to a tty device, it reads and executes commands interactively; when called with a file name argument or with a file as standard input, it reads and executes a *script* from that file. | ++這個直譯器使用起來像是 Unix shell:如果它被呼叫時連結至一個 tty 裝置,它會互動式地讀取並執行指令;如果被呼叫時給定檔名為引數或者使用 stdin 傳入檔案內容,它會將這個檔案視為\ **腳本**\ 來閱讀。 | +
+A second way of starting the interpreter is ``python -c command [arg] ...``, which executes the statement(s) in *command*, analogous to the shell's :option:`-c` option. Since Python statements often contain spaces or other characters that are special to the shell, it is usually advised to quote *command* in its entirety with single quotes. | ++另一個啟動直譯器的方式為 ``python -c command [arg] ...`` ,它會執行在 *command* 裡的指令(們),行為如同 shell 的 :option:`-c` 選項。因為 Python 的指令包含空白等 shell 用到的特殊字元,通常建議用單引號把 *command* 包起來。 | +
+Some Python modules are also useful as scripts. These can be invoked using ``python -m module [arg] ...``, which executes the source file for *module* as if you had spelled out its full name on the command line. | ++有些 Python 模組使用上如腳本般一樣方便。透過 ``python -m module [arg] ...`` 可以執行 *module* 模組的原始碼,就如同直接傳入那個模組的完整路徑一樣的行為。 | +
+When a script file is used, it is sometimes useful to be able to run the script and enter interactive mode afterwards. This can be done by passing :option:`-i` before the script. | ++當要執行一個腳本檔時,有時候會希望在腳本結束時進入互動模式。此時可在執行腳本的指令加入 :option:`-i` 。 | +
+All command line options are described in :ref:`using-on-general`. | ++所有指令可用的參數都詳記在 :ref:`using-on-general` 。 | +
+Argument Passing | ++傳遞引數 | +
+When known to the interpreter, the script name and additional arguments thereafter are turned into a list of strings and assigned to the ``argv`` variable in the ``sys`` module. You can access this list by executing ``import sys``. The length of the list is at least one; when no script and no arguments are given, ``sys.argv[0]`` is an empty string. When the script name is given as ``'-'`` (meaning standard input), ``sys.argv[0]`` is set to ``'-'``. When :option:`-c` *command* is used, ``sys.argv[0]`` is set to ``'-c'``. When :option:`-m` *module* is used, ``sys.argv[0]`` is set to the full name of the located module. Options found after :option:`-c` *command* or :option:`-m` *module* are not consumed by the Python interpreter's option processing but left in ``sys.argv`` for the command or module to handle. | ++當直擇器收到腳本的名稱和額外的引數後,他們會轉換為由字串所組成的 list(串列)並指派給 ``sys`` 模組的 ``argv`` 變數。你可以執行 ``import sys`` 取得這個串列。這個串列的長度至少為一;當沒有給任何腳本名稱和引數時, ``sys.argv[0]`` 為空字串。當腳本名為 ``'-'`` (指標準輸入)時, ``sys.argv[0]`` 為 ``'-'`` 。當使用 :option:`-c` *command* 時, ``sys.argv[0]`` 為 ``'-c'``\ 。當使用 :option:`-m` *module* 時, ``sys.argv[0]`` 為該模組存在的完整路徑。其餘非 :option:`-c` *command* 或 :option:`-m` *module* 的選項不會被 Python 直譯器吸收掉,而是留在 ``sys.argv`` 變數中給後續的 command 或 module 使用。 | +
+Interactive Mode | ++互動模式 | +
+When commands are read from a tty, the interpreter is said to be in *interactive mode*. In this mode it prompts for the next command with the *primary prompt*, usually three greater-than signs (``>>>``); for continuation lines it prompts with the *secondary prompt*, by default three dots (``...``). The interpreter prints a welcome message stating its version number and a copyright notice before printing the first prompt: | +
+在終端(tty)輸入並執行指令時,解釋器在*互動模式(interactive mode)*中運行。在這種模式中,會顯示*主提示符*,提示輸入下一條指令,主提示符通常用三個大於號(``>>>``)表示;輸入連續行時,顯示*次要提示符*,預設是三個點(``...``)。進入解釋器時,首先顯示歡迎信息、版本信息、版權聲明,然後才是提示符:
+ + :: |
+
+Continuation lines are needed when entering a multi-line construct. As an example, take a look at this :keyword:`if` statement:: | +
+接續多行的情況出現在需要多行才能建立完整指令時。舉例來說,像是 :keyword:`if` 敘述:
+ + :: |
+
+For more on interactive mode, see :ref:`tut-interac`. | ++更多有關互動模式的使用,請見\ :ref:`tut-interac`\ 。 | +
+The Interpreter and Its Environment | ++直譯器與它的環境 | +
+Source Code Encoding | ++原始碼的字元編碼 (encoding) | +
+By default, Python source files are treated as encoded in UTF-8. In that encoding, characters of most languages in the world can be used simultaneously in string literals, identifiers and comments --- although the standard library only uses ASCII characters for identifiers, a convention that any portable code should follow. To display all these characters properly, your editor must recognize that the file is UTF-8, and it must use a font that supports all the characters in the file. | ++預設 Python 原始碼檔案的字元編碼使用 UTF-8。在這個編碼中,世界上多數語言的文字可以同時被使用在字串內容、識別名 (identifier) 及註解中 --- 雖然在標準函式庫中只使用 ASCII 字元作為識別名,這也是個任何 portable 程式碼需遵守的慣例。如果要正確地顯示所有字元,您的編輯器需要能夠認識檔案為 UTF-8,並且需要能顯示檔案中所有字元的字型。 | +
+To declare an encoding other than the default one, a special comment line should be added as the *first* line of the file. The syntax is as follows:: | +
+如果不使用預設編碼,則要聲明文件的編碼,文件的*第一*行要寫成特殊註釋。句法如下:
+ + :: |
+
+where *encoding* is one of the valid :mod:`codecs` supported by Python. | ++其中, *encoding* 可以是Python支持的任意一種 :mod:`codecs` 。 | +
+For example, to declare that Windows-1252 encoding is to be used, the first line of your source code file should be:: | +
+比如,聲明使用Windows-1252 編碼,源碼文件要寫成:
+ + :: |
+
+One exception to the *first line* rule is when the source code starts with a :ref:`UNIX "shebang" line <tut-scripts>`. In this case, the encoding declaration should be added as the second line of the file. For example:: | +
+*第一行*的規則也有一種例外情況,在源碼以 :ref:`UNIX "shebang" line <tut-scripts>` 行開頭時。此時,編碼聲明要寫在文件的第二行。例如:
+ + :: |
+
+Footnotes | ++註解 | +
+On Unix, the Python 3.x interpreter is by default not installed with the executable named ``python``, so that it does not conflict with a simultaneously installed Python 2.x executable. | ++在 Unix 中,Python 3.x 直譯器預設安裝不會以 ``python`` 作為執行檔名稱,以避免與 現有的 Python 2.x 執行檔名稱衝突。 | +
專案: | Python 3.9 |
語言: | 中文(台灣) |
原文 — 英文 | -譯文 — 中文(台灣) | -
---|---|
-Using the Python Interpreter | --使用 Python 直譯器 | -
-Invoking the Interpreter | --啟動直譯器 | -
-The Python interpreter is usually installed as :file:`/usr/local/bin/python3.9` on those machines where it is available; putting :file:`/usr/local/bin` in your Unix shell's search path makes it possible to start it by typing the command: | --Python解釋器一般安裝在 :file:`/usr/local/bin/python3.9`路徑下;將:file:`/usr/local/bin`加入Unix終端的搜索路徑,鍵入以下命令就可以啟動Python: | -
-to the shell. [#]_ Since the choice of the directory where the interpreter lives is an installation option, other places are possible; check with your local Python guru or system administrator. (E.g., :file:`/usr/local/python` is a popular alternative location.) | --能啟動 Python [#]_\ 。因為直譯器存放的目錄是個安裝選項,其他的目錄也是有可能的;請洽談在地的 Python 達人或者系統管理員。(例如:\ :file:`/usr/local/python` 是個很常見的另類存放路徑。) | -
-On Windows machines where you have installed Python from the :ref:`Microsoft Store <windows-store>`, the :file:`python3.9` command will be available. If you have the :ref:`py.exe launcher <launcher>` installed, you can use the :file:`py` command. See :ref:`setting-envvars` for other ways to launch Python. | --Windows系統中,從:ref:`Microsoft Store <windows-store>`安裝Python後,就可以使用:file:`python3.9` 命令了。如果安裝了:ref:`py.exe launcher <launcher>`,則可以使用:file:`py`命令。請參閱附錄::ref:`setting-envvars`,了解其他啟動Python的方式。 | -
-Typing an end-of-file character (:kbd:`Control-D` on Unix, :kbd:`Control-Z` on Windows) at the primary prompt causes the interpreter to exit with a zero exit status. If that doesn't work, you can exit the interpreter by typing the following command: ``quit()``. | --在主提示符輸入一個 end-of-file 字元(在 Unix 上為 :kbd:`Control-D`\ ;在 Windows 上為 :kbd:`Control-Z`\ )會使得直譯器以零退出狀況 (zero exit status) 離開。如果上述的做法沒有效,也可以輸入指令 ``quit()`` 離開直譯器。 | -
-The interpreter's line-editing features include interactive editing, history substitution and code completion on systems that support the `GNU Readline <https://tiswww.case.edu/php/chet/readline/rltop.html>`_ library. Perhaps the quickest check to see whether command line editing is supported is typing :kbd:`Control-P` to the first Python prompt you get. If it beeps, you have command line editing; see Appendix :ref:`tut-interacting` for an introduction to the keys. If nothing appears to happen, or if ``^P`` is echoed, command line editing isn't available; you'll only be able to use backspace to remove characters from the current line. | --直譯器的指令列編輯功能有很多,在支援 `GNU Readline <https://tiswww.case.edu/php/chet/readline/rltop.html>` 函式庫的系統上包含:互動編輯、歷史取代、指令補完等功能。最快檢查有無支援指令列編輯的方法為:在第一個 Python 提示符後輸入 :kbd:`Control-P` ,如果出現嗶嗶聲,就代表有支援;見附錄 :ref:`tut-interacting` 介紹相關的快速鍵。如果什麼事沒有發生,或者出現一個 ``^P`` ,就代表並沒有指令列編輯功能;此時只能使用 backspace 去除該行的字元。 | -
-The interpreter operates somewhat like the Unix shell: when called with standard input connected to a tty device, it reads and executes commands interactively; when called with a file name argument or with a file as standard input, it reads and executes a *script* from that file. | --這個直譯器使用起來像是 Unix shell:如果它被呼叫時連結至一個 tty 裝置,它會互動式地讀取並執行指令;如果被呼叫時給定檔名為引數或者使用 stdin 傳入檔案內容,它會將這個檔案視為\ **腳本**\ 來閱讀。 | -
-A second way of starting the interpreter is ``python -c command [arg] ...``, which executes the statement(s) in *command*, analogous to the shell's :option:`-c` option. Since Python statements often contain spaces or other characters that are special to the shell, it is usually advised to quote *command* in its entirety with single quotes. | --另一個啟動直譯器的方式為 ``python -c command [arg] ...`` ,它會執行在 *command* 裡的指令(們),行為如同 shell 的 :option:`-c` 選項。因為 Python 的指令包含空白等 shell 用到的特殊字元,通常建議用單引號把 *command* 包起來。 | -
-Some Python modules are also useful as scripts. These can be invoked using ``python -m module [arg] ...``, which executes the source file for *module* as if you had spelled out its full name on the command line. | --有些 Python 模組使用上如腳本般一樣方便。透過 ``python -m module [arg] ...`` 可以執行 *module* 模組的原始碼,就如同直接傳入那個模組的完整路徑一樣的行為。 | -
-When a script file is used, it is sometimes useful to be able to run the script and enter interactive mode afterwards. This can be done by passing :option:`-i` before the script. | --當要執行一個腳本檔時,有時候會希望在腳本結束時進入互動模式。此時可在執行腳本的指令加入 :option:`-i` 。 | -
-All command line options are described in :ref:`using-on-general`. | --所有指令可用的參數都詳記在 :ref:`using-on-general` 。 | -
-Argument Passing | --傳遞引數 | -
-When known to the interpreter, the script name and additional arguments thereafter are turned into a list of strings and assigned to the ``argv`` variable in the ``sys`` module. You can access this list by executing ``import sys``. The length of the list is at least one; when no script and no arguments are given, ``sys.argv[0]`` is an empty string. When the script name is given as ``'-'`` (meaning standard input), ``sys.argv[0]`` is set to ``'-'``. When :option:`-c` *command* is used, ``sys.argv[0]`` is set to ``'-c'``. When :option:`-m` *module* is used, ``sys.argv[0]`` is set to the full name of the located module. Options found after :option:`-c` *command* or :option:`-m` *module* are not consumed by the Python interpreter's option processing but left in ``sys.argv`` for the command or module to handle. | --當直擇器收到腳本的名稱和額外的引數後,他們會轉換為由字串所組成的 list(串列)並指派給 ``sys`` 模組的 ``argv`` 變數。你可以執行 ``import sys`` 取得這個串列。這個串列的長度至少為一;當沒有給任何腳本名稱和引數時, ``sys.argv[0]`` 為空字串。當腳本名為 ``'-'`` (指標準輸入)時, ``sys.argv[0]`` 為 ``'-'`` 。當使用 :option:`-c` *command* 時, ``sys.argv[0]`` 為 ``'-c'``\ 。當使用 :option:`-m` *module* 時, ``sys.argv[0]`` 為該模組存在的完整路徑。其餘非 :option:`-c` *command* 或 :option:`-m` *module* 的選項不會被 Python 直譯器吸收掉,而是留在 ``sys.argv`` 變數中給後續的 command 或 module 使用。 | -
-Interactive Mode | --互動模式 | -
-When commands are read from a tty, the interpreter is said to be in *interactive mode*. In this mode it prompts for the next command with the *primary prompt*, usually three greater-than signs (``>>>``); for continuation lines it prompts with the *secondary prompt*, by default three dots (``...``). The interpreter prints a welcome message stating its version number and a copyright notice before printing the first prompt: | -
-在終端(tty)輸入並執行指令時,解釋器在*互動模式(interactive mode)*中運行。在這種模式中,會顯示*主提示符*,提示輸入下一條指令,主提示符通常用三個大於號(``>>>``)表示;輸入連續行時,顯示*次要提示符*,預設是三個點(``...``)。進入解釋器時,首先顯示歡迎信息、版本信息、版權聲明,然後才是提示符:
- - :: |
-
-Continuation lines are needed when entering a multi-line construct. As an example, take a look at this :keyword:`if` statement:: | -
-接續多行的情況出現在需要多行才能建立完整指令時。舉例來說,像是 :keyword:`if` 敘述:
- - :: |
-
-For more on interactive mode, see :ref:`tut-interac`. | --更多有關互動模式的使用,請見\ :ref:`tut-interac`\ 。 | -
-The Interpreter and Its Environment | --直譯器與它的環境 | -
-Source Code Encoding | --原始碼的字元編碼 (encoding) | -
-By default, Python source files are treated as encoded in UTF-8. In that encoding, characters of most languages in the world can be used simultaneously in string literals, identifiers and comments --- although the standard library only uses ASCII characters for identifiers, a convention that any portable code should follow. To display all these characters properly, your editor must recognize that the file is UTF-8, and it must use a font that supports all the characters in the file. | --預設 Python 原始碼檔案的字元編碼使用 UTF-8。在這個編碼中,世界上多數語言的文字可以同時被使用在字串內容、識別名 (identifier) 及註解中 --- 雖然在標準函式庫中只使用 ASCII 字元作為識別名,這也是個任何 portable 程式碼需遵守的慣例。如果要正確地顯示所有字元,您的編輯器需要能夠認識檔案為 UTF-8,並且需要能顯示檔案中所有字元的字型。 | -
-To declare an encoding other than the default one, a special comment line should be added as the *first* line of the file. The syntax is as follows:: | -
-如果不使用預設編碼,則要聲明文件的編碼,文件的*第一*行要寫成特殊註釋。句法如下:
- - :: |
-
-where *encoding* is one of the valid :mod:`codecs` supported by Python. | --其中, *encoding* 可以是Python支持的任意一種 :mod:`codecs` 。 | -
-For example, to declare that Windows-1252 encoding is to be used, the first line of your source code file should be:: | -
-比如,聲明使用Windows-1252 編碼,源碼文件要寫成:
- - :: |
-
-One exception to the *first line* rule is when the source code starts with a :ref:`UNIX "shebang" line <tut-scripts>`. In this case, the encoding declaration should be added as the second line of the file. For example:: | -
-*第一行*的規則也有一種例外情況,在源碼以 :ref:`UNIX "shebang" line <tut-scripts>` 行開頭時。此時,編碼聲明要寫在文件的第二行。例如:
- - :: |
-
-Footnotes | --註解 | -
-On Unix, the Python 3.x interpreter is by default not installed with the executable named ``python``, so that it does not conflict with a simultaneously installed Python 2.x executable. | --在 Unix 中,Python 3.x 直譯器預設安裝不會以 ``python`` 作為執行檔名稱,以避免與 現有的 Python 2.x 執行檔名稱衝突。 | -