首页 / 操作系统 / Linux / Ruby和Python简单对比
前不久学了ruby,发现ruby和Python非常像,于是自个测试对比了下,测完了才知道网上有现成的……下面是测试结果序列(包括列表和元组等)有分片的特点:可能会比较方便的提取其中特定元素,暂时感觉没什么用:注意是用:分开两个数字。负号表示倒数第几个留空表示开头或者结尾,Python中的分片可以等距分割,格式是两个冒号ruby则是[4...7]这样用两个或者三个句号分片,也可以用[1,2]这种逗号不同的是,ruby似乎不能等距分割,而且ruby逗号方式下两个参数的意义是第一个是起始元素序列号,第二个参数是长度,而Python中的两个参数表示第一个是起始元素序列号,第二个是下一段起始元素序列号,与ruby中的...相同类似于ruby中的puts“hello world”*4Python 中也有 print “hello world”*4当然Python中还有[42]*10,好吧ruby也有序列相加均使用简单的+Python使用len(),ruby使用.lengthPython使用in检查一个字符是否在字符串中,ruby使用include?而且均可以用于检查列表/数组,都可以检查一个序列是否在一个序列的序列中Python 使用min()、max(),Ruby 使用 .min .max,但是ruby.min .max后面可以接一小段含参代码以对最小值、最大值、第二小值、第二大值等进行一些简单的处理。Python中的字符串不能直接被修改 往往用list函数转换成列表后修改Ruby中的字符串可以直接的被修改,而且替换元素不必与被替换元素等长,猜想ruby中的字符串就是以列表方式存储的Python中删除列表元素使用del list[] ruby 使用.deletePython 删除方式可以有删除特定[2],也可以删除一段[2:3],ruby 可以删除具有特定内容的元素,如:delete “word”,成功返回元素,失败返回nil,会直接的改变列表,ruby删除指定序列号元素似乎没有直接的方法,可以用list。delete list【2】ruby也可以简单的使用-号删除,但是要用[]括起来而且删除不会实质改变数组,而是返回元素被删除后的列表Python 打印控制台只用print ,ruby有print、puts、p#为阅读美观还是敲个tab吧……Python: ruby:.append() << .push.count() .count().extend() .concat.index() .index.insert() .insert.pop() .pop.remove() .delete/.delete_if{|blocks| block}.reverse() .reverse.sort() .sortPython的排序有key = len这种可以按特定的方式排序的方式,有sort(method) 这样的特定排序.Ruby的排序则是使用{|a,b| block}这样特定的排序Python 用“%s is it”% stringruby 用 “#{ string}"Python 使用input()和raw_input()ruby使用gets 和 gets.chompPython 有.find() 返回子串所在位置最左端索引//和index不同的地方在于它可以指定起始点和结束点ruby使用。indexPython使用.join() ruby .join 效果均为连接数组Python使用。lower() ruby使用。downcase类似的有:.capitalize() .capitalize.upper() .upcase.swapcase() .swapcase.strip() .strip.lstrip() .lstrip.rstrip() .rstripPython用import ruby 用requirePython和ruby的次幂符号** 都是右结合方式都支持序列解包(多重赋值)Python的if while def后面都得有个:ruby不用,但是ruby在结尾都得有个endPython的elif = ruby的elsifPython有== is Ruby有== <=>//is是‘同一性运算符’二者都有断言assertPython使用for keys in dict 遍历字典中的元素 ruby使用。each{|k,v| block}遍历Python的exec可以执行一段字符串ruby是eval//Python的eval是可以把字符串当成表达式求值ruby和Python均支持链式赋值:x=y=value不同的是:Python有。title ruby没有Python有。islower() 。istitle() 。isupper()Python使用replace方法得到被替换后的字符串:ruby可以直接替换都有split 格式是split() 和 .splitPython 有.translate() maketrans() ruby 没有Python 支持函数多重嵌套,函数名作为变量返回,可以被调用ruby也支持多重嵌套,但是返回函数名字符串,不可以被调用Python 有字典和hashruby没有字典,ruby 只有hashPython的方法和ruby的方法都是按位置穿参数,不过Python可以指定参数名传参(关键字参数),此时不依赖于位置。Python和ruby都支持不定参数,Python前面加*,ruby前面可以加*Python的不定参数是用元组实现的。无需操作系统直接运行 Python 代码 http://www.linuxidc.com/Linux/2015-05/117357.htmCentOS上源码安装Python3.4 http://www.linuxidc.com/Linux/2015-01/111870.htm《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htmPython脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm在Ubuntu下用Python搭建桌面算法交易研究环境 http://www.linuxidc.com/Linux/2013-11/92534.htmPython 语言的发展简史 http://www.linuxidc.com/Linux/2014-09/107206.htmPython 的详细介绍:请点这里
Python 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/119799.htm