廖老师的Python教程——Python简介

  一直想了解下Python,今儿在外面办事排队的时候,打开了廖老师的官网,找到了Python教程。虽然只是一篇关于Python的简介,可是经过将Python的特性与C进行对比,很生动地概括了Python的一些特性。由于以前花过期间学习C,因此可以很容易地体会Python的特性。上学期经过廖老师的教程顺利掌握了Git,因此再次遇到廖老师的教程,忍不住要收藏一下。会在廖老师的教程中用红色字体插入批注或对知识点进行标识。程序员


   首先,普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,好比下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,因此,尽管不一样的编程语言差别极大,最后都得“翻译”成CPU能够执行的机器指令。而不一样的编程语言,干同一个活,编写的代码量,差距也很大。数据库

  好比,完成同一个任务,C语言要写1000行代码,Java只须要写100行,而Python可能只要20行。编程

  因此Python是一种至关高级的语言。网络

  那么是否是代码越少越好呢?代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能须要2秒,而Python程序可能就须要10秒。编程语言

  那是否是越低级的程序越难学,越高级的程序越简单?表面上来讲,是的,可是,在很是高的抽象计算中,高级的Python程序设计也是很是难学的,因此,高级程序语言不等于简单。工具


  Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。性能

  如今,全世界差很少有600多种编程语言,但流行的编程语言也就那么20来种。若是你据说过TIOBE排行榜,你就能知道编程语言的大体流行程度。这是最近10年最经常使用的10种编程语言的变化图:学习

                      

  总的来讲,这几种编程语言各有千秋。C语言是能够用来编写操做系统的贴近硬件的语言,因此,C语言适合开发那些追求运行速度、充分发挥硬件性能的程序。而Python是用来编写应用程序的高级编程语言。字体

  当你用一种语言开始做真正的软件开发时,你除了编写代码外,还须要不少基本的已经写好的现成的东西,来帮助你加快开发进度。好比说,要编写一个电子邮件客户端,若是先从最底层开始编写网络协议相关的代码,那估计一年半载也开发不出来。高级编程语言一般都会提供一个比较完善的基础代码库,让你能直接调用,好比,针对电子邮件协议的SMTP库,针对桌面环境的GUI库,在这些已有的代码库的基础上开发,一个电子邮件客户端几天就能开发出来。  网站

  Python就为咱们提供了很是完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称做“内置电池(batteries included)”。用Python开发,许多功能没必要从零编写,直接使用现成的便可。除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。固然,若是你开发的代码经过很好的封装,也能够做为第三方库给别人使用。

  许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。不少大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

  龟叔给Python的定位是“优雅”、“明确”、“简单”,因此Python程序看上去老是简单易懂。初学者学Python,不但入门容易,并且未来深刻下去,能够编写那些很是很是复杂的程序。

  总的来讲,Python的哲学就是简单优雅,尽可能写容易看明白的代码,尽可能写少的代码。若是一个资深程序员向你炫耀他写的晦涩难懂、动不动就几万行的代码,你能够尽情地嘲笑他。

  那Python适合开发哪些类型的应用呢?首选是网络应用,包括网站、后台服务等等;其次是许多平常须要的小工具,包括系统管理员须要的脚本任务等等;另外就是把其余语言开发的程序再包装起来,方便使用。

  最后说说Python的缺点。

  任何编程语言都有缺点,Python也不例外。优势说过了,那Python有哪些缺点呢?

  第一个缺点就是运行速度慢,和C程序相比很是慢,由于Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程很是耗时,因此很慢。而C程序是运行前直接编译成CPU能执行的机器码,因此很是快。

  可是大量的应用程序不须要这么快的运行速度,由于用户根本感受不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间须要0.001秒,而Python程序的运行时间须要0.1秒,慢了100倍,但因为网络更慢,须要等待1秒,你想,用户能感受到1.001秒和1.1秒的区别吗?这就比如F1赛车和普通的出租车在北京三环路上行驶的道理同样,虽然F1赛车理论时速高达400千米,但因为三环路堵车的时速只有20千米,所以,做为乘客,你感受的时速永远是20千米。

  第二个缺点就是代码不能加密。若是要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不一样,C语言不用发布源代码,只须要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。

  这个缺点仅限于你要编写的软件须要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件受权的商业模式愈来愈少了,靠网站和移动应用卖服务的模式愈来愈多了,后一种模式不须要把源码给别人。

  再说了,如今如火如荼的开源运动和互联网自由开放的精神是一致的,互联网上有无数很是优秀的像Linux同样的开源代码,咱们千万不要高估本身写的代码真的有很是大的“商业价值”。那些大公司的代码不肯意开放的更重要的缘由是代码写得太烂了,一旦开源,就没人敢用他们的产品了。

  固然,Python还有其余若干小缺点,请自行忽略,就不一一列举了。

相关文章
相关标签/搜索