Re: [問題] 新手學習Python的開發環境

看板Python作者 (康斯坦汀《驅魔神探》)時間3年前 (2020/06/02 10:12), 3年前編輯推噓10(10031)
留言41則, 13人參與, 3年前最新討論串3/3 (看更多)
另外再補充一些我自己的筆記, 提供參考: 1. Python IDLE 的套件管理程式是 pip.exe, 安裝 IDLE 後可以在命令提示字元輸入 pip --version, 如果出現找不到 pip, 安裝時要勾 PATH, 沒勾可以自己加. 2. 在 Python 裡是透過 import 來匯入套件, 內建的函式像是 print(), 不需要套件. 3. 套件其實就是函式庫, 透過 pip 安裝的套件是由 PiPy https://pypi.org/ 來的. 4. 安裝套件的方式是在命令列輸入 pip install <套件名稱>, 例如: pip install virtualenvwrapper 5. 但有時你會看到 conda install 的指令. conda 是另一個套件管理程式. 它安裝的來源不是同一個. 安裝後套件的目錄也不是同一個. 6. 有些套件在安裝 IDLE 後就裝好了, 只是沒有匯入. 像是 os 套件, sys 套件等. 7. 套件和模組有時是指同一個東西. 它們只差一個 __init__ 檔案外大致相同. 8. import sys 套件後有很多資訊可以參考, 例如: 分別輸入: (a) sys.executable -> 可以看到目前 python 直譯器的目錄位置 (b) sys.path -> 可以看到套件匯入時的順序. (c) sys.path.append('路徑名') -> 可以暫時新增要匯入的模組的檔案路徑 (d) sys.builtin_module_names -> 可以查看 Python 所有內建的模組名稱 9. import os 套件後也些資訊可以參考, 例如: (a) os.getcwd() -> 可以知道目前的工作目錄, 如果讀/寫檔案會在這個目錄 10. 而 pip 也是可以 import pip, 也有些資訊可以參考, 例如: (a) pip.__path__ -> 可以看到 pip 目前放在哪個目錄, 套件的目錄名稱通常為 /site-packages 通常在那個 pip 的上一層 11. 另外兩個常用指令 dir 和 help 可以找到很多基本資訊. 像是: (a) help('modules') -> 可以查看本機所有可用的模組 (b) dir(__builtins__) -> 可以查看內建函數和物件 12. 同一台電腦裡有時候會有多個 python 的執行檔, 特別是用虛擬環境時. 13. Python 的虛擬環境其實只是一個資料夾, 它不是虛擬機器的意思. 14. 透過建立 Python 的虛擬環境, 電腦上會有多個 python 的直譯程式. 彼此是獨立互不關聯的. 15. 由於 python有v2和v3兩個版本, 同時每個套件又有n個不同的版本, 有些套件 和套件間的相依套件/模組會互相衝突.使用虛擬環境 (意思是建一個資料夾 放可執行 Python 的環境) 可以將不同版本的python和套件庫獨立出來. 16. 虛擬環境的產生也有很多不同的方式. 有用 PyCharm IDE 產生的, 用 conda 產生的, 用 pip venv, virtualenv 或用 virtualenvwrapper等很多種. 17. Python 程式是用縮排而非括號來區隔程式區塊, 縮排要用空白而非tab, 使用 tab 縮排會產生執行上的問題. 在使用編輯器時要記得把 tab 轉成空白. 18. 有些程式碼撰寫規範, 像是 PEP8 有空閒的話可以參考看看.我是沒看過.XD 19. Python 的 IDEL 可以在 config-extensions.def 檔案裡外掛一些功能. 像是 ClearWindows.py 可以在 IDLE 的功能表新增清理畫面的功能. 20. Python 的 IDLE 也有內建的除錯功能, 也可以匯入 import pdb 來除錯. 21. Python 的 List(列表), Tuple(元組) 類似其他語言的陣列(Array), 但 Python 在 3.3 開始還有另一個內建的 array(陣列) 型別 (import array) 以及 NumPy 套件的 np.array 型別, 剛開始學 Python 時很容易弄混. 22. Python 直譯器是由 C 寫成的, 而 CPython 是官方的實作. 也有其他的實作. 以上提供關鍵字, 在開始學習 Python 常碰到的問題.細節可以再在網上或書上查到. ※ 引述《jayzhuang (Jay)》之銘言: : 各位大大您好~! : 在下因為換新工作,新公司未來要我學習python相關的東西 : 但小弟是個新手,所以打算買本書來看看。 : 有看到網友與一些人推薦新手可以買看看這本書: : https://reurl.cc/MvD0lL : 或是另一本書: : https://reurl.cc/yZXr32 : 不過我因為以前寫C#的,所以習慣都用Visual Studio(2015、2019) : 在前公司也是都用VS,目前新公司也都是用VS開發。 : 我自己有實際在我的電腦用VS寫過一點點python的語法 : (單純的命令提示字元顯示那種,但還沒開始很深......) : 想詢問看看這兩本書的內容,都可用VS環境學習嗎? : 或是有人有推薦適合新手的python書,可用VS開發學習? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.104.155 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1591063968.A.E0D.html

06/02 10:17, 3年前 , 1F
推薦這篇文章
06/02 10:17, 1F
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/02/2020 10:47:00

06/02 11:03, 3年前 , 2F
1. 2. 3. ...段落之間可插入空白行 會更容易閱讀
06/02 11:03, 2F
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/02/2020 12:31:46 ※ 編輯: alvinlin (114.137.104.155 臺灣), 06/02/2020 12:32:39

06/02 12:33, 3年前 , 3F
感謝建議^^
06/02 12:33, 3F

06/02 12:40, 3年前 , 4F
感謝你的分享 : )
06/02 12:40, 4F

06/02 15:33, 3年前 , 5F
推薦這篇
06/02 15:33, 5F

06/02 19:34, 3年前 , 6F
很詳細
06/02 19:34, 6F

06/02 20:28, 3年前 , 7F
原來不能 TAB!我練習都用 TAB
06/02 20:28, 7F

06/02 21:01, 3年前 , 8F
很多ide會自動把tab轉成空格了 懶人必備
06/02 21:01, 8F

06/02 23:06, 3年前 , 9F
感謝大大的分享
06/02 23:06, 9F

06/03 01:25, 3年前 , 10F
謝謝大大~給推!
06/03 01:25, 10F

06/03 07:03, 3年前 , 11F
vim和pycharm都會嗎?
06/03 07:03, 11F

06/03 12:41, 3年前 , 12F
像SumblineText預設是Tab沒改常會有問題。VIM我比較少用
06/03 12:41, 12F

06/03 12:41, 3年前 , 13F
不清楚。PyCharm是設計給Python的應該預設就改了
06/03 12:41, 13F

06/03 12:45, 3年前 , 14F
SumLimeText: "translate_tabs_to_spaces": true
06/03 12:45, 14F

06/03 12:48, 3年前 , 15F

06/03 13:00, 3年前 , 16F
我之前用notepad++, tab也沒改
06/03 13:00, 16F

06/03 15:09, 3年前 , 17F
不能tab?我寫兩年200多小程式都用tab不論在win10還是l
06/03 15:09, 17F

06/03 15:09, 3年前 , 18F
inux環境,直接用cmd執行都沒出錯過
06/03 15:09, 18F

06/03 15:11, 3年前 , 19F
沒在用什麼ide 一律都是用cmd類的執行
06/03 15:11, 19F

06/03 15:12, 3年前 , 20F
網路刷題不論是atcoder, codeforce, leetcode 通通都
06/03 15:12, 20F

06/03 15:12, 3年前 , 21F
用tab提交,沒出錯過
06/03 15:12, 21F

06/03 15:37, 3年前 , 22F

06/03 15:38, 3年前 , 23F
Python 3 disallows mixing the use of tabs and spaces
06/03 15:38, 23F

06/03 15:39, 3年前 , 24F
請參考下列連結說明
06/03 15:39, 24F

06/03 15:40, 3年前 , 25F

06/03 15:42, 3年前 , 26F
簡單說:建議用space而非tab。已經都用tab是不會有問題
06/03 15:42, 26F

06/03 15:42, 3年前 , 27F
。但混用兩者會出錯。我的說明裡只是簡化了。
06/03 15:42, 27F
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/03/2020 16:10:50

06/03 19:47, 3年前 , 28F
這其實只是因為為了讓程式碼無論在什麼地方看起來都有一
06/03 19:47, 28F

06/03 19:47, 3年前 , 29F
致的縮排。因為空白一定是空白一格,但tab在不同地方不
06/03 19:47, 29F

06/03 19:47, 3年前 , 30F
一定是一樣。有時候是4格,有時候是8格。混用兩個有時候
06/03 19:47, 30F

06/03 19:47, 3年前 , 31F
看起來一樣,有時候又不一樣。如此而已。我自己是剛學起
06/03 19:47, 31F

06/03 19:47, 3年前 , 32F
步不久就一直碰到問題,後來在書上看到才知道原來
06/03 19:47, 32F

06/03 21:21, 3年前 , 33F
我有時也會遇到tab和空格的問題 主要是notepad++的關係
06/03 21:21, 33F

06/03 21:23, 3年前 , 34F
如果按enter換新的一行 notepad++好像會直接帶tab
06/03 21:23, 34F

06/03 21:24, 3年前 , 35F
所以直接執行就會出錯
06/03 21:24, 35F

06/03 21:24, 3年前 , 36F
也或許可以調整設定 我沒有深入研究
06/03 21:24, 36F

06/03 23:56, 3年前 , 37F
樓上,notepad++ 從 7.7 版開始 python 縮排也預設使用
06/03 23:56, 37F

06/03 23:56, 3年前 , 38F
空白了。可以更新試試。
06/03 23:56, 38F

06/04 05:35, 3年前 , 39F
感謝樓上 我會再試試的
06/04 05:35, 39F

06/08 23:07, 3年前 , 40F
感謝樓主
06/08 23:07, 40F

06/09 23:24, 3年前 , 41F
^^不客氣。
06/09 23:24, 41F
文章代碼(AID): #1UrRMWuD (Python)
文章代碼(AID): #1UrRMWuD (Python)