下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

比较JavaScript和Python

作者:匿名     来源: Python点击数:1822发布时间: 2021-10-21 16:39:20

标签: python基础教程JavaScriptPython

大神带你学编程,欢迎选课

  接下来的文章里,小编想接着讲一下前面文章里没有介绍完的,关于JavaScript和Python两者之间区别的知识,大家跟随小编一起来看看吧!

  类型检查

  Javascript可以通过typeof获得变量类型:

  例如typeofinJavascript:  

 

  使用typeof要非常小心;从上面的例子可以看出,typeofnull其实是object。由于javscript的弱类型特性,为了获得更实用的类型,需要使用instanceof、constructor等概念。

  Python提供type获取数据的内置方法。  

  同时,类的类型可以通过isinstance()来判断。  

 

  但请注意,Python的classtyle已经发生了变化,并非每个版本的Python运行上述代码的行为都是一样的,在oldstyle中,所有实例的type都是‘instance’,因此使用type来检查也不是一个好方法。这和Javascript很像。

  自动类型转换

  Javascript在操作不同类型的同时,总是尽可能地进行自动类型转换,这很方便,当然也很容易出错。特别是在进行数值和字符串操作时,一不小心就会出错。我以前经常计算SVG中的各种数值属性,比如x、y坐标等。当你不小心把一个字符串在数值上时,Javascript会自动转换一个数值,这往往是NaN,所以SVG根本画不出来,因为自动转换是合法的,很难找到错误的地方。

  Python在这一点上非常谨慎,一般不会在不同类型之间进行自动转换。

  语法

  风格

  Python用缩进来决定逻辑行的结束是很有创意的,这可能是Python最独特的属性,当然也有人对此颇有微词,特别是当需要修改重构代码时,修改缩进往往会造成不小的麻烦。

  Javascript虽然名字里有Java,但它的风格有点像Java,但它和Java就像雷峰塔和雷锋一样,真的没有半毛钱的关系。到时候语法和C差不多。这里必须提到的是,coffeescript作为构建在Javascript之上的语言,采用类似Python的语法风格,也是通过缩进来决定逻辑行。  

  从上面两个代码的例子可以看出,Python真的很简单。

  功能范围和包管理

  Javascript的作用域是由方法function定义的,也就是说,同一方法内部有相同的作用域。这与C语言使用{}定义的作用域有很大的不同。Javascript是Closure最有用的特性之一。

  Python的作用域由module、function和class定义。

  Python的import可以很好的管理依赖和功能域,而Javascript没有原始的包管理机制,需要AMD异步加载依赖的js文件。requirejs是一个常用的工具。

  赋值逻辑操作符

  Javascript使用=赋值,有两种判断相等(==)和全等(==)。其他逻辑运算符有&&和||,类似于C语言。

  在Python中没有全等,或者与使用时的and和or更接近自然语言。Python中没有三元运算符A:B?通常的写法是c.

  (A and B) or C

  因为这样写有一定的缺陷,也可以写。

  B if A else C

  Python对赋值操作的一个重要改进是不允许赋值操作返回赋值的结果。这样做的好处是避免在应该使用相等判断时错误使用赋值操作。因为这两个操作符太像了,在自然语言上没有区别。

  ++运算符

  Python不支持++运算符,没错,你不再需要根据++符号在变量的左右位置来思考是先加一次赋值还是先加一次赋值。

  连续赋值

  使用元组(tuple),Python可以一次性赋予多个变量。 

  函数参数

  Python的函数参数支持命名参数和可选参数(提供默认值),使用方便。Javascript不支持可选参数和默认值(可以通过分析arguments来支持)  

 

    >>>>>>点击进入Python专题

 

赞(9)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程