毫无基础的人如何入门 Python ?
说到这个就得提醒一下,python更多的是一门工具语言,大多数人是已经掌握了至少一门编程语言,才再学的python做数据分析或者人工智能。
而如果只想靠python一门语言找工作,难度非常大。
听到这番话后再找我继续问的一般就是有一份本职工作,然后想给自己多一份技能用的,不强求要学到什么程度。
距离上次认真写已经差不多一年多了,之前已经写过不少python的回答了,这段时间也断断续续的有不少人问过我怎么学python。
这次的回答要比之前的更具有可行性,当然也更乏味,因为编程这件事情对于大多数人来说本来天生没有乐趣。
本文分为五个部分:难度依次递增,劝退程度依次增大。
第一部分:编程环境准备
零基础入门Python的话我不建议用IDE,IDE叫集成开发环境,这东西一般是专业程序员用来实战开发用的,好处很多,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。
坏处就一个,我觉得对于新手最致命的,按键太多,太麻烦了,很容易在这一步就直接放弃了。
在这里,我推荐使用jupyter notebook,别看它名字长哈,反而它实际上用起来很简单。
运行界面就这么简单,比起上面的IDE是不是要简单太多了?
jupyter notebook的优点我得再吹一波:
无需IDE,一个浏览器搞定交互式开发和直观的数据展示叙述性文本的特性让其直接变成展示文档多种类型变化,可直接转换成python,md等类型文件完全免费还支持R语言至于如何安装,可以看这里:初学 Python 需要安装哪些软件?
第二部分:基础入门
在第一部分完成之后,如果还没放弃的话,我觉得已经成功了一半了,因为据我的经验,很多很多的人倒在了编程环境的配置上,哈哈哈。
现在的你应该有了上图的那个界面,这个时候你就可以开始学习python的基础了。
这一步不能被跳过。在深入你的兴趣领域之前,学习Python语法的基础知识是必要的。但不用花很多时间,因为可以在实战中反复练习。
这里有一些很好的资源可以学习基础知识:
W3C schools:这上面有详尽的Python语法介绍,同时也包含了进阶的教程。
菜鸟编程:很多人的选择,里面的基础讲解的很详细,很适合新手入门。
比如编程的第一步,输出“hello world!”
红框里面的就是python的程序,最简单的一个。
你可以把这个代码复制粘贴过去,然后按下面的步骤运行,成功的话,下面会输出。
在完成了这一步之后,你需要手打一遍,不能再复制粘贴了,因为自己打可能会发现很多问题。
比如这个错误
看起差不多吧?但实际上正确的括号应该是英文括号,如果打成中文括号就会报错。
同理,!和!也是不一样的,很多同学就卡在了这些细节上。
我建议新手把菜鸟教程的初级教程学完,高级教程可以先不看,但是学完的标志是自己全部手打一遍,而不是复制-粘贴-运行,这没有用!
第三部分:找到你的兴趣
在进一步深入学习Python之前,问自己为什么要学习它。这是因为这将是一个漫长而痛苦的过程。没有足够的动力,你可能无法坚持到最后。
弄清楚动机的好处是可以帮助你弄清楚最终目标,以及一条学习起来轻松有趣的路线。在准备学习Python时,不用有一个确切的项目,一个你感兴趣的领域就可以。例如:
机器学习人工智能网站制作游戏类数据处理与分析硬件/传感器/机器人自动化工作脚本对于大多数人来说,我其实是推荐把数据分析当做一个方向来学的,首先python的优势就在数据处理分析与人工智能。
人工智能的从业门槛很高,自学基本上属于纯玩,性价比不高。
数据分析处理,我觉得是未来各行各业都可能碰到的问题,虽然现在有很多自动化数据处理工具,但是毕竟通用的场景并不多,而那些熟悉某个特定行业领域+数据处理能力的复合型人才就相对可能更吃香。
这里有一门知乎知学堂出品的数据处理精品课程,对于在本职工作之外想要学习一门实用技能的同学,建议免费体验一下,记住,那这个找工作很难,属于锦上添花的技能。
画图是不是很有意思,自己就可以做报表了
第四部分:进行结构化项目练习
学习完基本语法后,并且选择好自己的方向之后。就可以开始自己做项目了。具体项目是一种学习的好方法,因为它可以运用自己的知识和反复帮助你熟练基础知识。要记住,编程这东西,一旦不用,能力会急速下降。
但是,这时侯有网上也充斥着很多的资源,让人难以选择。因此,通常最好使用以及制作好的成体系的结构化的项目,可以一步步的引导你完成整个项目。网上很多资源都提供了结构化的项目,这些项目既可以让你从感兴趣的东西开始,又可以避免陷入学习困境。
下面介绍一些不错的项目:
数据科学/机器学习
Dataquest- 交互式的教学基于Python的数据科学。分析一系列有趣的数据集,从CIA文件到NBA球员数据。最终将构建复杂的算法,包括神经网络和决策树等。
Python for Data Analysis — Python数据分析的优质项目。
Scikit学习文档 — Scikit学习是主要的Python机器学习库。它具有一些出色的极其详尽的文档和教程。
CS109- 这是哈佛的课程,讲授使用Python进行数据科学。他们在线上有一些项目和全部资料 。
行动应用程式
Kivy指南 — Kivy是开源Python函式库,用于开发行动应用程序和其它采用自然用户界面的多点触控应用软件。它可以在Android,iOS,Linux,OS X和Windows执行。采用MIT授权条款,Kivy是自由并且开源的软件。
网站制作
Flask教程 — Flask是Python的流行Web框架。这是一个入门教程。
Bottle教程 — Bottle是另一个适用于Python的Web框架,同样是入门教程
如何使用Django进行网站制作 —使用Django(复杂的Python网络框架)的指南。
第五部分:自行探索Python发展路线
一旦完成了一些结构化项目,就可以独自开发项目了,以继续更好地学习Python。在这个阶段会遇到很多的困难,绝大多数的问题都可以在以下得到解答:
StackOverflow- 一个社区问答站点,人们可以在其中讨论编程问题。CSDN - 中文技术论坛Google- 每个有经验的程序员中最常用的工具。尝试解决错误时非常有用。Python文档 -在Python上查找参考资料的好地方。一旦对掌握了上述技巧,就可以开始发展自己的项目。可以从自己感兴趣的事情开始。例如,在学习编程后不久,我做的就是简单的数据分析,进行一些走势的分析等。
以下是寻找有趣项目的一些技巧:
扩展您以前处理的项目,并添加更多功能。查找要贡献的开源项目。查找他人制作的项目,然后查看是否可以扩展或改编它们。 Github 是找到这些的好地方。浏览其他人的博客文章以找到有趣的项目构想。考虑可以使您的日常生活更加轻松的工具,比如自己做一个爬虫小工具。最好启动一个小项目,然后慢慢的增加功能,直到完成一个中型甚至大型项目。
如果实在没有什么想法,下面有一些项目可以参考:
数据科学/机器学习项目
可以预测居住地的天气的算法。预测股市的工具。自动汇总新闻文章的算法。移动应用项目
跟踪你每天走多远的应用程序。
发送天气通知的应用程序。
基于位置的实时聊天。
总结:
Python是一种非常有趣且有益的语言,我认为只要找到合适的动机,任何人都可以熟练掌握它。但是要记住的是,如果你只想着凭借python去找一份工作的话,不是不行,但是很难。python这种语言更适合已经有一份工作的人,多学一个技能。
如果你能坚持看到这里,那么就去学吧,去学不被定义的python,从最简单也是最直观的数据分析学起来吧,并且试着从知乎知学堂出品的数据分析课开始吧。