看板 Python 關於我們 聯絡資訊
我自己的背景是CS碩畢業不久 學校都以C++為主流教學 會了C++之後其實多數語言就沒什麼難度了 而最近用了幾個月的python 但問題來了 不久前去面試 因為我用python回答 他就問我mutable和immutable 但我印象很模糊 所以講錯了 回來找了一下資料 才覺得這真的是基本中的基本 但是找了好多教學資源都只大概提到 所以當初就不會 因為感覺現在學程式的主流就是馬上變出一個Hello world最重要 其他技術細節 寫久了慢慢就懂了 之前去書局翻書 大概也是介紹語法啦 神奇的用法啦 什麼的 但是卻沒看到有書仔細講解python的細節 例如說記憶體怎麼開的 GC怎麼做 常用的東西是怎麼實作的 例如我知道C++ STL裡面的vector是用array實作 我就知道該用push_back會比較快 知道map和unordered_map分別用RB tree和hash實作 這樣我看到問題就能想到什麼才是好方法 但是python... 我有一種感覺 如果繼續用現在的方式學python 一直在學很酷的語法、各種package的用法 那我只會與真的學好他越行越遠 而墮落成腦中塞了一堆知識 卻不懂得活用的碼農 想問各位,有什麼推薦的學習資源 能夠解決這種問題嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.43.186.228 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1465538587.A.F32.html
LiloHuang: 可以想辦法去找到這本舊書 http://goo.gl/00Oexq 06/10 14:21
LiloHuang: 底子夠好也可以直接 trace 源碼 https://goo.gl/iipwkO 06/10 14:22
LiloHuang: 個人認為,學很酷的語法跟熟悉各種 packages 也很重要 06/10 14:24
LiloHuang: 不想看源碼,在意執行速度可看 https://goo.gl/iKvqD5 06/10 14:31
LiloHuang: 我想精通 Java 的人也很少有人把虛擬機源碼看完的 XD 06/10 14:31
LiloHuang: 我想高階語言的重點在於避免重新造輪子,站在巨人肩膀 06/10 14:32
LiloHuang: 因此熟悉有哪些 packages 可以活用,相對來說更重要 06/10 14:34
freeunixer: 先買幾本書看,用了幾個月,會一點,啥都搞不清楚,正常的 06/10 14:40
bigpigbigpig: 基本門崁:Fluent Python,接下來K Cpython 原始碼 06/10 14:47
Helicoid: 感謝 夠我看一陣子了! 06/10 23:39
ripple0129: 有時候覺得問這些底層的原理似乎在走回頭路,要搞的這 06/11 02:43
ripple0129: 麼複雜乾脆寫C效率還比較高,OO語言會使用比較重要吧 06/11 02:43
uranusjr: 如果你這麼覺得就去寫 C 吧, 沒人攔你 06/11 09:50
uranusjr: 事實是用什麼工具都需要瞭解原理, 否則你永遠不能進步 06/11 09:51
smallmac: 推原理重要,你不見得當下會用,但總是有派上用場的時刻 06/11 10:19
LiloHuang: 計算機科學的知識,不僅要知其然,更要知其所以然。 06/11 10:41
ripple0129: 我倒是覺得除非run的東西預期結果跟你所想的不同才需 06/11 12:32
ripple0129: 要翻底層,不然真的學不完 06/11 12:32
ripple0129: OO語言個人覺得研究架構方面的會比較實在 06/11 12:41
Yshuan: 這跟cpmpiler相關,要去想實作,因而幫助到應用。 06/11 13:53
Yshuan: map系和或list comprehension比較也很有趣。 06/11 13:55
Yshuan: 你要做multi thread,就一定得看一下gil實作。我認為至少 06/11 14:00
Yshuan: 得知道知識在哪,要用到再去細讀即可。 06/11 14:00
ripple0129: 同意,重點就是用到再去深究,時間有限啊QQ 06/11 14:13
bigpigbigpig: www.ptt.cc/bbs/C_and_CPP/M.1260555706.A.CA2.html 06/11 15:34
bigpigbigpig: https://ideone.com/khBIBs 06/11 15:35
bigpigbigpig: 好好比較一下上面兩個 link :) 06/11 15:36
adason: http://www.effectivepython.com 推薦這本書,很多重要 Py 06/11 15:57
adason: thon 概念跟寫法都有提到,書不會太厚。 06/11 15:57
smallmac: 推effective Python 有寫過再看實力會再上一層 06/12 00:40
hl4: 一直翻底層也不一定有用,看過兩週還是一樣忘記 06/13 22:28
gozule: 我是用python寫Uva後,對於效能和實作細節有更深的了解 06/13 23:56
itis0423: 但我覺得 immutable 跟你的方向可能又不太一樣,我自己 06/21 02:04
itis0423: 認為那是滿常見到的東西,是你真的去寫個作品就會碰到的 06/21 02:04
itis0423: 我的意思是說比起 trace code 直接想個有興趣的東西然後 06/21 02:07
itis0423: implement 應更快可以避免類似 immutable 這類問題答不 06/21 02:07
itis0423: 出來的可能。當然如果你願意且有興趣看他的底層 code 當 06/21 02:07
itis0423: 然是最好 06/21 02:07