17611538698
webmaster@21cto.com

人生苦短,我用Python

资讯 0 3377 2018-06-22 11:56:50

Linux-wallpapers-9.jpg

21CTO导读:不知道你不是有兴趣用Python来开发应用程序?在本文中,我们来讲解一下如何将Python当做一种好的Web开发语言。


“我最喜欢的语言是Python。它简单,有干净的语法,支持面向对象开发,良好的库支持,可选的命名参数” 。
 
去看,我为一家公司启动一个新项目。刚一开始时,我们讨论了选择什么样的语言来编程,以便我们能够在最短时间内达到MVP-最小化价值的效果,同时也能在该项目学习到新知识。
 
这家公司用的编程语言是Java,现在我们遇到了一个选择,是继续用Java还是尝试其它语言?我们果断地选择了第二项,选择其它编程语言。
 
这个项目是一个Web应用程序,我们需要先找到一个Web框架,然后再找到与该框架兼容的语言。很快,我们就找到最佳选择——Django框架,它是用Python编程的Web框架,选择的编程语言自然是Python。从此,我便开始了Python的旅程。
 
自从那时起,我开始用Python开发软件到现在,将近有一年多时间。
 
记得我第一次使用Python编码时,有一种错觉,感觉选择错了,后来我才了解Python的强大,并且在短时间内达成目标有多么的容易。
 
下面我就在本文中,与大家分享为什么Python那么好用,与Java等语言相比,使用Python有多简单。
 
举例说明
 
让我们来从一些简单的事儿开始课程。
 
经典Hello World代码:
 
Java:
 

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


 
Python:
 

print("Hello World")


 
那么,你该用什么样心情喜欢上Python?轻松愉快的权利。你不需要声明一个类,也不需要声明一个方法,就可以做你想做的事,打印一段文本不需要太多的工作。在这个所有编程书都会教你Hello World,可以看到Python的语法有多简单,从而开发高可读性的程序,“做正确的事情”与“方便性”是Python巨大的优势。
 
语法缩进
 

python-indentation.png

图1:Python中的缩进
 
变量和方法
 
另一件让我感到惊讶的事情是,在Python中你不用,或者不能给变量指定一个类型,这让Python成为一个强大的动态类型语言。它很强大,类型可以根据程序上下文来动态变化,Python内部有isinstance()和issubclass()来测试正在运行的变量类型并能正确使用。这和一些动态语言,比如PHP、Perl以及JavaScript等语言很相像。
 

python-vs-js-types.png

 
图2:Python与Java的变量类型
 
从上面的图片可以看到,变量可以无需要声明类型,它可以是任何值:整数、字符串、列表、对象等。在Python中,变量本身不绑定任何一种类型,但是值不会错误,它永远不会出现一个字符串可以加到一个整数中,所有的动态语言都是如此。
 
比如,如果有一个字符串分配给变量,那么更改变量的值非常容易 ,稍后想把它改成整数,则可以这样做。在静态型(强类型)语言中,变量一定要有一个类型,如果事先声明为整型,以后将不能再给这个变量其它类型的值。
 
 
估计你也会发现该方法也没有返回类型,它可以任何东西。但是,可以将返回的值绑定到某个类型,但如果这样做,除了属于特定类型的东西外,不能返回其他任何东西。

图3:Python中绑定VS未绑定方法
 
方法重载
 
尽管我只需要重载一次方法,但是我发现Python不让重载(Method Overloading)这么玩,它压根就不支持,而Java中是支持那种标准的重载的。
 

 
Python中虽然不支持方法重载,但是也是可以实现的。没有人阻止你写同名的方法,这样也是有效的。但是每次你写了一个与其它函数同名时,Python会忘掉之前名字的函数。其实没什么卵用。
 
但这不是结束。有了一定的编程毅力,我们可以使用多方法模式得到想要的结果,或者使用默认参数值更好。我认为第二个选项是个更好的选项,这样的函数允许有更少的参数调用。
 
如下:
 

图5使 用默认参数值作为重载方法的一种方式
 
 
这只是我在用Python时,学习的一小部分内容。每次我需要要系统中构建一个特殊功能是,我都对Python提供的简单编码和易用性赞叹不已。“人生苦短,我用Python”,说实话,这一年来我用Python感到很爽,期待这个语言的更新功能。
 
我们的第一章也到此完成,下一篇继续,大家不要错过,敬请期待。
 

作者:洛逸


评论