锁定老帖子 主题:java 与 python (1)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-07
最后修改:2009-06-07
一直想对前段时间学习python 做个总结,以免自己太快忘记.我这个人忘性很大,所以只有不停的总结与回顾来尽量减缓大脑的遗忘程度. 首先贴上dive to python 的一段话:
所以说Python既是动态类型语言(因为它不使用显示数据类型声明),又是强类型语言(因为只要一个变量获得了一个数据类型,它实际上就一直是这个类型了)。 现在总的趋势语言都在向动态语言类型靠近,这的确大大方便了程序员,使得编写程序更方便,效率更高,动态语言你不必关心变量的类型.java也可以达到一定程度的动态识别.比如多态,但你必须要有继承关系,还有反射,繁琐并且效率低,如果使用python,这些方面的问题就很容易解决了.
下面我就细化的总结下python的优点:
1)函数
在函数方面python是做的比较好的,好的地方主要在支持默认参数和关键参数.
简单例子:
调用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)一次赋多值
这是个很方便的功能,可以一次给多个变量赋值,有些时候是非常有用的
调用mulequ(),结果是(0, 1, 2)
4)映射list
这是Python对于list提供的非常强大的方法,可以对list进行解析.并且映射为另一个list.
结果是 2,4,6,8,10
to becontinued......
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-06-08
好像没有java的多少东西,建议改成python笔记……之类的
|
|
返回顶楼 | |
发表时间:2009-06-08
python恐怕是最不用系统学习的一门语言。。
|
|
返回顶楼 | |
发表时间:2009-06-14
"|".join(["%s=%s" % (k, v) for k, v in params.items()])
groovy 可以用: params.collect {k,v->"$k=$v"}.join("|") |
|
返回顶楼 | |
发表时间:2009-06-15
(one,two,three) = range(3)
groovy 可以用: (one,two,three) = [0,1,2] li=[1,2,3,4,5] li_1 = [element*2 for element in li] groovy 可以用: li_1 = li.collect{it*2} |
|
返回顶楼 | |
发表时间:2009-10-20
kakashi 写道
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
"|".join(["%s=%s" % i for i in params.items()]) 这样就行了 lz你把tuple解析出来又组合了一遍
|
|
返回顶楼 | |
发表时间:2009-10-23
最后修改:2009-10-23
mathgl 写道 python恐怕是最不用系统学习的一门语言。。
其实还是需要系统学习,不然你只是懂得一些比较基本的东西,懂python的一些数据结构,稍微深入一点就不知道了。。 我在python list上还见过有人用django用了一年多,却不知道__init__.py有什作用。。有些人还弄混and 和 or,所以无论哪门语言,还是需要系统学习下比较好。 |
|
返回顶楼 | |
发表时间:2009-10-23
语言是工具的一种,用来完成任务。任务的难易很多时候决定了研究的深度。当然有些人喜欢研究工具本身是另当别论。
我的同事很多用C++, 但是你要问他们boost里面的实现怎么回事,有大半都回答不上,但是这并不影响他们的工作。 |
|
返回顶楼 | |
发表时间:2009-10-24
mathgl 写道 语言是工具的一种,用来完成任务。任务的难易很多时候决定了研究的深度。当然有些人喜欢研究工具本身是另当别论。
我的同事很多用C++, 但是你要问他们boost里面的实现怎么回事,有大半都回答不上,但是这并不影响他们的工作。 你的意思就是你对完成工作比对“怎么样完成”更感兴趣。 |
|
返回顶楼 | |
发表时间:2009-10-25
别跑题了……
我在熬夜看python的一本书…… groovy做脚本,速度太慢了,linux/win下都是,语法糖方面的我不是那么关心,特性大家都有,少些多谢一点代码区别不大。 grails部署到app server下估计性能和php/python *** 跑在pc上差不多……(虽然java很快) 有点不喜欢这些大公司把java更多地作为收利工具…… |
|
返回顶楼 | |