作者Helicoid (螺旋面)
看板Python
标题[问题] 想要扎实学习PYTHON如何开始?
时间Fri Jun 10 14:03:05 2016
我自己的背景是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://webptt.com/cn.aspx?n=bbs/Python/M.1465538587.A.F32.html
3F:→ LiloHuang: 个人认为,学很酷的语法跟熟悉各种 packages 也很重要 06/10 14:24
5F:→ LiloHuang: 我想精通 Java 的人也很少有人把虚拟机源码看完的 XD 06/10 14:31
6F:→ LiloHuang: 我想高阶语言的重点在於避免重新造轮子,站在巨人肩膀 06/10 14:32
7F:→ LiloHuang: 因此熟悉有哪些 packages 可以活用,相对来说更重要 06/10 14:34
8F:→ freeunixer: 先买几本书看,用了几个月,会一点,啥都搞不清楚,正常的 06/10 14:40
9F:→ bigpigbigpig: 基本门崁:Fluent Python,接下来K Cpython 原始码 06/10 14:47
10F:→ Helicoid: 感谢 够我看一阵子了! 06/10 23:39
11F:→ ripple0129: 有时候觉得问这些底层的原理似乎在走回头路,要搞的这 06/11 02:43
12F:→ ripple0129: 麽复杂乾脆写C效率还比较高,OO语言会使用比较重要吧 06/11 02:43
13F:→ uranusjr: 如果你这麽觉得就去写 C 吧, 没人拦你 06/11 09:50
14F:→ uranusjr: 事实是用什麽工具都需要了解原理, 否则你永远不能进步 06/11 09:51
15F:推 smallmac: 推原理重要,你不见得当下会用,但总是有派上用场的时刻 06/11 10:19
16F:推 LiloHuang: 计算机科学的知识,不仅要知其然,更要知其所以然。 06/11 10:41
17F:→ ripple0129: 我倒是觉得除非run的东西预期结果跟你所想的不同才需 06/11 12:32
18F:→ ripple0129: 要翻底层,不然真的学不完 06/11 12:32
19F:→ ripple0129: OO语言个人觉得研究架构方面的会比较实在 06/11 12:41
20F:推 Yshuan: 这跟cpmpiler相关,要去想实作,因而帮助到应用。 06/11 13:53
21F:推 Yshuan: map系和或list comprehension比较也很有趣。 06/11 13:55
22F:推 Yshuan: 你要做multi thread,就一定得看一下gil实作。我认为至少 06/11 14:00
23F:→ Yshuan: 得知道知识在哪,要用到再去细读即可。 06/11 14:00
24F:推 ripple0129: 同意,重点就是用到再去深究,时间有限啊QQ 06/11 14:13
25F:→ bigpigbigpig: webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1260555706.A.CA2.html 06/11 15:34
27F:→ bigpigbigpig: 好好比较一下上面两个 link :) 06/11 15:36
29F:→ adason: thon 概念跟写法都有提到,书不会太厚。 06/11 15:57
30F:推 smallmac: 推effective Python 有写过再看实力会再上一层 06/12 00:40
31F:推 hl4: 一直翻底层也不一定有用,看过两周还是一样忘记 06/13 22:28
32F:推 gozule: 我是用python写Uva後,对於效能和实作细节有更深的了解 06/13 23:56
33F:→ itis0423: 但我觉得 immutable 跟你的方向可能又不太一样,我自己 06/21 02:04
34F:→ itis0423: 认为那是满常见到的东西,是你真的去写个作品就会碰到的 06/21 02:04
35F:→ itis0423: 我的意思是说比起 trace code 直接想个有兴趣的东西然後 06/21 02:07
36F:→ itis0423: implement 应更快可以避免类似 immutable 这类问题答不 06/21 02:07
37F:→ itis0423: 出来的可能。当然如果你愿意且有兴趣看他的底层 code 当 06/21 02:07
38F:→ itis0423: 然是最好 06/21 02:07