<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 2. Python 解釋器 ### 2.1 調用解釋器 Python 解釋器在可用的機器上通常安裝成/usr/local/bin/python3.4;將/usr/local/bin放在您的 Unix shell 搜索路徑,使得可以通過在shell 中鍵入命令 ~~~ python3.4 ~~~ 來啟動它。[[1]](#)由于解釋器放置的目錄是一個安裝選項,其他地方也是可能的;請與您的 Python 專家或系統管理員聯系。(例如, /usr/local/python是一個常見的替代位置。 在Windows機器上,Python的安裝通常是放置在C:\Python3,當然你可以在運行安裝程序時進行更改。你可以在一個DOS窗口的命令提示符下鍵入以下命令來把這個目錄添加到路徑中: ~~~ set path=%path%;C:\python34 ~~~ 主提示符下鍵入文件結束字符 ( Unix 上是Control-D 、 Windows 上是Control-Z) 會導致該解釋器以零退出狀態退出。如果無法正常工作,您可以通過鍵入以下命令退出解釋器: quit()。 編輯器的行編輯功能包括交互式編輯,歷史記錄和代碼補全,其中代碼補全功能需要系統支持readline庫。也許最快的檢查,看看是否支持命令行編輯對你的第一個 Python 提示Ctrl-P。如果它發出蜂鳴聲,則有命令行編輯 ;請參閱附錄[*交互式輸入編輯和歷史替代*](#) 的有關快捷鍵的介紹。如果什么都沒發生,或者顯示^ P,命令行編輯不可用 ;你就只能夠使用退格鍵刪除當前行中的字符。 解釋器有些像 Unix shell:當使用tty設備作為標準輸入調用時,它交互地讀取并執行命令 ;當用文件名參數或文件作為標準輸入調用,它將讀取并執行該文件中的*腳本*。 第二種啟動解釋器的方式是python-ccommand[arg]...,這種方式是在*command*中執行語句,類似于 shell 的[*-c*](#)選項中。因為 Python 語句經常包含空格或其他shell 特殊字符,通常建議把全部*命令*放在單引號里。 有些 Python 模塊同時也是可執行的腳本。這些模塊可以使用python-mmodule[arg]......直接調用,這和在命令行輸入完整的路徑名執行*模塊* 的源文件是一樣的。 當使用一個腳本文件時,它有時是很有用能夠運行該腳本,之后進入交互模式。這可以通過在腳本前面加上[*-i*](#) 選項實現。 #### 2.1.1. 參數傳遞 調用解釋器時,腳本名稱和其他參數被轉換成一個字符串列表并賦值給sys模塊中的argv變量。你可以通過importsys訪問此列表。列表的長度是至少是 1 ;如果沒有給出腳本和參數, sys.argv[0]是一個空字符串。當使用[*-c*](#)*命令*時, sys.argv[0]設置為'-c'。當使用[*-m*](#)*模塊參數*時, sys.argv[0]被設定為指定模塊的全名。[*-c*](#)*選項*或[*-m*](#)*選項*后面的選項不會被Python 解釋器處理,但是會被保存在sys.argv中,供命令或模塊使用。 #### 2.1.2. 交互模式 當從 tty 讀取命令時,我們說解釋器在*交互模式* 下。這種模式下,解釋器以*主提示符* 提示輸入命令,主提示符通常標識為三個大于號(>>>) ;如果有續行,解釋器以*從提示符* 提示輸入,默認為三個點 (...)。在第一個提示符之前,解釋器會打印出一條歡迎信息聲明它的版本號和授權公告: ~~~ $ python3.4 Python 3.4 (default, Mar 16 2014, 09:25:04) [GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information. >>> ~~~ 輸入多行結構時需要續行。作為一個例子,看看這個[if](#)語句: ~~~ >>> the_world_is_flat = True >>> if the_world_is_flat: ... print("Be careful not to fall off!") ... Be careful not to fall off! ~~~ ### 2.2. 解釋器及其環境 #### 2.2.1. 錯誤處理 錯誤發生時,解釋器會打印錯誤信息和堆棧跟蹤信息。在交互模式下,它會返回到主提示符;當輸入來自一個文件,它會打印堆棧跟蹤信息,然后以非零退出狀態退出。(由[try](#)語句中[except](#)的子句處理的異常不是在這方面的錯誤)。有些錯誤是致命的并導致非零狀態退出;這通常由于內部不一致和某些情況下的內存不足導致。所有錯誤消息都寫入標準錯誤流;執行命令的普通輸出寫入標準輸出。 在主提示符或從提示符后輸入中斷符(通常為Control-C或DEL)可以取消輸入,并返回到主提示符。[[2]](#)命令執行過程中輸入中斷符將引發[KeyboardInterrupt](# "KeyboardInterrupt")異常,它可以被[try](#)語句截獲。 #### 2.2.2. 可執行的 Python 腳本 在類 BSD 的 Unix 系統上,可以將Python 腳本變成可直接執行的,就像 shell 腳本一樣。通過放置一行 ~~~ #! /usr/bin/env python3.4 ~~~ (假定解釋器在用戶的PATH 中) 在腳本的開始并且給文件可執行的模式。#!必須是文件的前兩個字符。在一些平臺上,這第一行必須以一個 Unix 風格的行結束符 ('\n'),而不是 Windows 的行結束符 ('\r\n') 結尾。注意,字符 '#',是Python 注釋的起始符號。 可以通過?**chmod** 命令給予腳本可執行的模式或權限: ~~~ $ chmod +x myscript.py ~~~ 在 Windows 系統上,沒有"可執行模式"的概念。Python 安裝程序會自動將 .py 文件與 python.exe 關聯,雙擊 Python 文件將以腳本的方式運行它。擴展名也可以是 .pyw,在這種情況下,通常出現的控制臺窗口不會在顯示了。 #### 2.2.3. 源程序的編碼 Python源文件默認以UTF-8編碼。在這種編碼下,世界上大多數語言的字符可以在字符串,標識符和注釋中同時使用 — 盡管標準庫中的標識符只使用ASCII字符,它是可移植代碼應該遵循的一個慣例。為了能夠正確顯示所有的這些字符,你的編輯器必須能夠識別文件是UTF-8編碼,且必須使用支持文件中所有字符的字體。 也可以給源文件指定一個不同的編碼。方法是在 #! 行的后面再增加一行特殊的注釋來定義源文件的編碼: ~~~ # -*- coding: encoding -*- ~~~ 通過此聲明,源文件中的所有字符將被視為由 *encoding* 而不是UTF-8編碼。在 Python 庫參考手冊的 [codecs](# "codecs: Encode and decode data and streams.") 小節中,可以找到所有可能的編碼方式列表。 例如,如果你選擇的編輯器不支持UTF-8編碼的文件,而只能用其它編碼比如Windows-1252,你可以這樣寫: ~~~ # -*- coding: cp-1252 -*- currency = u"€" print ord(currency) ~~~ 并且源文件中的所有字符仍然使用Windows-1252字符集。這個特殊的編碼注釋必須位于文件的*第一或者第二* 行。 #### 2.2.4. 交互式啟動文件 當您以交互方式使用 Python 時,讓解釋器在每次啟動時執行一些標準命令會變得非常方便。你可以通過設置環境變量 [PYTHONSTARTUP](#) 為包含你的啟動命令的文件的名字。這類似于 Unix shell 的.profile功能。 這個文件只會在交互式會話時讀取,當 Python 從腳本中讀取命令時不會讀取,當/dev/tty 在命令中明確指明時也不會讀取 (盡管這種方式很像是交互方式)。它和交互式命令在相同的命名空間中執行,所以在交互式會話中,由它定義或引用的一切可以在解釋器中不受限制地使用。您還可以在此文件中更改sys.ps1和sys.ps2 的提示符。 如果您想要從當前目錄讀取額外的啟動文件,你可以在全局啟動文件中使用這樣的代碼 ifos.path.isfile('.pythonrc.py'):exec(open('.pythonrc.py').read())。如果你想要在腳本中使用啟動文件,必須要在腳本中明確地寫出: ~~~ import os filename = os.environ.get('PYTHONSTARTUP') if filename and os.path.isfile(filename): exec(open(filename).read()) ~~~ #### 2.2.5. 自定義模塊 Python 提供了兩個鉤子(方法)來本地化: sitecustomize和usercustomize。若要查看它是如何工作,你首先需要找到你的 site-packages 的目錄。啟動 Python 并運行下面的代碼: ~~~ >>> import site >>> site.getusersitepackages() '/home/user/.local/lib/python3.4/site-packages' ~~~ 現在你可以在此目錄下創建名為usercustomize.py的文件,并把任何你想要的東西放在里面。它會影響每個 Python 調用,除非啟動時用[*-s*](#)選項來禁用自動導入。 sitecustomize的工作方式相同,但通常由計算機的管理員在全局?site-packages 目錄中創建,并在usercustomize之前導入。更多詳細信息請參閱 [site](# "site: Module responsible for site-specific configuration.") 模塊的文檔。 腳注 | [[1]](#) | 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. | |-----|-----| | [[2]](#) | A problem with the GNU Readline package may prevent this. | |-----|-----|
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看