你應如何運行程式 互動式命令模式 開始一個互動式會話 一般是在操作系統命令行下輸入python,且不帶任何參數 系統路徑 如果沒有設置系統的PATH環境變數來包括Python的安裝路徑,可能需要機器上Python可執行文件的完整路徑來代替python 運行的位置:代碼位置 不要輸入的內容:提示符和註 ...
你應如何運行程式
互動式命令模式
開始一個互動式會話
- 一般是在操作系統命令行下輸入
python
,且不帶任何參數
系統路徑
- 如果沒有設置系統的PATH環境變數來包括Python的安裝路徑,可能需要機器上Python可執行文件的完整路徑來代替
python
運行的位置:代碼位置
不要輸入的內容:提示符和註釋
互動式的運行代碼
為什麼要使用互動式命令行模式
實驗
測試
使用註意:交互命令行模式
- 只能輸入Python命令。只能在Python互動式命令下輸入Python代碼,而不要輸入系統命令
- print語句僅在文件中才是必需的。在交互解釋器中自動列印表達式結果,不需要輸入完整的列印語句
- 留意複合語句下的提示符變化
- 在交互命令模式中,用一個空行結束複合語句
- 交互命令行模式一次運行一條語句
系統命令行和文件
- “模塊”被另一個文件所導入的文件
- “腳本”一個程式的主文件
使用命令行運行文件
不同的命令行使用方式
使用註意:命令行和文件
- 註意Windows和IDLE上的自動擴展名
- 在系統命令行模式下使用文件擴展名和目錄路徑,但是在導入時別使用它們
- 在文件中使用print語句
UNIX風格可執行腳本:#!
UNIX腳本基礎
- 它們第一行是特定的,往往以字元#!開始,其後緊跟著機器Python解釋器的路徑
- 它們往往都擁有可執行的許可權
- 文件頂端特定的一行告訴系統Python解釋器保存在哪裡
#!/usr/local/bin/python
print('...')
UNIX env查找技巧
- 可以使用env避免在腳本文件中硬編碼Python解釋器的路徑
#!/usr/bin/env python
... script goes here ...
模塊導入和重載
導入和重載的基礎知識
- 每一個以擴展名.py結尾的Python源代碼都是一個模塊
- 導入操作本質就是載入另一個文件,並給予讀取那個文件內容的許可權
- 一個模塊的內容通過其屬性被外部世界使用
- 導入操作運行文件中的代碼
- 導入的模塊會有緩存,不會每次導入都執行
模塊的巨集觀視角:屬性
- 模塊往往就是變數名的包,即命名空間,包中的變數名稱為屬性
- 無論使用的是import還是from..import,模塊文件的語句都會執行
- 可以使用dir獲取模塊內部全部變數名
使用註意:import和reload
- reload是不可傳遞的,重載一個模塊的話只會重載該模塊,而不能重載該模塊導入的任何模塊
使用exec運行模塊文件
- 每次調用exec時,它都重新運行文件,就好像我們把文件粘貼到了調用exec的地方,因此exec不要在文件修改後進行模塊重載,它忽略了常規的模塊導入邏輯
- exec的工作機制可能模塊覆蓋掉當前正在使用的變數