如何学习Python

Python是什么


Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。(来自百科)

Python的由来


Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。牛逼的人物就是牛,这跟当前的汤普森创建Unix有着异曲同工之妙;当年的高德纳老爷子,为了写文章舒服就发明TeX排版。

ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的。Guido决心在Python中避免这一错误(的确如此,Python与其它的语言如C、C++和Java结合的非常好)。同时,他还想实现在ABC中闪现过但未曾实现的东西。

就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

介绍完Python的历史及由来后,接下来我们介绍一下为什么要学习Python。

为什么要学习


Python最近几年发展的非常火,我们看一下近三年的编程语言排行榜,看一下Python的排行就知道了。

近几年的流行度


首先看2015年3月份的排行情况:

这是2015年3月份的排行,位于第8名的位置。接下来看看2016年3月份排行榜Python的位置排名:

2016年3月份已经上升到了第5名。接下来继续看看2017年5月份发布的编程语言排行榜中Python的排名:

截止到2017年5月份,Python的排名已经跃居第4名了。

入门相对简单


Python语言相对其他语言来说相对简单些。比如同样写一个“Hello,World”这样的一个入门程序,我们对比一下C、Java及Python分别是如何写的。

首先看C的写法:

#include <stdio.h> int main(int argc, char *argv[]) { printf("Hello World\n"); return 0; }

对上面的C代码编译及运行:

(mypy) [lavenliu@vpnserver ~]$ gcc -o hello hello.c (mypy) [lavenliu@vpnserver ~]$ ./hello Hello World

再看Java的写法:

public class Hello { public static void main(String[] args) { System.out.println("Hello World"); } }

对上面的Java代码进行编译并运行:

(mypy) [lavenliu@vpnserver ~]$ javac Hello.java (mypy) [lavenliu@vpnserver ~]$ java Hello Hello World

接下来我们看看Python的“Hello World”的正确打开姿势,在命令行中直接输入python即可进入Python的交互式解释界面:

(mypy) [lavenliu@vpnserver ~]$ python Python 3.5.2 (default, Jun 16 2017, 08:22:30) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> print('Hello World') # 仅此一行就搞定了“Hello World” Hello World

由此看来,是不是很简单?

DevOps的发展


近几年DevOps的发展,促使开发、运维及测试等部门的紧密结合(DevOps的概念源于亚马逊及Google等这样的超大型互联网公司,这些公司部门员工需要紧密协作,同时又不希望出现部门割据。)。

DevOps的另一个意思也是要求运维具备一定的开发水平,这样才能提高自身竞争力。现在单纯的运维已经面临非常尴尬的局面:公有云的兴起,大部分新型公司已经对运维的依赖性比较小了,云厂商已经把大部分的底层的运维工作给做了。如,系统监控等等。这时,运维人员的存在几乎变得可有可无,剩下的工作,开发们都可以完成。对于公司来说,也节省了人力成本。

对于那些基础的且毫无开发经验的运维来说,只能做一些底层的一些工作。如果想要破局,小白认为:其一,向资深运维发展(成为运维专家);其二,向运维开发发展(具备开发水平)。

接下来说说如何学习。

如何学习Python


学习Python之前要有Python的环境。首先,在我们的系统上要安装Python。其次是版本的选择,选择Python2还是Python3呢?如果我们纯粹学习Python这门语言,那么小白建议选择Python3。而且,Python2的支持年限是到2020年,那我们为什么不选择Python3呢?

关于怎么安装Python,本文不做过多介绍。如果您使用的是Gnu/Linux或Mac OS,那么这些系统上默认是自带Python环境的,可以直接拿来使用。如果您用的是Windows,那么Python的安装也是比较简单的。

学习Python要有趁手的工具才行。首先,我们要有自己喜欢的编辑环境。那么,我们可以选择编辑器及IDE。编辑器这里小白推荐使用Vim或Emacs,一个是编辑器之神,一个是神的编辑器,两者都非常强大。如果要使用IDE,墙裂推荐使用PyCharm。

专心看本公众号文章


小白是从2014年开始自学Python的,中间经历了各种的问题,写了很多笔记。也写了很多与工作相关的脚本。后续的文章会娓娓道来。还请大家多多关注。小白所写每一篇文章都是精心写作,并上机实践,确保案例的可行性及正确性。

动手实践才是硬道理


天下武功,唯快不破。学习编程,唯不动手而学不会。学习编程最大的忌讳就是不动手实践。学习了一定的理论知识,并没有经过动手实践及长期的大量练习,会有一种学完即忘的感觉。所以,学习编程的宗旨是:动手、实践、实践、再实践!

每天坚持一定的代码量,不管多少。可以为了解决一个问题,可以为了好玩等等目的。保持一定的代码量,这样才能做到说写代码,就能写出代码的效果。

总结


本公众号更多的是关注Python的学习,就像前面的文章说的一样,但不限于Python。期间还会有一些Linux运维相关的文章。另外,小白是非常喜欢TeX及Keynote的,如果有机会也会在公众号里跟大家分享。

原文发布于微信公众号 - 小白的技术客栈(XBDJSKZ)

原文发表时间:2017-08-08

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏刘望舒

开源项目源码阅读指北

作为一个程序员,阅读大牛们优秀的开源项目源码是一个提升个人编程能力、扩展思维的重要途径。在实际工作中,相信并不是所有人接手的项目代码都很优雅和优秀,而且很大可能...

712
来自专栏SDNLAB

SDN实战团技术分享(三十八):DPDK助力NFV与云计算

DPDK最初动机很简单,网络处理器的软件解决方案,证明IA多核处理器能够支撑高性能数据包处理。 什么是DPDK?对于用户来说,它可能是一个出色的包数据处理性能加...

4854
来自专栏大数据文摘

云存储:面向企业的7项必备功能

1674
来自专栏腾讯NEXT学位

NEXT讲坛丨《从零开始的React之道》公开课

1874
来自专栏编程

GraphQL 浅谈,从理解 Graph 开始

前言 GraphQL is a data query language developed internally by Facebook in 2012 bef...

1859
来自专栏Crossin的编程教室

想用 Python 做数据分析?先玩玩这个再说

数据分析是 Python 的一大应用领域。据我所知,本教室的读者中有不少学习 Python 就是为了在工作中能用它分析数据。这其中,又有相当一部分人是涉及金融相...

3257
来自专栏SAP最佳业务实践

从SAP最佳业务实践看企业管理(17)-CRM-服务订单管理

C69 服务订单管理 本文档的目的是介绍从创建和打印服务报价开始,到相应的服务订单相关步骤(如创建、资源计划和分派、确认、完成、开票(在 ERP 系统中))的整...

2763
来自专栏数据小魔方

简单易用的excel数据分析插件

今天给大家安利两款简单好用易上手的excel数据分析插件! excel虽然内置有数据分析模块 (需要调用开发工具,还不知道怎么调用的请参考小魔方12月21日文章...

2778
来自专栏WeTest质量开放平台团队的专栏

服务器压力测试的一次优化历程

对技术人员来说,知其然还需知其所以然。搞清技术的底层机制、弄明白问题的深层次原因、知悉解决方案的适用场景,是每个开发人员应有的技术素养,也是个人发展上积累功底、...

1.4K1
来自专栏互联网数据官iCDO

DOMO-冉冉升起的自助式商业智能工具

自助式商业智能(BI)工具Domo通过能够快速建立数据连接并开启分析的网页版BI工具解决了自助式BI的难题,目前售价是每个用户每年2,000美金。不像其他的工具...

2774

扫码关注云+社区