在正式开始之前,还有一些知识需要普及。
上一篇我们讲了如何如何开始编写第一行Python程序,看起来是不是还挺简单的?确实,Python上手非常非常容易,但是世上哪有那么便宜的事情,入门容易的事情往往精通难。
开源软件&第三方库/包
知识是学不完的,学得越多就越觉得自己很无知。看起来很哲学是不是?在Python的学习过程中,很快你就能深刻地体会到这句话的涵义(其实如果换成R语言也是类似的)。
你可能没听说过开源软件的概念,但是你应该或多或少地听过一些程序猿大佬表示要用键盘改变世界之类的言论,很多时候我都觉得开源软件可能就是程序猿们想要改变世界的一种手段吧。简单来说,开源软件就是一种公开免费的软件,任何人都可以使用,也可以对软件进行改进、扩展和优化。这也就意味着,一个开源软件就会拥有浩如烟海的开发者。想象一下这个画面:每时每刻,在世界的各个角落,都有不同的人为开源软件做着贡献,诸多并不认识的人在网络上用键盘进行着知识的共享和传递,是不是也有一种大片的既视感呢?
Python作为一个流行读非常高的开源软件,有无数卓越的开发者贡献了无数的第三方库/包供我们免费使用,如果有兴趣的话可以登录pipy.org进行查看
由于第三方库/包的数量实在是太太太多了,并且时刻都有新的库出现,时刻都有更新和迭代,这看起来对我们的学习造成了很大的困难——要学的内容实在太多了!
其实大家完全不必担心,正式因为知识是学不完,所以我们只需要学习一些基础必要的知识,其余的内容等着用的时候再学就好了。我们现在学习软件多数也不是为了闭卷考试,很多内容其实根本没有必要学会&记住,大概知道有这么个东西,用到的时候翻翻文档或者百度一下,能解决问题就可以了嘛。
Anaconda?Jupyter Notebook?Spyder?都是哪跟哪?
上一节之后可能不少小伙伴已经凌乱了,不是学习Python么?为啥莫名其妙的装了一大堆软件?怕不是遇到了江湖骗子?
并没有,之所以没有在第一节没有讲理由直接教了如何上手做是因为怕大家看完直接就放弃治疗了。此外,对我们这种非专业编程人员的小白级别的玩家来说,很多细节性的东西并不需要知道太多,当作黑盒就好了。就像我用微信发语音,我只需要知道怎么能发就行了,并不需要知道微信是如何实现这一功能的对吧。
接下来来回答一些大家脑海中的小问号吧:
1.Anaconda和Python是什么关系?
如果你在安装Anaconda的时候留意看了一眼,百度百科或者啥的对Anaconda的介绍是说Anaconda指的是一个“用于科学计算的Python发行版本”。是不是有一种看起来每个字都认识但是连在一起就云里雾里的感觉?简单的理解一下,Anaconda就是一个免费的Python的包的管理器。上面介绍了,Python有很多很多第三方库/包供我们使用,但是那么多东西,平时管理起来和用起来都很麻烦嘛,于是就有了Anaconda这种非常便利的小工具,类似各种软件管家之类的东西轻松一键安装常用软件,Anconda也帮我自动安装了日常常用的第三方库,有了Anaconda的协助,小白上手写代码就变得容易了很多。
2.Jupyter Notebook/Spyder和Anaconda又是什么关系?
Jupyter Notebook/Spyder之类的东西又是什么样的存在呢?官方一点的说法分别是交互式笔记和集成开发环境。看起来还是一样的每个字都认识连起来就不懂了。简单粗暴地理解一下:Python本身太丑太难用了,整一个好看好使的。
如果直接在上这么一个大黑框,就算是资深的专业程序员恐怕也搞不定,所以需要一个看起来比较好看好用的界面嘛。
更详细地说一下呢,Anaconda中的这些个东西都是类似的,JupyterNotebook比较推荐小白上手和做数据分析使用,比较复杂的程序推荐用Spyder实现,至于其他的几个?emmmmmm 我还没试过。
3.为什么我的Jupyter Notebook和截图里的长得不一样?
因为我改了主题,并且懒得改回来了。对,就是这么简单粗暴。
想改成黑色主题显得高端大气上档次?哈哈,下面有个教程链接,照着改吧~
https://blog.csdn.net/qq_41621362/article/details/89894126
(颜值也是很重要的,白花花的屏看久了都快瞎了)
学什么好呢
刚刚介绍了一些关于开源软件和第三方库的基本信息,给大家铺垫了一下学是肯定学不完的这件事。
然而,就算学不完,也总得有个开始吧,我们从哪里开始学比较好呢?给个小建议:先想想看自己学这个未来可能用于做什么:
学编程的第一个出路无非就是去做专业的软件开发,如果是想转行去做软件开发的话,不妨在开始学习Python之前想想自己的职业生涯规划到底是什么?如果真的想好了要去转行做程序员的话不太建议从Python入门,还是从C语言、JAVA之类的入手,打好坚实的计算机程序基础知识的基础,至少从求职上来说,JAVA还是比Python要容易些的。
可能多数看这个教程的小伙伴都不是第一种情况,第二种情况则是:实际上当前的工作中并没有需要编程来解决的问题,但是自己又觉得有些工作很麻烦,想掌握一些软件技术,提高工作效率,从无趣的任务种释放出来。这种情况的小伙伴可以先想想自己在日常的工作中处理什么样的任务比较多,是Excel填表算数比较多还是重复写稿写文案比较多,或者是没完没了地回复信息比较多。对于这种情况的小伙伴,从办公自动化作为学习的入门比较合适。
第三种情况的小伙伴就是出于各种各样的理由,想要转行数据分析。比如很多做基础人力资源工作的小伙伴都会在职业提升上有所迷茫(八成小伙伴迷茫的原因都是做基础人力工作薪资太低了而想要把人力的工作做到卓越又很难),再加上人力数据分析这几年看起来比较火(只是看起来而已)就想学习学习,以提升自己的竞争力。这种情况的小伙伴建议从Python的数据分析上手,外加一些办公自动化的内容。不过同时也需要清晰地认识到,不是学了Python就能做人力资源分析师的,要学的东西很多,Python可能只是很小很小的一个部分。