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

变量声明的区别

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

数据类型的区别

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值