作者:limodou
此文其实不算是一篇文章,只是总结了一下我认为属于Python特点的东西。可能别的语言也有。
特性 描述 缩排 Python格式中最有特色的东西,有了它风格统一,而且减少了不毕要的块包围符号 多种序列 有列表,序组(tuple),和字典(字符串可以看做序组) 序列乘法 序列可以进行乘法,表示多个序列的组合。如:s=[1];s*3为[1,1,1] 序列分片 序列可以通过分片进行切割,而且还可以进行序列的复制:s[:] 序列的负索引 序列的索引可以为负数,表示后最后向前数。如:s=[1,2,3];s[-1]表示3 动态语义 这个特性大部分脚本语言都有,就是通过赋值来决定变量的类型。而且通过赋值可以改变变量的类型。 连续比较 可以如下进行比较:2< x< y<3 超长整数 在整数后面加上'l'或'L'可以使用很大的整数,比C语言的整数还大。如a=999999999999999999999L 同时赋值 在Python中,可以一次给多个变量赋值,如:a,b=1,2 循环中的else 在Python的循环语句中,可以有else字句,表示没有使用break语句退出循环,即循环正常结束时,要执行的语句。在for,while中均有。 异常中的else 异常中也可有else子句,表示未出现异常时执行的语句。与finally不一样,finally是必需要执行的,而else则是有条件执行的 格式输出中的关键字 在Python的格式输出格式中,格式符可以用关键字参数。如:"%(table)s" % {'table':'hello'} 模块、包 Python中可以有模块,还可以有包。可以象Java一样导入。 语句动态生成 可以写一个字符串,然后运行它。如:exec "x=2"。还可以执行一个文件(动态生成)execfile()。表达式使用:eval()。 属性的动态变化 可以使用getattr()得到一个对象的属性,可以使用setattr()来修改过设置对象的新属性,使用delattr()删除对象的属性。有时还可以:a.newattr=attr来设置新属性 真正的面象对象 可以多态继承(有多个基类),可以有私有属性,类公共属性 基类的动态改变 如果愿意你可以增加新的基类,从而使一个类拥有新的基类方法,而不用修改原来的基类 缺省参数值 Python的函数可以使用缺省参数 关键字参数 还支持关键字参数,如a(name='abc') 函数的不定参数 Python的函数支持不定参数。可以使用关键字参数,也可以不使用。 特殊的类方法 类可以定义特殊的方法,支持逻辑操作,如'+','*',[ i ]等 单行函数 Python支持单行函数:lambda x:x+1 列表映射 对列表可以进行映射操作,如["%d" % x for x in range(10)] 嵌套函数 可以象pascal一样写嵌套的函数,到了2.1以上变量的作用域也可以嵌套 对象的持续性 一个对象可以保存起来,在需要时恢复 可编译成字节码 象Java一样,可以将Python程序编译成字节码。本文地址:http://com.8s8s.com/it/it25168.htm