Python和JavaScript在语法上的区别[1]
变量声明的区别
在变量声明上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。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: Python和JavaScript在语法上的区别[2]
