易截截图软件、单文件、免安装、纯绿色、仅160KB

Ruby和Python的语法比较


Ruby和Python的语法比较
 
 
 
其实Ruby和Python非常接近,比大多数别的语言要接近的多,所以喜欢用啥就用啥(大实话,虽然也是废话)。语法上的差别虽然有那么一点,大部分是syntax sugar,我斗胆稍微列几个(python我也忘得差不多了,不对的大家尽管来鞭尸吧),但是主要差异还是设计思想上的:灵活vs明确. 我不认为两者在生产力上会有什么差别,如果你熟悉的话。*注意,仅限语言本身的比较。
本文推荐:Ruby入门教程与技巧大全
Ruby和Python的比较列表
1. ruby的case可以匹配很多东西:范围/数组,对象,正则表达,python没有case/switch而使用if/else比较死板点
2. python的缩进很漂亮,虽然有时会造成些许麻烦。ruby的end蛮难看的,所以大家都被逼当one liner(玩笑)
3. 感觉上ruby比python更OO,当然这也可能是因为python不提倡用那些改变对象内部构造的‘伎俩’造成的错觉
4. python有list comprehension, ruby没有:(
5. python有真正的keyword argument, ruby用hash模拟,当然实际用起来没什么差别
6. python的self很讨厌,ruby没有那种繁琐的东西
7. reflection,ruby内置了很多方法,比如object.methods,而python把这些信息存在特殊的字典里。差不多
8. ruby的block功能很强,python的lambda只能返回单一值
9. ruby的open class已经声明远播,可以玩出2.days.ago这样的花样,python好像没法直接修改内置类也反对这么做。
10. python需要用@classmethod修饰声明类方法,ruby是内建
11. ruby有单子方法,也就对对象单独定制,python不知道有没有类似概念
12. ruby有method_missing机制,python可以使用__getattr__截获未定义方法(from qiezi)
13. ruby使用单继承+mixin,python使用多重继承,不过python也有mixin
14. ruby有attr_*系列语法helper,省却自己写一堆setter/getter, python的property方法还是得自己写setter/getter
15. ruby和python都使用duck typing,不过python也有一套显式的interface机制(从zope3并入内核了么?)
16. ruby的函数调用括号是可省的,稍微少敲几下键盘。python默认没括号也不带参数的话返回函数本身的一个引用。
17. 我不清楚python的meta programming能到什么程度,只好等大牛来说说了。只是觉得pythoner不常用那个,也许觉得会把程序逻辑搞得晦涩不明。
18. ruby从perl继承了一部分难看的东西,比如很多预定义的$x常量
19. ruby内建正则表达,方便一点


相关文档:

python之娱乐类:魔法传值

还记得是一个月的事情,神奇般的在youtube上搜索python,有个老外的教程里面有这么个内容:
#=============================
## python 魔法传值
#============================= 
#-*-coding:utf-8-*-
class sono:
    def Dict(self,**args):
        ret ......

python操作excel


既然选择了远方,就必须日夜兼程 http://wrsuifeng.javaeye.com
Python代码
# Filename: excel.py   
import os,sys,time   
import win32com.client   
import traceback   
  
excel = win32com.client.Dispatch(" ......

Python 开篇

由于工作需要,又要学习新的开发语言-Python, 语言学过几种了, 感觉还是有好多相似的地方, 这个Python感觉就跟Java有好多相通的地方, 首先你可以在Eclipse上通过配置后来开发Python。这里我听从了老大的建议,配置了一个FlexBuilder 作为Python的IDE进行开发。
目前刚开始学习Python的基本语法, 今天主要看了一下Pyth ......

转帖:Python2.6 下安装 mysql (Windows xp)

转自:
http://hi.baidu.com/feng2211/blog/item/8b86b6d9816a3f2710df9b79.html

http://i.19830102.com/archives/164
Python 版本:2.6
下载地址:http://www.python.org/download/releases/2.6.1/
下载msi文件并安装
MySQLdb版本: MySQL-python-1.2.2.win32-py2.6.exe
下载地址:http://home.netimperia.com/ ......

python写的将一些类型的文件压缩为7z格式

#将一些类型的文件压缩为7z.py
#for folder all file do 7z
import os
import sys
import distutils.file_util
def ImportOkFile():
    if(os.path.isfile("D:\\Records\\将一些类型的文件压缩为7z_record.txt")==False):
        f=open("D:\\Reco ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号