当前位置:首页 > 技能知识 > 正文

python入门教程 非常详细,python大数据挖掘系列之基础知识入门 知识整理(入门教程含源码)

技能知识 · Mar 31, 2024

本文目录一览:

python刚入门如何学习?

python入门教程如下:1、编程环境的安装与使用。比如Python的学习一般推荐软件自带的IDLE,简单好用。2、掌握输入、输入语句的使用。输入语句可以让计算机知道你通过键盘输入了什么,输出语句可以让你知道计算机执行的结果,其中“”里面的内容是原样输出,多个输出项之间用,隔开。3、掌握运算(包含计算、逻辑)表达式使用。这个主要是用+、-、*、/、()、>、<、>=、<=等符号连接起来的表示计算或者比较的式子,让计算机能做计算机或者判断,一个是计算表达式,一个是所谓的逻辑表达式。4、特别要掌握赋值表达式的使用,这个主要是等于号的理解。在计算机编程语言里,等于号一般不表示相等,而是表示赋值,也就是将等号右边的内容记入左边的名字里。5、理解并熟练使用变量,变量的字面意思就是会变化的量。其实质的作用记忆信息,通过给要记忆的内容取个名字,然后通过这个名字就可以找到记忆的内容,有点类似于数学中的字母表示数。6、选择结构,这是让计算机具有一定的选择、判断能力的基础。比如我们常见的登录,VIP就要用到选择结构,因为我们把各种情况都列举在程序里了,程序才会有各种变化。7、循环结构,这是让计算机具有重复的能力。前提是事件要具有一定的规律性,比如1,3,5,7,9,如果没有规律,也可能通过列表等方法构造规律。
python入门教程如下:1、编程环境的安装与使用。比如Python的学习一般推荐软件自带的IDLE,简单好用。2、掌握输入、输入语句的使用。输入语句可以让计算机知道你通过键盘输入了什么,输出语句可以让你知道计算机执行的结果,其中“”里面的内容是原样输出,多个输出项之间用,隔开。3、掌握运算(包含计算、逻辑)表达式使用。这个主要是用+、-、*、/、()、>、<、>=、<=等符号连接起来的表示计算或者比较的式子,让计算机能做计算机或者判断,一个是计算表达式,一个是所谓的逻辑表达式。4、特别要掌握赋值表达式的使用,这个主要是等于号的理解。在计算机编程语言里,等于号一般不表示相等,而是表示赋值,也就是将等号右边的内容记入左边的名字里。5、理解并熟练使用变量,变量的字面意思就是会变化的量。其实质的作用记忆信息,通过给要记忆的内容取个名字,然后通过这个名字就可以找到记忆的内容,有点类似于数学中的字母表示数。6、选择结构,这是让计算机具有一定的选择、判断能力的基础。比如我们常见的登录,VIP就要用到选择结构,因为我们把各种情况都列举在程序里了,程序才会有各种变化。7、循环结构,这是让计算机具有重复的能力。前提是事件要具有一定的规律性,比如1,3,5,7,9,如果没有规律,也可能通过列表等方法构造规律。
1、Python入门导学Python的特性、优点、缺点、前景以及python能做些什么?2、Python环境安装一键安装Python的编译环境,写出第一段Python代码3、理解什么是写代码与Python的基本类型Python的基本类型,包括整形、浮点型;10、8、2、16进制数的意义和转换关系;布尔类型;字符串与字符串常见运算操作4、Python中表示“组”的概念与定义了解“组”的概念,以及在Python中用来表示“组”的一些类型,包括:元组、列表、集合和字典。5、变量与运算符了解变量的意义与七种运算符,并对每一种运算符的扩展做出详细的讲解6、分支、循环、条件与枚举代码的基本逻辑结构,包括条件控制(ifelse)、循环控制(forin、while)、表达式与运算符的优先级。此外,还有Python的枚举类型以及Python编码的规范。7、包、模块、函数与变量作用域了解Python代码的组织结构核心:包、模块与函数。需要对Python代码的组织结构有一个非常清晰的认识。重点是函数,除了了解函数的基本概念外,还需要了解Python灵活的函数参数机制(默认参数、关键字参数与列表参数)。8、Python函数函数是所有语言中都具备的基本代码组织结构。函数的重要性不言而喻。而对于Python来说,函数的用法及其灵活,远比其他语言要强大很多。了解Python函数的定义、调用、序列解包、必须参数、关键字参数、默认参数等诸多内容。9、高级部分:面向对象了解面向对象的概念。包括面向对象的三大特性(继承、封装、多态)、类的基本构成元素、python的内置类属性、方法重写、运算符重载、静态方法等10、正则表达式与JSON正则表达式也是文本解析中非常重要的知识点。了解如何在Python中编写正则表达式与常见的正则表达式。此外,重点了解包括JSON对象,JSON字符串,Python类型与JSON的转换。11、Python的高级语法与用法了解Python进阶部分的高级特性,如枚举、闭包12、函数式编程:匿名函数、高阶函数、装饰器进一步了解函数式编程的lambda、mapece、filter以及装饰器13、实战:原生爬虫学习如何访问网络数据、获取与解析网络数据、爬虫的基本原理解释。并用最基础语法不使用爬虫框架的原生爬虫项目。14、Pythonic与Python杂记了解扩展Python的优秀写法,学会如何写出优质的Pythonic风格的代码。包括:如何让字典保持有序、lmbda表达式的应用等高级Python知识

Python入门教程

1、做Python开发除了熟悉语言本身之外,还需要掌握很多相关联的技能,好比打NBA,你不光要学如何投篮,还要练习力量、技战术等一整套东西。所以,一个普通PythonWeb开发工程师需要掌握的技能包括至少一个Web框架,比如:Django、Flask、Tornado,做业务系统离不开数据库的支撑,另外,还需要对Linux系统的基本操作和常用命令有所了解,因为以后你写到程序基本上都会运行在Linux平台上。2、不少新手总是纠结是学Python2还是Python3,就像手里同时有包子和馒头,不知道先吃哪个,这种纠结完全就是徒增烦恼,因为它们是同一种语言,只有少部分地方语法不兼容,尽管目前大部分公司还在用Python2,但是Python3逐渐成为主流已是不争事实,毕竟后者性能方面更占有优势,官方也在力推Python3。所以毫不犹豫地选择Python3吧,最多花一天的时间能把Python2中特有的内容搞懂。3、开发工具,工欲善其事必先利其器,做Python开发的IDE(编辑器)层出不穷,推荐Pycharm和Sublime,两个工具都可以免费使用,而且它们的学习成本非常低,网上找一篇教程看了基本就能上手,Vim、Emacs这样的远古神器还是放以后再去了解。另外,今后你所遇到的90%的问题都有可能通过Google和StackOverflow来解决。4、学习资源,网上入门资源琳琅满目,一本好书能为你指点迷津。但千万不要被标题所迷惑,一门语言不可能几分钟就能学会,你就要选择一本合适入门的教程。

python编程怎么学

这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学。不管你学习的出发点是兴趣驱动、拓展思维,还是工作需要、想要转行,都可以此文作为一个参考。在这个信息爆炸的时代,以 “Python入门” 为关键字搜索出的结果成千上万。不少小白选手难免会东一榔头西一棒槌,最终看了很多文章,却仍没跨过新手那道门槛。结合自身的学习经验以及与很多自学者的沟通了解,我们整理出一条可操作性较强的自学路线,同时收集了多种形式的 Python 优质学习资源,供诸位尚未入门或刚入门不久的同学参考。心态准备编程是一门技术,也可说是一门手艺。如同书法、绘画、乐器、雕刻等,技艺纯熟的背后肯定付出了长时间的反复练习。编程的世界浩瀚无边,所以请保持一颗敬畏的心态去学习,认真对待写下的每一行代码,甚至每一个字符。收拾好自己的心态,向着编程的世界出发。入门阶段第一步至关重要,是关系到初学者从入门到精通还是从入门到放弃。选一条合适的入门道路,并坚持下去。1.1 配置 Python 学习环境Python2 还是 Python3?很多人都在纠结入门应该学 Python2 还是 Python3。这其实不是个问题。我从没听过某个人是 Python2 程序员或 Python3 程序员。二者只是程序不兼容,思想上并无大差别,语法变动也并不多。选择任何一个入手,都没有大影响。如果你仍然无法抉择,那请选择 Python3。编辑器该如何选?我推荐 pycharm 社区版,配置简单、功能强大、使用起来省时省心,对初学者友好。并且还是完全免费的!其他可以尝试的编辑器:idle: Python 自带编辑器。如果只是想尽快写出几行代码来,这是最简便的方式。vs code: Visual Studio Code - Code Editing. Redefinedatom: A hackable text editor for the 21st CenturySublimeText: Sublime Text - Downloadnotepad++: Notepad++ Home为了让初学者集中更多的精力在写代码这件事情上,所以我们就不推荐 vim 和 Emacs 了。操作系统?Python 支持现有所有主流操作平台,不管是 windows 还是 mac 还是 linux,都能很好的运行 Python。并且后两者都默认自带 Python 环境。1.2 入门教程《Crossin的编程教室 - Python 入门》Crossin的编程教室 - Python入门自认为算得上是最浅显易懂的入门教程,很适合没有任何编程基础的人上手。74篇图文教程,从最简单的 Python 安装到基本语法、数据结构、函数、文件操作、网络请求、面向对象等逐步深入。对于如何加深对一个知识点的印象,最好的办法就是自己写代码实现一遍。如果还是不懂,那就再来一遍。所以无论你使用什么教程,都请将其中的示例代码全部在电脑上输入并运行,learning by doing!配套练习Crossin的编程教室 - 基础练习Crossin的编程教室 - 在线练习课外练习《笨办法学Python》序言 - [ 笨办法学Python ] - 看这是本很有名的 Python 书籍,但并不适合纯零基础自学。因为其中重实践但不解释,新手很容易看得一头雾水。作为学习同时的辅助倒更合适。其他推荐教程《父与子的编程之旅》 又名 《与孩子一起学编程》这也是一本非常适合零基础的 Python 入门书籍。喜欢阅读纸质书的同学可以买一本,不少在线书店有售。《简明 Python 教程》在线阅读:简明 Python 教程这是一本言简意赅的 Python 入门教程,简单直白,没有废话。适合有过其他语言基础的人快速了解 Python 语法。以上是我们推荐的学习材料,主要偏重没有太多编程基础的纯新手。其他也有一些不错的资源,可供不同需求的学习者使用:在线文字教程:廖雪峰的Python教程Python教程廖先生的教程涵盖了 Python 知识的方方面面,内容更加系统,有一定深度,有一定基础之后学习会有更多的收获。Head First PythonDive Into PythonPython 核心编程深入理解 PythonPython 标准库Python 编程指南codecademy 与 codeschool 这两个通过互联网学习 Python 的网站均备受好评。不妨去体验一下。2. 提升阶段完成入门阶段的基础学习之后,常会陷入一个瓶颈期,通过看教程很难进一步提高编程水平。这时候,需要的是练习,大量的练习。可以从书上的例程开始写,再写小程序片段,然后写完整的项目。我们收集了一些练习题和网站。可根据自己阶段,选择适合的练习去做。建议最好挑选一两个系列重点完成,而不是到处浅尝辄止。Crossin的编程教室 - 每周一坑:编程教室的公众号每周会放出一道题目供练习,并在下一周讲解。欢迎关注微信公众号,和大家一起提交解答。3. 遇到问题怎么办?学习的过程中或多或少都会有各种问题出现,不要试着逃避,真的勇士敢于直面惨淡的 BUG。第一步肯定是利用好搜索引擎,怎么用也是一门技术活:编程初学者如何使用搜索引擎第二步,求助于各大同性交友网站(大雾):4. 过来人的建议在初学编程的过程中,你会有各种各样的疑惑,你会遇到各种各样的坑。这时,前人的经验尤为重要,我们整理了一些知乎问题供参考:5. 写在最后经过第一步和第二步训练,相信一般的小程序都难不倒你了,你已经在编程的世界里已经迈出了关键的一步。接下来就可以去挑战具体的项目了,爬虫、web开发、数据分析、机器学习等等丰富的世界已经向你敞开,选择一个方向重新出发吧!记住:在编程的道路上,没有捷径。

python入门教程

python入门教程很简单,只需要掌握编程语言,就能够快速上手。
Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计,作为一门叫作ABC语言的替代品,Python提供了高效的高级数据结构,还能简单有效地面向对象编程。
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python在各个编程语言中比较适合新手学习,Python解释器易于扩展,可以使用C、C++或其他可以通过C调用的语言扩展新的功能和数据类型。
和其他语言的区别
Python的设计哲学是优雅、明确、简单,因此,Perl语言中总是有多种方法来做同一件事的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是用一种方法,最好是只有一种方法来做一件事。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。
由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言,在Python解释器内运行import this可以获得完整的列表。
以上内容参考:百度百科—Python

Python该怎么入门?

想高效的学习Python?怎么少得了一份完整的学习路线呢。下面分享一份自己收藏的Python学习路线,希望能帮到大家。
学Python一般在2万左右,4-6个月左右的时间。应该根据自己的实际需求去学校实地看一下,面授的,先好好试听之后,再选择适合自己的。只要努力学到真东西,前途自然不会差。
Python是当前全球的主流编程语言之一,基于其简洁的语法结构,可以让开发者用更少的代码完成很多复杂的效果开发。
诞生近30年来,很多我们耳熟能详的产品都是基于Python开发出来的,国内的豆瓣、知乎和果壳网都是基于Python开发的,而Youtube、Dropbox和Reddit也是诞生于Python的框架之下。
越来越多的人编程新人会选择Python作为他们学习的第一种编程语言加以学习。那么Python改怎么学呢?
第一步当然是准备基础,准备运行环境,学习基础知识。在学习基础知识的阶段,可以选择读书,自制力稍微差一点的可以选择看网课,但是一定要好好的制定学习计划,从基础知识开始一步一步的深入。
第二步,了解了一些基础知识之后,可以开始写一些简单的项目,比如小游戏小项目之类的,巩固一下自己的知识。
第三步,同时也是相对来说最重要的一步,这个时候最好要确定一下自己的主攻方向了。
一般来说,确定下自己的开发方向的话,学习过程会更加顺利。比如说你确定要做web开发,主攻Django框架的话,就要多多熟悉Django框架,各种web开发相关的内容和其他框架的相关知识也可以有所涉猎。

python入门教程

Python语言是一种典型的脚本语言,简洁,语法约束少,接近人类语言。有丰富的数据结构,例如列表、字典、集合等。具有可移植性,支持面向过程和面向对象编程,并且开源。
下载安装:从python官网下载开发和运行环境程序。本例下载python-3.3.3.amd64的安装包,并安装。
开发工具:window系统中,python有多种开发工具,比如,一、直接在cmd命令窗口执行,但此种仅能单条语句执行,不能运行完整的程序。二、python自带的集成开发环境,可通过开始——所有程序——python3.3——IDLE(Python GUI)启动。三、其他集成开发环境,如PythonWin等,有编辑和调试能力,还实现了MFC类库存的包装。
本例中,使用python自带的开发环境。File—New File,新建py文档,编写程序,保存。Run——Run module,可得到运行结果。
封装性:可以把属性、方法结合在一起,不可以直接访问对象的属性,仅能通过接口与对象发生联系。以下把方法和属性封装成了一个类。
构造器:python有3种类型的构造器,且一个类中仅可以定义一个构造器,若多个,则以最后为准。1.若不声明,则默认为一个没有任何操作的特殊的__init__方法,__init__(self),此时可通过obj = my_class()声明实例。 2.自声明__init__构造器,会覆盖默认的,且可以更新类的数据属性。3.构造器方法__new__(),用于不可变内置类型派生,不能通过实例访问属性,仅能通过类访问。
继承性:python支持多继承,且子类继承了父类的方法和属性。若子类中有和父类相同名称的方法,则子类会覆盖(Override)父类方法。父类方法依旧可以访问。
数据结构:有丰富的数据结构,例如列表、字典、集合等。本例简单介绍字典的使用。字典是键值对的无序集合,是可变对象。键在字典中是唯一的且必须是不可变对象。值可以是可变对象或不可变对象。以下例子对python字典的定义、访问、更新等的操作。
文件的读写:python系统提供open()函数建立文件对象,并打开要读写的文件。可对文件进行读,写,若不需要时,需关闭文件,释放系统资源。
其他:python的数据类型,如数字类型、字符串类型等。运算符、程序控制结构、函数、异常处理等内容。一些基本的用法,可在平时的使用中巩固加强。若熟知java,python上手会很快。

python大数据挖掘系列之基础知识入门 知识整理(入门教程含源码)

Python在大数据行业非常火爆近两年,as a pythonic,所以也得涉足下大数据分析,下面就聊聊它们。
Python数据分析与挖掘技术概述
所谓数据分析,即对已知的数据进行分析,然后提取出一些有价值的信息,比如统计平均数,标准差等信息,数据分析的数据量可能不会太大,而数据挖掘,是指对大量的数据进行分析与挖倔,得到一些未知的,有价值的信息等,比如从网站的用户和用户行为中挖掘出用户的潜在需求信息,从而对网站进行改善等。 数据分析与数据挖掘密不可分,数据挖掘是对数据分析的提升。数据挖掘技术可以帮助我们更好的发现事物之间的规律。所以我们可以利用数据挖掘技术可以帮助我们更好的发现事物之间的规律。比如发掘用户潜在需求,实现信息的个性化推送,发现疾病与病状甚至病与药物之间的规律等。
预先善其事必先利其器
我们首先聊聊数据分析的模块有哪些:
下面就说说这些模块的基础使用。
numpy模块安装与使用
安装: 下载地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 我这里下载的包是1.11.3版本,地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/f9r7rmd8/numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl 下载好后,使用pip install "numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl" 安装的numpy版本一定要是带mkl版本的,这样能够更好支持numpy
numpy简单使用
生成随机数
主要使用numpy下的random方法。
pandas
使用 pip install pandas 即可
直接上代码: 下面看看pandas输出的结果, 这一行的数字第几列,第一列的数字是行数,定位一个通过第一行,第几列来定位:
常用方法如下:
下面看看pandas对数据的统计,下面就说说每一行的信息
转置功能:把行数转换为列数,把列数转换为行数,如下所示:
通过pandas导入数据
pandas支持多种输入格式,我这里就简单罗列日常生活最常用的几种,对于更多的输入方式可以查看源码后者官网。
CSV文件
csv文件导入后显示输出的话,是按照csv文件默认的行输出的,有多少列就输出多少列,比如我有五列数据,那么它就在prinit输出结果的时候,就显示五列
excel表格
依赖于xlrd模块,请安装它。 老样子,原滋原味的输出显示excel本来的结果,只不过在每一行的开头加上了一个行数
读取SQL
依赖于PyMySQL,所以需要安装它。pandas把sql作为输入的时候,需要制定两个参数,第一个是sql语句,第二个是sql连接实例。
读取HTML
依赖于lxml模块,请安装它。 对于HTTPS的网页,依赖于BeautifulSoup4,html5lib模块。 读取HTML只会读取HTML里的表格,也就是只读取

显示的是时候是通过python的列表展示,同时添加了行与列的标识
读取txt文件
输出显示的时候同时添加了行与列的标识
scipy
安装方法是先下载whl格式文件,然后通过pip install “包名” 安装。whl包下载地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/f9r7rmd8/scipy-0.18.1-cp35-cp35m-win_amd64.whl
matplotlib 数据可视化分析
我们安装这个模块直接使用pip install即可。不需要提前下载whl后通过 pip install安装。
下面请看代码:
下面说说修改图的样式
关于图形类型,有下面几种:
关于颜色,有下面几种:
关于形状,有下面几种:
我们还可以对图稍作修改,添加一些样式,下面修改圆点图为红色的点,代码如下:
我们还可以画虚线图,代码如下所示:
还可以给图添加上标题,x,y轴的标签,代码如下所示
直方图
利用直方图能够很好的显示每一段的数据。下面使用随机数做一个直方图。
Y轴为出现的次数,X轴为这个数的值(或者是范围)
还可以指定直方图类型通过histtype参数:
图形区别语言无法描述很详细,大家可以自信尝试。
举个例子:
子图功能
什么是子图功能呢?子图就是在一个大的画板里面能够显示多张小图,每个一小图为大画板的子图。 我们知道生成一个图是使用plot功能,子图就是subplog。代码操作如下:
我们现在可以通过一堆数据来绘图,根据图能够很容易的发现异常。下面我们就通过一个csv文件来实践下,这个csv文件是某个网站的文章阅读数与评论数。
先说说这个csv的文件结构,第一列是序号,第二列是每篇文章的URL,第三列每篇文章的阅读数,第四列是每篇评论数。
我们的需求就是把评论数作为Y轴,阅读数作为X轴,所以我们需要获取第三列和第四列的数据。我们知道获取数据的方法是通过pandas的values方法来获取某一行的值,在对这一行的值做切片处理,获取下标为3(阅读数)和4(评论数)的值,但是,这里只是一行的值,我们需要是这个csv文件下的所有评论数和阅读数,那怎么办?聪明的你会说,我自定义2个列表,我遍历下这个csv文件,把阅读数和评论数分别添加到对应的列表里,这不就行了嘛。呵呵,其实有一个更快捷的方法,那么就是使用T转置方法,这样再通过values方法,就能直接获取这一评论数和阅读数了,此时在交给你matplotlib里的pylab方法来作图,那么就OK了。了解思路后,那么就写吧。
下面看看代码:

入门Python的教程

Python是当下热门的计算机编程语言,本文介绍如何安装Python和写第一个Python程序,帮忙读者入门
访问Python的官方网站,下载适合自己操作系统的Python安装包并选择最新版本。本文使用的是windows10系统安装Python3.7做演示
下载后根据安装向导安装Python,安装成功后可以在开始程序列表中找Python(不同版本显示的版本号会有不同),如下图所示。
选择其中的“Python 3.7(64 bit)”,会打开一个可以执行Python代码的命令行窗口。Python 是一种解释型语言,不需要编译,可在Python命令窗口直接执行代码,比较容易上手和掌握。
在打开的Python命令行窗口输入第一行代码(这行代码的意思就是在窗口输出“Hello, Python”),并按下回车键执行代码
print("Hello, Python")
第一行代码执行后会输出结果“Hello, Python”,这是一行很简单的Python代码
我们接下来写一个简单的程序,循环输出1到10
for i in [1,2,3,4,5,6,7,8,9,10]:
print(i)

python入门怎么学

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
学习任何一门语言都是从入门(1年左右),通过不间断练习达到熟练水准(3到5年),少数人最终能精通语言,成为执牛耳者,他们是金字塔的最顶层。虽然万事开头难,但好的开始是成功的一半,今天这篇文章就来谈谈如何开始入门 Python。只要方向对了,就不怕路远。
设定目标
当你决定入门 Python 时,需要一个清晰且短期内可实现的目标,比如通过学习找一份初级程序员工作,目标明确后,你需要了解企业对初级程序员有哪些技能要求,下面是我从拉勾网找的一个初级 Python 工程师的任职要求:
做 Python 开发除了熟悉语言本身之外,还需要掌握很多相关联的技能,好比打NBA,你不光要学如何投篮,还要练习力量、技战术等一整套东西。所以,一个普通 Python Web 开发工程师需要掌握的技能包括至少一个Web框架,比如:Django、Flask、Tornado,做业务系统离不开数据库的支撑,另外,还需要对Linux系统的基本操作和常用命令有所了解,因为以后你写到程序基本上都会运行在Linux平台上。
接下来我从这几个方面逐一介绍
Python3?
不少新手总是纠结是学 Python2 还是 Python3,就像手里同时有包子和馒头,不知道先吃哪个,这种纠结完全就是徒增烦恼,因为它们是同一种语言,只有少部分地方语法不兼容,尽管目前大部分公司还在用 Python2,但是 Python3 逐渐成为主流已是不争事实,毕竟后者性能方面更占有优势,官方也在力推Python3。所以毫不犹豫地选择 Python3 吧,最多花一天的时间能把 Python2 中特有的内容搞懂。
开发工具
工欲善其事必先利其器,做 Python 开发的 IDE(编辑器)层出不穷,我只推荐 Pycharm 和 Sublime,两个工具都可以免费使用,而且它们的学习成本非常低,网上找一篇教程看了基本就能上手,Vim、Emacs 这样的远古神器还是放以后再去了解吧。另外,今后你所遇到的 90% 的问题都有可能通过Google和StackOverflow来解决。
学习资源
网上入门资源琳琅满目,一本好书能为你指点迷津。快速了解 Python 可以看一下 Learn Python in Y minutes 这篇文章。但千万不要被标题所迷惑,一门语言不可能几分钟就能学会,看完之后应该会对Python 有个初步的印象,照着示例操作完之后,你就要选择一本合适入门的教程,《A Byte of Python》是一本值得推荐的书籍,来说说我推荐这本书的理由。
《A Byte of Python》的中文名叫《简明 Python 教程》,这本书的最新版已经是第10版,基于 Python3.5,所以不担心是否知识落后的问题,其次,这本书的厚度152页非常适合入门,涵盖了 Python 入门所有内容,相对那些五六百页的大部头书来说非常精简了,2个星期能啃完。
推荐学习《python教程》
这本书看完之后,你应该能设计出简单程序出来。再推荐一本书《Python学习手册》作为进阶学习,内容相对要更深入,适合有一定编程基础的人阅读。
做Web开发,HTML、JS、CSS 是必须有所了解的,作为前端技能,不一定要深入了解,做到能写基本的HTML代码就够了,此外,你还需要了解 HTTP 协议(推荐《图解HTTP协议》)。目前比较主流的Web框架有 Django、Flask、Tornado,各自都有各自的特点,Django 文档丰富、Flask 短小精悍、Tornado 异步并发。这里推荐使用 Flask,推荐书目《Flask Web开发:基于Python的Web应用开发实战》
Linux 推荐《快乐的 Linux 命令行》,同样是一本非常经典的入门迷你书,没有太多理论,范围也不太宽
MySQL只推荐一本《MySQL必知必会》,不到250页的小册子,实践性很强,没有什么艰深晦涩的理论堆砌,看完这本书基本入门数据库了。
最后
只看书不会进步,思考和实践才有成长,自学编程是一个比较枯燥的过程,如果没有正向反馈,学习的积极性很容易被打压下来,所以你应该积极参与到相关的技术圈子中去,尝试去解答力所能及的新手问题,向圈子中的大牛们寻求帮助,善于总结自己所学到的东西,分享给更多的人,这样才能快速进步。