运算符
+、-、* 都差不多
/:Python 和 JavaScript都会返回浮点数,ruby 返回整数
Python 的// 返回整数
运算符
Python
Ruby
Javascript
整除
//
/
Math.floor(a/b)
除法
/
a.to_f / b
/
乘方
**
**
**
表达式
三元表达式
# python
1 if True else 2
# 1
# ruby
true ? 1 : 2
# 1
// javascript
true ? 1 : 2
// 1
Python中的三元表达式比较特殊,没有其它语言的那样通用形式
字符串
原始字符串
# python
r"hello\nworld"
# ‘hello\\nworld‘
# ruby
‘hello\nworld‘
# "hello\\nworld"
python 中的‘‘和""几乎没有区别,ruby中用单引号‘‘作为原始字符串
JavaScript中‘‘和""几乎没有区别
字符串插值
# python
a = ‘hello‘
f‘{a} world‘
# ‘hello world‘
# ruby
a = ‘hello‘
"#{a} world"
# "hello world"
// javascript
a = ‘hello‘
`${a} world`
// "hello world"
多行字符串
# python
‘‘‘
hello
world
‘‘‘
# ‘\nhello\nworld\n‘
# ruby
<
hello
world
EOF
// javascript
`hello
world`
JavaScript的模板字符串是可以任意换行的
数组
这三者对数组的定义几乎是一样的,并且数组里面可以放不同类型的元素,数组长度可变
# python
a = [1, 2, 3]
# ruby
a = [1, 2, 3]
// javascript
a = [1, 2, 3]
添加元素
# python
# a = [1, 2, 3]
a.append(4)
# [1, 2, 3, 4]
# 一次只能添加一个元素
# ruby
a.push(4, 5)
a.append(4, 5)
a << 4
// javascript
a.push(4,5)
Python 的append一次只能添加一个元素,Ruby和JavaScript一次可以添加多个元素。
数组切片
# python
a = [1,2,3,4,5]
a[1:3]
# [2,3]
# ruby
a = [1,2,3,4,5]
a[1...3]
# [2,3]
a[1..3]
# [2,3,4]
a[1,3]
# [2,3,4]
# 第一个参数是起始下标,第二个参数是长度
// javascript
a = [1,2,3,4,5]
a.slice(1,3)
// [2,3]
这三个语言的数组切片都不会改变原数组,Python、JavaScript、Ruby的[start...end]比较类似,都是从起始下标到结束下标(不包含结束下标)。Ruby还有其它的切片方法。
常用数组方法
数组方法
python
ruby
javascript
添加元素
append
push、append、<<
push
字典(Hash)
字典合并
# python
a = {1: 1}
b = {2: 2}
{**a, **b} # 产生一个新的元素,不影响原来的元素
# {1: 1, 2: 2}
a.update(b) # a会被改变
# a == {1: 1, 2: 2}
# ruby
a = {a: 1}
b = {b: 2}
a.merge(b) # 不影响原来的元素
# {a: 1, b: 2}
a.merge!(b) # a会被改变
// javascript
a = {a: 1}
b = {b: 2}
{...a, ...b}
// {a: 1, b: 2}
函数
匿名函数
# python
lambda x, y: x + y
// javascript
function(x, y){
return x + y
}
原文:https://www.cnblogs.com/cp5670681/p/14288037.html