对于Python的学习者而言,在学习过程中,可能会遇到很多瓶颈或者误区,根据自己过往的经验而言,以下几点是我认为在学习过程中比较重要的:
第一,如果要用好Python这款工具,需要与其他知识相结合。
“其他知识”包括哪些?以做数据为例,不管是统计学,还是基本的算法、模型,这类基础知识,你无法通过Python进行学习,需要进行额外学习。所以,此处强调一点,把工具与知识相结合,才能做到学以致用。
第二,Python并不能解决所有问题。
以目前我的角度来看,Python唯一不能解决的问题,就是性能。此处指的是一个极端的性能,比如用Python做数据或做开发时,我们会有个共同的概念,不会把Python放到线上跑,原因就是Python的计算效率不如Java、Go等这类专门适合编程的程序。
第三,清楚并利用Python的优势。相对其他数据工作类语言,比如R、SAS等,Python处理千万级数据的这种性能比较不错。并且二次开发的效率很高,较为笼统而言,Python是用编程做开发效率最高的语言之一,此外,包括易用性、迁移性、开源、免费,Python的生态都很好。
上述所说的,其中可能有一些不是Python本身的特性,但跟Python集成相关。例如,接触过linux类系统的人都知道,苹果笔记本或者CentOS系统服务器,它们自带Python。目前一般是Python2的版本,如果你自己安装一些第三方的库或者装Python3,修改了Python默认版本,一定会报各种各样的错误,因为原有的Python2版本依赖于系统内的服务。
这里建议大家,如果你有装第三方的库等其他需求,不要改动系统默认的一些设置,只去加一些自己所需的控制即可,像你自己建一个软链接的名称是可以的。
第四,如上述所说,Python基础语法以及编程并不难。真正的难点是什么?在于将Python投入实际的应用。
这点在上文也提到过,Python是一个工具,想要更好的应用它,就需要我们学习并掌握其他知识(比如业务背景,就要掌握业务知识)。
假如我们需要做算法类的,那么算法的基本逻辑,它适合哪些数据类型,中间处理过程大概分为几个步骤,每个步骤之间如何衔接,结果出来后如何解读和应用等,这些都是在工具之外需要掌握的知识。
在实际工作中,存在这样一种情况,很多人用Python做的数据分析工作,或者是建模,更多的是简单的调包,比如直接去调一下哪个库里的哪个方法,然后把结果返回即可。
这很难在某个领域内被称为专业人士。这也是在这次分享中我不断强调要将工具的能力与业务知识相结合的原因。
以上便是我个人在学习Python时所获得的经验,希望对大家能有借鉴意义。