|
一直想对前段时间学习python 做个总结,以免自己太快忘记.我这个人忘性很大,所以只有不停的总结与回顾来尽量减缓大脑的遗忘程度.
首先贴上dive to python 的一段话:
静态类型语言一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。Java和C是静态类型语言。动态类型语言一种在运行期间才去确定数据类型的语言,与静态类型相反。VBScript和Python是动态类型的,因为它们确定一个变量的类型是在您第一次给它赋值的时候。强类型语言一种总是强制类型定义的语言。Java和Python是强制类型定义的。您有一个整数,如果不明确地进行转换 ,不能将把它当成一个字符串。弱类型语言一种类型可以被忽略的语言,与强类型相反。VBScript是弱类型的。在VBScript中,您可以将字符串'12'和整数3进行连接得到字符串'123',然后可以把它看成整数123,所有这些都不需要任何的显示转换。
所以说Python既是动态类型语言(因为它不使用显示数据类型声明),又是强类型语言(因为只要一个变量获得了一个数据类型,它实际上就一直是这个类型了)。
现在总的趋势语言都在向动态语言类型靠近,这的确大大方便了程序员,使得编写程序更方便,效率更高,动态语言你不必关心变量的类型.java也可以达到一定程度的动态识别.比如多态,但你必须要有继承关系,还有反射,繁琐并且效率低,如果使用python,这些方面的问题就很容易解决了.
下面我就细化的总结下python的优点:
1)函数
在函数方面python是做的比较好的,好的地方主要在支持默认参数和关键参数.
简单例子:
def function_test(a,b=3,c=5):"""docstring for function_test"""print aprint bprint c
调用function_test(1) ,结果 1, 3, 5
调用function_test(1,c=2,b=3) 结果 1,3,2
2)集合
显然在集合方面python也有很大的优势.操作简便,集合类可以放不同类型的元素.
集合在python中分为:dictionary.list.tuple,操作非常的方便.
想想在java里如果要篇历一个map的key ,value是多么的麻烦.但是在python中
一句搞定.
"|".join(["%s=%s" % (k, v) for k, v in params.items()])
params是一个字典.params.items()返回这个字典的key,value ,每个key,value为一个元组.k,v
3)一次赋多值
这是个很方便的功能,可以一次给多个变量赋值,有些时候是非常有用的
def mulequ():"""docstring for mulequ"""(one,two,three) = range(3)print(one,two,three)
调用mulequ(),结果是(0, 1, 2)
4)映射list
这是Python对于list提供的非常强大的方法,可以对list进行解析.并且映射为另一个list.
li=[1,2,3,4,5]li_1 = [element*2 for element in li]print li_1
结果是 2,4,6,8,10
to becontinued...... |
|