一.初聊Python
1.为什么要学习Python?
在学习Python之前,你不要担心自己没基础或“脑子笨”,我始终认为,只要你想学并为之努力,就能学好,就能用Python去做很多事情。在这个喧嚣的时代,很多技术或概念会不断兴起,我希望你能沉下心来去学习,不要急于求成,一步一个脚印。当你把某个技术学好、学精后,还是能做一些事情的,甚至能找到喜欢的工作或完成实践项目。
程序语言没有最好,只有最适合。作为一名初学者,我非常推荐你学习Python,为啥?一方面是因为它具有语法清晰、代码友好、易读性高的特点,同时Python拥有强大的第三方库函数,包括网络爬取、数据分析、可视化、人工智能等;另一方面Python既是一门解释性编程语言,又是面向对象的语言,其操作性和可移植性高,被广泛应用于数据挖掘、信息采集、人工智能、网络安全、自动化测试等领域。甚至,很多小学生、高中课程和计算机二级也都陆续增加了Python。
优势
Python最大的优势在于效率。有时候程序员或科研工作者的效率比机器的效率更重要,对于很多复杂性的功能,使用更加清晰的语言能给程序减少更多的负担,从而大大增强程序的质量,其易学性和扩展性也能让新手很快上手。虽然Python底层运行速度要比C语言慢,但Python清晰的结构能解放程序员的时间,同时很方便的和其他编程语言代码(如C语言)融合在一起。
所以,从来没有一种编程语言可以像Python这样同时扎根在这么多领域,并且Python支持跨平台操作,也支持开源,拥有强大的第三方库。尤其随着人工智能的持续火热,Python在IEEE近几年发布的最热门语言中多次排名第一,越来越多的程序爱好者、科技关注者也都开始学习Python。
学习建议
在Python学习过程中,不要觉得你的底子薄或者之前没接触过,就想放弃,很多人还没起跑就选择退赛。我想,只要沉下心来,肯下功夫,就能学好。在学习过程中,一定要去写代码、写代码、写代码,只写真正动手去实践,才能慢慢积累。
同时,编写代码过程中出错也是家常便饭,我现在写Python代码每天不出点错,心里都躁得慌,所以遇到错误,学会百度、谷歌去解决真的非常重要,它也是你学习能力的一种提升,实在找不到错误,可以去开源论坛、社区、学习群里提问,也欢迎来公众号或****找我。
接下来我给出前辈许向武老师推荐的Python程序员成长路线图,包括:基础语法–>语感训练–>课题练习–>分方向继续学习–>中级程序员–>拓展深度和广度–>高级程序员。
这里,给出我学习Python的一些历程和技巧。我最早接触Python是2013年,主要是因为研究生方向是自然语言处理,需要通过Python抓取数据并进行分析,所以就选择了它。那些年Python的资料很少,也没这么火热,但也一直坚持着,具体建议如下:
- 先把环境安装,开始编写第一个Python代码,别再去等明天了
- 学习过程中切勿看视频(书籍),喝着奶茶,就是一天,一定要动手敲代码啊
- 通常先了解Python基础语法,推荐MOOC北理工嵩天老师的视频和runoob语法,当然B站和****上也有很多免费资料,大家可以去选择
- 基础语法大致掌握后可以尝试学习Python网络爬虫,因为不论是数据分析、机器学习、渗透测试等,都会涉及到爬虫技术,只有拥有自己的语料,才能处理更多问题。 爬虫方面不用太深入,掌握两门技术即可
- Urllib、Requests、BeautifulSoup、XPath、Selenium、Scrapy、分布式爬虫
- 接下来学习Python可视化分析(词云)、微信操作、邮箱发送等功能,这些知识能有效提高你的编程兴趣
- 人工智能方向:包括机器学习(回归 | 聚类 | 分类)、深度学习(TensorFlow | Keras | Pytorch)学习,建议结合实际科研或项目进行深入研究
- 图像识别方向:包括图像处理、OpenCV、模式识别、机器学习、深度学习、目标检测学习,也建议结合实际科研或项目进行深入研究
- 其他方向学习:Web网站开发、网络安全、自动化测试、应用程序编写
学习路上没有捷径,只有坚持,但你却能通过Python不断提升你的学习兴趣,做一些喜欢的事,喜欢上这门语言。最后给出当年大三学习Python时激励自己的话:
- If not now, when? If not me, who?
- 如果不是为了自己奋斗,又是为谁;如果不是现在奋斗,什么时候开始呢?
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
Python入门基础教程
第1章 快速上手:基础知识
1.1 交互式解释器
1.2 算法是什么
1.3 数和表达式
1.4 变量
1.5 语句
1.6 获取用户输入
1.7 函数
1.8 模块
1.9 保存并执行程序
1.10 字符串
第2章 列表和元组
2.1 序列概述
2.2 通用的序列操作
2.3 列表:Python的主力
2.4 元组:不可修改的序列
第3章 使用字符串
3.1 字符串基本操作
3.2 设置字符串的格式:精简版
3.3 设置字符串的格式:完整版
3.4 字符串方法
3.5 小结
第4章 当索引行不通时
4.1 字典的用途
4.2 创建和使用字典
第5章 条件、循环及其他语句
5.1 再谈print和import
5.2 赋值魔法
5.3 代码块:缩进的乐趣
5.4 条件和条件语句
5.5 循环
…
第6章 抽象
6.2 抽象和结构
6.3 自定义函数
6.4 参数魔法
6.5 作用域…
第7章 再谈抽象
7.1 对象魔法
7.2 类
7.3 关于面向对象设计的一些思考
第8章 异常
8.1 异常是什么
8.2 让事情沿你指定的轨道出错
8.3 捕获异常
8.4 异常和函数
…
第9章 魔法方法、特性和迭代器
9.1 如果你使用的不是Python 3
9.2 构造函数
9.3 元素访问
…
第10章 开箱即用
10.1 模块
10.2 探索模块
10.3 标准库:一些深受欢迎的模块
…
第11章 文件
11.1 打开文件
11.2 文件的基本方法
11.3 迭代文件内容
第12章 图形用户界面
12.1 创建GUI示例应用程序
12.2 使用其他GUI工具包
…
第13章 数据库支持
13.1 Python数据库API
13.2 SQLite和PySQLite
…
第14章 网络编程
14.2 SocketServer及相关的类
14.3 多个连接
…
第15章 Python和Web
15.1 屏幕抓取
15.2 使用CGI创建动态网页
15.3 使用Web框架
…
第16章 测试基础
16.1 先测试再编码
16.2 测试工具
16.3 超越单元测试
…
第17章 扩展Python
17.1 鱼和熊掌兼得
17.2 简单易行的方式:Jython和IronPython
…
第18章 程序打包
第19章 趣味编程
第20章 项目1:自动添加标签
第21章 项目2:绘制图表
第22章 项目3:万能的XML
第23章 项目4:新闻汇总
第24章 项目5:虚拟茶话会
第25章 项目6:使用CGI进行远程编辑
第26章 项目7:自建公告板
第27章 项目8:使用XML-RPC共享文件
第28章 项目9:使用GUI共享文件
第29章 项目10:自制街机游戏
朋友们如果需要这份完整版的Python学习资料,微信扫描下方****官方认证二维码【免费获取
】。
总结
坚持到了这儿,恭喜你,表示你有做开发的潜力,其实我想说的上面的内容还是刚刚开始,刚开始大家不需要多么精通了解这些内容,除了Python方面的知识,每个部分掌握一点儿能进行基本开发就好,主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。