[编程经验] Python之hello world!

今天面向的读者是之前没有接触过Python,现在想学习的童鞋。如果你是Python老鸟,可以点左上角的叉叉了。

主要分为以下三个内容:1. Python的安装与程序运行。2. Python学习经验 3. Python书籍与网络资源推荐+作者收藏的资源

1. Python安装与如何运行程序

Python安装主要是在Windows系统中需要安装一下,如果使用Linux系统则不用安装,因为Linux系统自带Python环境。这里建议想入坑机器学习的童鞋早点放弃Windows,越早越好,转战Linux,而Linux有很多发行版本,我现在用的Ubuntu,也是推荐的系统。我接触Linux是在一年前的时候吧,因为开始总是觉得习惯了Windows,如果用Ubuntu会有很多不适应,而且之前就听说,Ubuntu很多操作都是靠输入命令的,听了我就吓死了,那时候对于敲代码,我是拒绝的!但是就是Windows,让我走了很多弯路,因为Windows很容易出一些问题,如果不了解,很难解决。如果用Ubuntu则不会出现哪些问题。

好了,为了体现新手友好型,说一下怎么在Windows 10,安装Python。首先Python有两个版本,Python 2.x和Python 3.x,开始学Python的时候不明白为什么会有2和3,觉得不都是python么,把它学了就好了。说实话大学的时候基本没有对语言这块了解多少,完全是从0开始,而且像我还没有一点天赋!

现在我想对新手说,Python就从2开始吧,当你了解了2以后,想用3的时候,很容易就转过去了。而且Python也是一门相对简单的语言。另外2和3就是Python的两个版本,基本是相同的,但也有区别!貌似说了句废话,我是想说不用纠结这个,直接在官网(https://www.python.org/downloads/)下载Python2.7.13(时间:2017-4-29),找到下载好的python-2.7.13.amd64.msi,双击打开安装。

Python的安装过程算是非常简单的,唯一需要注意的地方就是图1这里,左键Add python.exe to Path。选择下拉菜单中任意一个选项,第一个和第二个区别不大。然后Next就OK了! 如果这里没有选择,那么需要手动添加环境变量,怎么添加环境变量?百度一下吧。

图1:Path设置

这里添加Path的目的是为了让系统知道Python的位置,当需要运行Python程序的时候,系统就可以找到Python的解释器来运行程序。

这样Python就安装好了,验证python安装可以在cmd里面输入python,如果出现图2,就证明安装好了。但是我开始学的时候,不知道cmd是什么鬼。我想肯定有人和我一样。这里说下,打开cmd的简便方法,打开你想打开的文件目录,然后按住shift,鼠标右键,在此处打开命令行,就ok了。有时候需要管理 员权限,就必须要在开始菜单里搜索cmd,然后右键以管理员权限打开。

图2: 验证Python是否正确安装

然后>>>之后的就是写python代码的地方,下面的就是Python代码的输出结果。当然如果代码都这么写,那肯定要累死了。所以我们还需要一个编辑器,一般来说有3中选择。第一, python自带的shell,建议新手从这里开始。第二,文本编辑器,但别用Windows自带的文本编辑器,类似于Notepad++、Sublime等,这些编辑器是Windows自带的文本编辑器的加强版,但不是好的一点半点,如果掌握的好,非常有利于项目开发。但是不建议新手直接上手。第三,PyCharm和Spyder等集成的Python开发环境(建议有了一下基础之后上手,推荐PyCharm)。2和3里面提到的软件,安装也不难,下面简单说下Python shell如何使用。在windows开始菜单中找到python 2.7,然后点击IDLE就可以打开了。

图3: 找到IDLE

打开以后如图4,你的和我的不一样,我是设置了一下背景颜色。然后选择File-New File。

图4:新建Python程序

然后就到了这一步

然后在这里就可以写我们的程序了,如图6所示,写完之后ctrl+s保存程序,保存的地址可以是任意的,文件名中英文都可以,一般是英文。

图6:程序

然后选择Run-Run Module,快捷键是F5,这样就可以运行了。然后你就能在Python Shell中看到程序运行的结果。

图7:程序输出

2. 初识Python

Python一门功能非常强大的面向对象的高级计算机语言。它可以做很多事情,比如服务器管理,数据处理,网站开发,爬虫,游戏开发等等。近几年发展很快,据说Python程序员的工资已经排到第一位了!有图有真相!不管是不是事实,如果做机器学习,Python是必须要掌握的。

然后我们说一下Python的学习路线应该是怎么样的。首先几乎所有的语言都会有自带的数据类型(data type), 控制语句(control statement),函数(function),类(class)等,Python也不例外。所以先应该学习Python基本的数据类型以及它们都有哪些方法。然后把控制语句的语法,怎么定义和调用函数,怎么调用类,怎么实现继承和多态等等,都需要去了解,并通过实操来提高编程能力。我的code能力比较弱,这方面就不多说了。

然后我们知道Python之所以很强大,是因为他是一个开源语言,有很多很多的开发者活跃在Python社区,所以他有很多叫做module的东西,每个module都会提供很多方法来进行各种操作。如果不了解这些module,等到的需要的时候就不能去应用,所以需要去了解module里面常用的方法。Python的module分为内建module和第三方module。主要区别就在于第三方module需要单独安装,而内建的不需要。Python有一个专门用于管理module的工具叫做pip,一般的module都可以通过pip来安装,卸载,更新模块等操作。然后具体怎么coding,就靠大家自己去学习了。

3. Python学习书籍和资源推荐

这里说几本我看过的Python书,还有一些网络上的资源。当然我这里列举的基本是为了机器学习服务的,其实我看了不止这些书,有些涉及爬虫,Web开发方面的就不说了。

(1)Python基础教程(第二版.修订版)

这本书是比较基础的一本,也很全面,里面除了部分涉及网络服务器,爬虫方面的介绍以外,其他部分最好都看看。这本书写的主要是Python 2的内容。

(2). 利用Python进行数据分析 [Python for Data Analysis]

这本书也是一本推荐阅读的书,基本把Numpy,Scipy,Pandas,Matplotlib这四个主要的Python数据处理的模块做了初步的讲解。记住是初步的,涉及的内容是比较浅的,所以看完这个之后,可以把相应模块的官方文档下载下来,有空就可以看看,因为有些功能你不知道的话,就没办法用。

(3).Python 3程序开发指南(第2版 修订版)

这本书是写的是Python 3,有些内容和Python基础教程是重复的,但是这本书我比较喜欢的是他的排版,印刷要舒服一些。这本书可以作为备选,如果有时间的话就看看。

(4).EffectivePython:编写高质量Python代码的59个有效方法

这本书写了59个开发中用到的技巧,如果能熟练掌握,会受益不小。我看完这本书之后,感觉之前没注意的很多东西,都在这里面提到了。还有一本是《编写高质量代码:改善Python程序的91个建议》这本书是类似的一本,二选一即可。

5.Python编程入门(第3版)

这本书相对来说就更简单了,书比较薄,内容比较少,适合入门。这本书好像是我最开始学的时候,在图书馆借的一本,记不清了。

书籍差不多就是这些了,然后下面介绍几个网络资源。

(5). 官方文档:https://docs.python.org/2/

首先推荐当然是Python的官方文档,Python所有的知识点都在这里了,内容比较全面,就是看起来比较费劲。如果英语还可以的话,推荐有时间的时候看看,毕竟这个是权威。

(6).廖雪峰的官方网:http://www.liaoxuefeng.com/

这个是廖老师的的官方网站,里面的内容总结的特别好。将Python的基本概念都提到了,每一小节内容不多,所以学习起来也比较快。

下面是今天的重点啦,这里分享一下我学习的过程中收集到的电子书还有视频教程。里面的电子书和视频挺多的,有些是我看过的,有些也没有看,大家按需下载就OK了。

链接: https://pan.baidu.com/s/1geYaB67 密码: 2pns

Python入门就介绍到这里,虽然不全面也不系统,算是我的一些建议吧,希望能帮到需要的童鞋。

本文分享自微信公众号 - 机器学习和数学(ML_And_Maths)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏13blog.site

文件上传那些事儿:多图上传、大文件上传、断点续传功能实现与分析

看了不少的教程,在系统整合搭建的过程中一般写到文件上传这一节时,基本上实现一个文件上传功能就不再继续拓展,而是就此截止转而去讲解其他的内容了,因为企业级应用开发...

22920
来自专栏非典型技术宅

iOS传感器:App前后台切换后,获取敏感信息使用touch ID进行校验1. 指纹识别传感器的用法介绍2. Touch ID指纹识别的代码实现3. 判断系统版本号的几种方法4. App从后台到前台,

21270
来自专栏喵了个咪的博客空间

phalcon-进阶篇1(过滤与清理)

#phalcon-进阶篇1(过滤与清理)# ? 本教程基于phalcon2.0.9版本 ##前言## 先在这里感谢各位phalcon技术爱好者,我们提供这样一个...

32580
来自专栏蓝天

10亿用户,同时在线用户1亿数据服务技术方案

具有唯一性,由用户在注册时由用户自己确定,如各类邮箱用户名; 或者由系统分配,如QQ号。

12720
来自专栏杨建荣的学习笔记

巧用xmltype解析clob数据(r2笔记33天)

对于clob的数据,很多场合中都使用xml的格式,但是对于数据的查取和处理总是感觉力不从心。在条件允许的情况下,如果能够巧妙的使用xmltype来做数据处理,无...

36770
来自专栏IT派

厉害!黑客怎样用谷歌查找信息?

IT派 - {技术青年圈} 持续关注互联网、区块链、人工智能领域 黑客去入侵一个网站的时候往往需要搜集它的很多信息,这其中包括利用网站漏洞,社工,还有就是用...

39960
来自专栏Bingo的深度学习杂货店

synchronized锁处理spring事务高并发请求

最近在写一个活动报名功能,会有多个人同时报名某个活动,要求当参与人数超过限制人数的时候,就报出人数已满的信息。

96710
来自专栏云技术

随机IOPS全面超越,腾讯云CSG 存储网关高性能缓存技术详解

CSG存储网关是基于腾讯云高性能、高可靠性的对象存储系统COS对外提供iSCSI、NFS和CIFS/SMB访问协议。作为一种混合云方案, 帮助用户不用修改本地应...

710170
来自专栏java架构师

设计模式学习笔记之中介者模式

最近在学习设计模式,把学习过程中的点滴思考记录下来,其中也有一些从网上看到的精彩解析。 先从中介者模式开始记录。 精髓:将一堆对象(同事类)之间的复杂交互,封装...

412100
来自专栏Golang语言社区

行为树behavior3go介绍

在游戏开发中,以状态切换来驱动其执行流程的系统,引入行为树可以大大简化编码和配置。

26740

扫码关注云+社区

领取腾讯云代金券