作者:Ned Batchelder
翻译:老齐
与本文相关的图书推荐:《Python大学实用教程》
等等,别急着回答,这个问题并不重要。
初学者喜欢问这个问题,此时,他们其实是被面前的挑战吓倒了。也许他们希望有一个有用的答案,但似乎大多数答案只是一个起点,因为他们对自己的进步感觉不好。
每个人的学习都不同,他们采用的学习方式、使用的学习资源都不同。假设你问这个问题,有人回答“一个月”?你会因为已经工作六个星期而对自己感到难过吗?假设他们说“十年”,现在你觉得如何呢?
这个问题在某种程度上甚至没有意义。我们所说的"学会"是什么意思?如果你能在Python中写一个数字猜谜游戏,算学会Python了吗?“学会”是指初步了解,还是牢固记忆并熟练应用?是不是一定存在两种状态?还是即使“学会”,依然要借助官方文档解决问题?“学会”,不是用二进制数字表示的非此即彼两种状态。没有那么一个时刻,此前你对Python一无所知,此后就恍然大悟。
甚至于,我们对“Python”包含什么都莫衷一致,是基本语法,还是能够编写元类、描述符和带有参数的装饰器?只是语言还是标准库?具体是标准库中200 多个模块中的哪些个?常用的第三方库呢?是否还包括在Python中编写大型(10k行)程序所需的技能?Python是一个庞大而多样的生态系统,你会不断发现它的新发展。
Python是一个开发系统,它不断变化!它不是静止不动的,因此永远不会结束“学习Python”。我已经使用Python超过20年了,并且至少一半时间都在为它贡献源码,我以为我很了解Python,但是,后来又有开发者向其中增加了“异步”。这些天,我将不得不弄清楚它。至今,我也是还要不间断学习。
由于Python已经应用在许多不同的领域中,你要学习的东西可能与其他人完全不同。如今,很多人学习Python的目的是要进入数据科学。我不做数据科学。在数据科学中,有更多我不知道的事情,比如:TensorFlow,Scikit-Learn,Numpy,Keras,PyTorch,SciPy,Pandas,Matplotlib,Theano,NLTK等,这些数据科学中会用到的库,我也只能从一些人的博客上摘抄下名字来,对它们我一无所知。那么,我应该如何比较我的学习与数据科学家的学习呢?
最后,我对初学者的建议是:不要把你的学习跟别人的学习进行比较。每个人学习的方式不同,使用的学习资料也不同,学习的速度也不同。每个人对“学习”和“Python”有不同的定义。了解你自己的目标和学习风格,使用适合您的学习资料。学习,应该是以自己的方式进行。希望你能做到。
原文链接:https://nedbatchelder.com/blog/202003/how_long_did_it_take_you_to_learn_python.html