Python和JavaScript在语法上的区别[1]
2017-03-28 15:49
211 查看
变量声明的区别
在变量声明上Js使用的是
数据类型的区别
在js中基本的数据结构有
list类似Js中的Array。但是二者在操作上有着很大的不同。比如在Js中获取一个数组的长度,
tuple和list的很类似,但是它拥有一个非常重要的特性,就是初始化后不能修改,所以汉语中称为元组。它的语法不同与数组和list使用
dict的英文全称就是dictionary,就是字典。它非常类似于js中对象。也是一种键值对的形式。但是二者在语法上有一定的区别,Js获取一个对象的属性有两种写法
set类似于dict,但是它只是键值对中键的集合,在Js中的ES6中已经添加此类概念。
循环遍历的区别
在Js中开发者会把条件语句写入
Python不同,条件语句直接暴露在外面,通过
同样的while循环也是如此。
在这里要讲一个python中特有的range()函数,它接收一个参数n,然后形成一个从0~n的一个整数序列,也就是js中的数组。这个range()函数可以被直接用于循环遍历。
判断语句的区别
类似于循环语句的语法,条件语句暴露在外面,:后面写判断结果,但是不同与js的
在变量声明上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和JavaScript在语法上的区别[2]
- vbscript与javascript的语法区别
- javascript 和 jquery 语法上的一些区别。
- Python3和2常用语句的语法区别3.0
- python2与python3语法区别之_重定向
- Python基础语法笔记--xrange()与range()的区别、map、filter、reduce分析、lambda表达式
- XHTML和HTML中Javascript语法的一点区别
- python2.x和python3.x 语法上简单的区别
- 【总结】C++、C#、Java、Javascript、Python中引用的区别
- python2 与 python3 语法区别
- python2 与 python3 语法区别
- python2 与 python3 语法区别
- 1. JavaScript 与 PHP 的语法区别
- python2 与 python3 语法区别
- python2 与 python3 语法区别
- CSS 语法和JavaScript 语法区别
- python2 python3语法区别
- python2 与 python3 语法区别
- java、python、JavaScript以及jquery循环语句的区别
- C、C++、Python、JavaScript、PHP、Java语法对比(纠正篇)