如何学习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@V**server ~]$ gcc -o hello hello.c (mypy) [lavenliu@V**server ~]$ ./hello Hello World

再看Java的写法:

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

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

(mypy) [lavenliu@V**server ~]$ javac Hello.java (mypy) [lavenliu@V**server ~]$ java Hello Hello World

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

(mypy) [lavenliu@V**server ~]$ 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),作者:lavenliu.cn

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小白的前半年总结及后半年展望

    小白已经陆续写了半年的微信公众号文章了(有时候会懒,拖一两个月才推出一篇文章☺)。最大的收获就是锻炼了自己的表达能力,就是如何把一个问题以相对简单的方式阐述出来...

    1846122963
  • Python之Windows环境搭建

    本文专题介绍Windows环境下如何安装及配置Python环境。主要是照顾没有Linux及Mac环境的同学。Python是跨平台的,祝愿大家都能学会Python...

    1846122963
  • Python之Windows环境搭建

    本文专题介绍Windows环境下如何安装及配置Python环境。主要是照顾没有Linux及Mac环境的同学。Python是跨平台的,祝愿大家都能学会Python...

    1846122963
  • pandas0.24本月将放弃对Python2的支持

    Python库pandas的下一个版本 0.24.0将不支持Python 2。pandas是一个流行的Python库,广泛用于数据操作和数据分析。它用于数值表和...

    陆勤_数据人网
  • 一篇让你直接入门的 Python 教程

    Python,以英国喜剧团体MontyPython的名字命名,是一种解释性、交互性、面向对象的编程语言.它的灵活性使它能够做许多事情,无论大小。Python可以...

    Python知识大全
  • R vs. Python,数据分析中谁与争锋?

    R和Python两者谁更适合数据分析领域?在某些特定情况下谁会更有优势?还是一个天生在各方面都比另一个更好? 当我们想要选择一种编程语言进行数据分析时,相信大多...

    CSDN技术头条
  • 【Python环境】Python爬虫入门(1):综述

    大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考...

    陆勤_数据人网
  • Python爬虫入门一之综述

    大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考...

    zhisheng
  • Python:爬虫系列笔记(1) -- 综述

    转自:静觅 » Python爬虫入门一之综述 大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果...

    昱良
  • python开发_python概述

    Python(KK 英语发音:/ˈpaɪθən/,是一种面向对象、直译式计算机程序设计语言,

    Hongten

扫码关注云+社区

领取腾讯云代金券