[問題] 想要扎實學習PYTHON如何開始?

作者: Helicoid (螺旋麵)   2016-06-10 14:03:05
我自己的背景是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的用法
那我只會與真的學好他越行越遠
而墮落成腦中塞了一堆知識 卻不懂得活用的碼農
想問各位,有什麼推薦的學習資源
能夠解決這種問題嗎
作者: LiloHuang (十年一刻)   2016-06-10 14:21:00
可以想辦法去找到這本舊書 http://goo.gl/00Oexq底子夠好也可以直接 trace 源碼 https://goo.gl/iipwkO個人認為,學很酷的語法跟熟悉各種 packages 也很重要不想看源碼,在意執行速度可看 https://goo.gl/iKvqD5我想精通 Java 的人也很少有人把虛擬機源碼看完的 XD我想高階語言的重點在於避免重新造輪子,站在巨人肩膀因此熟悉有哪些 packages 可以活用,相對來說更重要
作者: freeunixer (御劍客)   2016-06-10 14:40:00
先買幾本書看,用了幾個月,會一點,啥都搞不清楚,正常的
作者: bigpigbigpig (To littlepig with love)   2016-06-10 14:47:00
基本門崁:Fluent Python,接下來K Cpython 原始碼
作者: Helicoid (螺旋麵)   2016-06-10 23:39:00
感謝 夠我看一陣子了!
作者: ripple0129 (perry tsai)   2016-06-11 02:43:00
有時候覺得問這些底層的原理似乎在走回頭路,要搞的這麼複雜乾脆寫C效率還比較高,OO語言會使用比較重要吧
作者: uranusjr (←這人是超級笨蛋)   2016-06-11 09:50:00
如果你這麼覺得就去寫 C 吧, 沒人攔你事實是用什麼工具都需要瞭解原理, 否則你永遠不能進步
作者: smallmac (洨麥克)   2016-06-11 10:19:00
推原理重要,你不見得當下會用,但總是有派上用場的時刻
作者: LiloHuang (十年一刻)   2016-06-11 10:41:00
計算機科學的知識,不僅要知其然,更要知其所以然。
作者: ripple0129 (perry tsai)   2016-06-11 12:32:00
我倒是覺得除非run的東西預期結果跟你所想的不同才需要翻底層,不然真的學不完OO語言個人覺得研究架構方面的會比較實在
作者: Yshuan (倚絃)   2016-06-11 13:53:00
這跟cpmpiler相關,要去想實作,因而幫助到應用。map系和或list comprehension比較也很有趣。你要做multi thread,就一定得看一下gil實作。我認為至少得知道知識在哪,要用到再去細讀即可。
作者: ripple0129 (perry tsai)   2016-06-11 14:13:00
同意,重點就是用到再去深究,時間有限啊QQ
作者: bigpigbigpig (To littlepig with love)   2016-06-11 15:34:00
www.ptt.cc/bbs/C_and_CPP/M.1260555706.A.CA2.htmlhttps://ideone.com/khBIBs好好比較一下上面兩個 link :)
作者: adason   2016-06-11 15:57:00
http://www.effectivepython.com 推薦這本書,很多重要 Python 概念跟寫法都有提到,書不會太厚。
作者: smallmac (洨麥克)   2016-06-12 00:40:00
推effective Python 有寫過再看實力會再上一層
作者: hl4 (Zec)   2016-06-13 22:28:00
一直翻底層也不一定有用,看過兩週還是一樣忘記
作者: gozule (好冷啊~~)   2016-06-13 23:56:00
我是用python寫Uva後,對於效能和實作細節有更深的了解
作者: itis0423 (co)   2016-06-21 02:04:00
但我覺得 immutable 跟你的方向可能又不太一樣,我自己認為那是滿常見到的東西,是你真的去寫個作品就會碰到的我的意思是說比起 trace code 直接想個有興趣的東西然後implement 應更快可以避免類似 immutable 這類問題答不出來的可能。當然如果你願意且有興趣看他的底層 code 當然是最好

Links booklink

Contact Us: admin [ a t ] ucptt.com