一.初聊Python

1.为什么要学习Python?

在学习Python之前,你不要担心自己没基础或“脑子笨”,我始终认为,只要你想学并为之努力,就能学好,就能用Python去做很多事情。在这个喧嚣的时代,很多技术或概念会不断兴起,我希望你能沉下心来去学习,不要急于求成,一步一个脚印。当你把某个技术学好、学精后,还是能做一些事情的,甚至能找到喜欢的工作或完成实践项目。

程序语言没有最好,只有最适合。作为一名初学者,我非常推荐你学习Python,为啥?一方面是因为它具有语法清晰、代码友好、易读性高的特点,同时Python拥有强大的第三方库函数,包括网络爬取、数据分析、可视化、人工智能等;另一方面Python既是一门解释性编程语言,又是面向对象的语言,其操作性和可移植性高,被广泛应用于数据挖掘、信息采集、人工智能、网络安全、自动化测试等领域。甚至,很多小学生、高中课程和计算机二级也都陆续增加了Python。

零基础 python 零基础Python入门专项课程_零基础 python

2.Python优势

Python最大的优势在于效率。有时候程序员或科研工作者的效率比机器的效率更重要,对于很多复杂性的功能,使用更加清晰的语言能给程序减少更多的负担,从而大大增强程序的质量,其易学性和扩展性也能让新手很快上手。虽然Python底层运行速度要比C语言慢,但Python清晰的结构能解放程序员的时间,同时很方便的和其他编程语言代码(如C语言)融合在一起。

所以,从来没有一种编程语言可以像Python这样同时扎根在这么多领域,并且Python支持跨平台操作,也支持开源,拥有强大的第三方库。尤其随着人工智能的持续火热,Python在IEEE近几年发布的最热门语言中多次排名第一,越来越多的程序爱好者、科技关注者也都开始学习Python。

零基础 python 零基础Python入门专项课程_数据挖掘_02

3.Python学习建议

在Python学习过程中,不要觉得你的底子薄或者之前没接触过,就想放弃,很多人还没起跑就选择退赛。我想,只要沉下心来,肯下功夫,就能学好。在学习过程中,一定要去写代码、写代码、写代码,只写真正动手去实践,才能慢慢积累。

同时,编写代码过程中出错也是家常便饭,我现在写Python代码每天不出点错,心里都躁得慌,所以遇到错误,学会百度、谷歌去解决真的非常重要,它也是你学习能力的一种提升,实在找不到错误,可以去开源论坛、社区、学习群里提问。

接下来我给出前辈许向武老师推荐的Python程序员成长路线图,包括:基础语法–>语感训练–>课题练习–>分方向继续学习–>中级程序员–>拓展深度和广度–>高级程序员。

零基础 python 零基础Python入门专项课程_人工智能_03

这里,给出我学习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 小结

零基础 python 零基础Python入门专项课程_零基础 python_04

第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 关于面向对象设计的一些思考

零基础 python 零基础Python入门专项课程_人工智能_05

第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

零基础 python 零基础Python入门专项课程_人工智能_06

第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

零基础 python 零基础Python入门专项课程_数据挖掘_07

第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入门专项课程_python_08


总结

坚持到了这儿,恭喜你,表示你有做开发的潜力,其实我想说的上面的内容还是刚刚开始,刚开始大家不需要多么精通了解这些内容,除了Python方面的知识,每个部分掌握一点儿能进行基本开发就好,主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。