您的位置:首页 > Web前端 > JavaScript

Python和JavaScript在语法上的区别[1]

2017-03-28 15:49 211 查看
变量声明的区别

在变量声明上Js使用的是
var
let
分别声明函数作用域和块级作用域。在python里直接写拉丁字母声明,无前缀。

数据类型的区别

在js中基本的数据结构有
Object
,
Array
等6种基本的数据结构,在python中则为
list
,
tuple
,
dict
,
set
四种。

list类似Js中的Array。但是二者在操作上有着很大的不同。比如在Js中获取一个数组的长度,
Array.length
.在Python中,则是
len(目标list)
获取长度。在索引上,JS的数组是无法进行倒数,而python的list可以通过
list[-1]
,
list[-2]
进行倒数。在Js中往一个数组添加一个元素是通过
Array.push(ele)
方法,在Python中则是
List.append(ele)
。在删除最后一个元素方面,js和python没有区别都是使用
pop()
方法。但是js不存在pop()f方法指定索引删除元素,而在python中,
List.pop(i)
可以删除指定元素。在元素插入上python拥有js没有的
insert(index,ele)
方法,这个方法可以指定索引,插入元素,如:
List.insert(2,"global")
;在多维数组方面,二者都是一样
array[i][j][k]


tuple和list的很类似,但是它拥有一个非常重要的特性,就是初始化后不能修改,所以汉语中称为元组。它的语法不同与数组和list使用
[]
,它使用
()
。注意一个非常重要的坑,在python中声明一个单元素的tuple。不能写成,
(230)
,要写成
(230,)
,通过逗号声明这不是一个数字计算。

dict的英文全称就是dictionary,就是字典。它非常类似于js中对象。也是一种键值对的形式。但是二者在语法上有一定的区别,Js获取一个对象的属性有两种写法
obj.prop/obj[propname]
。在python中。则是
dict["propname"]
。注意在python中的键名一定要用引号打上。在JS中当我们需要检查一个对象中是否存在某个属性名,我们往往使用
obj.hasOwnProperty("propname")
或者
"propname" in obj
两种方式(注意这里的属性名都是打上引号的),返回布尔值进行判断。在python的dict中,有两种方法判断,第一种和js对象一样,通过in关键字进行判断,第二种则是使用get()方法,看是否返回None判断,如:
T.get("name")
;

set类似于dict,但是它只是键值对中键的集合,在Js中的ES6中已经添加此类概念。

循环遍历的区别

在Js中开发者会把条件语句写入
()
中,在
{}
中获取循环遍历结果,如:

for( var i in names){  //注意,在js中i是指针
return names[i]
}


Python不同,条件语句直接暴露在外面,通过
表示循环遍历的结果:

for name in names:          //注意,在python中返回的遍历结果
print (name)


同样的while循环也是如此。

在这里要讲一个python中特有的range()函数,它接收一个参数n,然后形成一个从0~n的一个整数序列,也就是js中的数组。这个range()函数可以被直接用于循环遍历。

判断语句的区别

类似于循环语句的语法,条件语句暴露在外面,:后面写判断结果,但是不同与js的
else if
,在python中会简写成
elif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python