初识Python的感想

来源:互联网 发布:js undefined 编辑:程序博客网 时间:2024/05/16 09:05

 

最近开始看《简明Python教程》,接触这门动态语言。在空闲之余,也会动手调试一些小程序。因为一直用的是C++,初次使用Python还是带来了一些震撼的感觉。下面是一个小例子(Hello World就不往外贴了):

 

#findmax.py

#find max value in one list

 

def maxval(x,y):

    if x>=y :

           return x

    else :

           return y

#end maxval

 

def findmax(aList = list()):

    val = '/nwarning:find max in nil list/n'

    if aList.__len__()>0 :

       val = aList[0]

       for elem in aList :

              val = maxval(val,elem)

    return val

#end findmax

 

#test findmax

mylist = [0,1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1,0]

print findmax(mylist) #find max value

print findmax() #get one warning

 

使用c系语言的朋友都知道,“类型”的概念在由客观世界映射到(c系语言表达的)软件模型的这个过程中有着非常重要的作用,尤其是在程序实现这一层面上有着突出的注解。

然而干练的Python似乎使用的是完全不同的思路。比如在findmax中,如果参数aList为空,自然无所谓max,这个谓词要求对此边界条件给出一定的反应(这是对问题求解的内在要求)。若使用c系语言,则必定要考虑aList的类型(以返回max信息)和表示该边界信息的类型并进行处理。但在findmax中,利用Python的特点我采用完全不同的手段:边界情况则返回warning字符串,否则返回max。(因为刚开始接触,所以并不知道Python对此种问题较为成熟的处理方式是什么;但我的用意却在于比较这两种不同的处理方式:它们是因语言的不同而带来的!)

于是又想回了以前的一个问题:什么是程序?

程序,对模型进行表达的机器语言实体。如此,考虑一下表达的实质。

 

 
原创粉丝点击