Python的特性(列表)
此文其实不算是一篇文章,只是总结了一下我认为属于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程序编译成字节码。 |
补充:Web开发 , Python ,