程序人生-杂谈python

插图
  今天从学校回来,一路听到有人在讲人生苦短学python。听着心里痒痒,这么神奇?一直都没有看python这方面的知识,一来因为没有时间,二来因为学习一门语言要有好的兴趣。回到宿舍却是扑通的一声,舍友床头一本Python基础教程掉在我面前,当时还在想着有空找时间看下python,看到地上的这本书,刚好可以看下吧,看了前面几章不禁让人惊叹。尽管是些简单语法,却是让人眼前一亮。

望文生义

1
2
for word in words:
printf(word)

  简单语法循环体看起来就像读句子一样。

致简法则

  不用定义类型的变量,一般脚本定义变量都会使用var修饰;
  简单重复器,下面两个例子为简单重复字符串与数组:

1
2
'python' * 3 // 'pythonpythonpython'
[12] * 10 // [12, 12, 12, 12, 12, 12, 12, 12, 12, 12]

偏执狂

  变量定义必须初始化!
  一般编程语言的代码的层次结构可以通过缩进体现,而python也这样做。但它却是强制这样做,不然就会报错。不禁想到,车到山前必有路,我是头铁我也服!
  此外笔者在想,强制代码缩进可能只是让人们养成代码缩进的好习惯,但想想可能作者深受if等控制语句的多层嵌套虐过,想想如果多层if嵌套得要多少缩进呀。强制代码一方面可以另可读性更好,另一方面却也是引导用户做更好的程序(逻辑)。

坦克与坦克歼击车

  脚本语言写起来这么方便,为什么还会有编译性语言?这个问题就像坦克与坦克歼击车,坦克歼击车能执行一些坦克的职能,火力也比坦克厉害。为什么还要坦克?

  坦克与坦克歼击车都同属于装甲车类别。装甲车有三大特性火力机动防护,坦克歼击车火力一般都会搭载重型武器和兼顾机动,这样就会导致坦克歼击车防护能力低容易导致地方火力摧毁。反观坦克,一般都会采用强大火力与重型护甲,这样就会导致机动性低,易受打击。

  类比编程语言同样地也有三大特性作用(火力)便捷(机动)生命力(防护)。C语言速度快,但缺乏Python便捷,而Python便捷却速度没C语言那么快。


  • 文章首发于微信公众号:Qt君