看板 Python 關於我們 聯絡資訊
另外再補充一些我自己的筆記, 提供參考: 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
cuteSquirrel: 推薦這篇文章 06/02 10:17
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/02/2020 10:47:00
cuteSquirrel: 1. 2. 3. ...段落之間可插入空白行 會更容易閱讀 06/02 11:03
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/02/2020 12:31:46 ※ 編輯: alvinlin (114.137.104.155 臺灣), 06/02/2020 12:32:39
alvinlin: 感謝建議^^ 06/02 12:33
cuteSquirrel: 感謝你的分享 : ) 06/02 12:40
summerleaves: 推薦這篇 06/02 15:33
mikapauli: 很詳細 06/02 19:34
s9209122222: 原來不能 TAB!我練習都用 TAB 06/02 20:28
OrzOGC: 很多ide會自動把tab轉成空格了 懶人必備 06/02 21:01
windoors: 感謝大大的分享 06/02 23:06
jayzhuang: 謝謝大大~給推! 06/03 01:25
s9209122222: vim和pycharm都會嗎? 06/03 07:03
alvinlin: 像SumblineText預設是Tab沒改常會有問題。VIM我比較少用 06/03 12:41
alvinlin: 不清楚。PyCharm是設計給Python的應該預設就改了 06/03 12:41
alvinlin: SumLimeText: "translate_tabs_to_spaces": true 06/03 12:45
alvinlin: https://tinyurl.com/ya4v77lg 06/03 12:48
pmove: 我之前用notepad++, tab也沒改 06/03 13:00
refusekkk: 不能tab?我寫兩年200多小程式都用tab不論在win10還是l 06/03 15:09
refusekkk: inux環境,直接用cmd執行都沒出錯過 06/03 15:09
refusekkk: 沒在用什麼ide 一律都是用cmd類的執行 06/03 15:11
refusekkk: 網路刷題不論是atcoder, codeforce, leetcode 通通都 06/03 15:12
refusekkk: 用tab提交,沒出錯過 06/03 15:12
alvinlin: Python 3 disallows mixing the use of tabs and spaces 06/03 15:38
alvinlin: 請參考下列連結說明 06/03 15:39
alvinlin: https://tinyurl.com/nbvekap 06/03 15:40
alvinlin: 簡單說:建議用space而非tab。已經都用tab是不會有問題 06/03 15:42
alvinlin: 。但混用兩者會出錯。我的說明裡只是簡化了。 06/03 15:42
※ 編輯: alvinlin (114.137.104.155 臺灣), 06/03/2020 16:10:50
alvinlin: 這其實只是因為為了讓程式碼無論在什麼地方看起來都有一 06/03 19:47
alvinlin: 致的縮排。因為空白一定是空白一格,但tab在不同地方不 06/03 19:47
alvinlin: 一定是一樣。有時候是4格,有時候是8格。混用兩個有時候 06/03 19:47
alvinlin: 看起來一樣,有時候又不一樣。如此而已。我自己是剛學起 06/03 19:47
alvinlin: 步不久就一直碰到問題,後來在書上看到才知道原來 06/03 19:47
olycats: 我有時也會遇到tab和空格的問題 主要是notepad++的關係 06/03 21:21
olycats: 如果按enter換新的一行 notepad++好像會直接帶tab 06/03 21:23
olycats: 所以直接執行就會出錯 06/03 21:24
olycats: 也或許可以調整設定 我沒有深入研究 06/03 21:24
stucode: 樓上,notepad++ 從 7.7 版開始 python 縮排也預設使用 06/03 23:56
stucode: 空白了。可以更新試試。 06/03 23:56
olycats: 感謝樓上 我會再試試的 06/04 05:35
only0307: 感謝樓主 06/08 23:07
alvinlin: ^^不客氣。 06/09 23:24
salmon12706: 工研院人工智慧課程推薦https://reurl.cc/4RDRaK 06/29 16:15