注:本人编译环境是win10 + python 3.7(IDE是JetBrains家的pycharm)
一、Python简介
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
-
Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
-
Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
-
Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
-
Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
二、为什么要学习Python
先上一张TIOBE图,TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度)。由图可知截止2020年2月Python语言流行度位列第三,且由于Python语言的易用性和高扩展性成为数据科学家最受欢迎的语言。
简要总结下Python学习的必要性:
-
多类应用场景(数据科学、机器学习、网站开发)
-
易用性(解释性、面向对象)
-
社区成长(各类库和框架、高扩展性)
-
前景(发展、薪水)
三、Python 学习路线
尽管Python作为易用性非常强的一门编程语言,但仅仅意味着入门比较容易,要想学习好Python语言还得有一些系统的学习路线。本文拟出了自己的学习路线,如下思维导图。
首先应先具备基础的数据结构知识,了解什么是对象,python的内建函数、条件控制与循环语句、函数和面向对象、字符串正则处理、文件处理和异常处理;
爬虫为可选,应先具备前端和后端基础知识及通信原理,此后可以结合requests和Bs4库进行简单网页的爬取,selenium和applium分别用机器模拟网页浏览及app浏览,scrapy库则帮我们进行高吞吐的分布式爬虫,pyquery及pymongo等等帮我们进行数据的存取及查询;
在对python基础有所了解后就可以进行数据分析及可视化的实践,其中numpy、pandas分别帮我们进行数组计算及数据框处理,matplotlib、pyecharts等等可以进行常规及地理图形绘制;
随着对数据认识的进一步加深,我们可以用python非常容易的实现人工智能算法,例如sklearn可以帮们实现文本图片分类、回归、聚类和降维操作等,keras、tensorflow、pytorch等使用神经网络(模拟人类大脑神经元作用)操作实现深度学习,而深度学习是机器学习领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标及人工智能。
最后一块是大数据内容,需要具备java(or scala)、sql和linux的基础知识。当前大数据框架可以参考上一篇所介绍,其中相当一部分框架组件可以通过Python接口进行使用,例如Hadoop中mapreduce可以通过Pyton语言实现,Spark及flink同样支持Python接口。
四、友情链接
-
Anaconda发行版链接(清华镜像):https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
-
pycharm官方下载链接:https://www.jetbrains.com/pycharm/?fromMenu
-
个人学习笔记连接(github):https://github.com/PhenixZhang/
详细Python教程请参考: