Python和JavaScript之间的语义有什么不同?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (50)

这两种语言在我看来都非常相似。虽然Python支持实际的类而不是基于原型的类,但是Python类与生成包含值和函数的对象的函数并没有那么大的区别,就像在JavaScript中所做的那样。另一方面,JavaScript只支持作为内置数据类型的浮点数字和字符串.

除了这些之外,它们之间还有什么更重要的区别呢?

提问于
用户回答回答于
  1. Python中的经典继承,ECMAScript中的原型继承
  2. ECMAScript是一个大括号和分号语言,而Python是基于空格和缩进/块的
  3. varPython中没有关键字,ECMAScript中的隐式全局变量,都在词汇范围内
  4. 在Python 2.5及更低版本中的闭包有些“有限”,因为绑定是只读的,你不能像访问ECMAScript那样访问私有变量
  5. undefinedPython中没有。
  6. Python中的不可变列表数组(元组)
  7. switch在Python中没有声明
  8. ECMAScript 3没有yield声明,也没有let表达式/声明,也没有array comprehensions - 但是这些都包含在Mozilla的非标准JS中
  9. ECMAScript中的本机Unicode字符串
  10. 关键字操作符,如andisnot在Python中使用
  11. Python不支持类似的计数器 i++
  12. Python的for循环是“智能”的,所以你不需要使用计数器来枚举列表,也不会遇到从继承的原型属性 Object.prototype
  13. 不必用new在Python中使用运算符来创建对象
  14. Python是duck-typed
用户回答回答于

在python中,“Self”显式地传递给成员函数,而不是一个特殊的关键字或任何东西。在javascript中,“this”是动态限定作用域的。你可以通过调用application()来修改成员函数的作用域。

扫码关注云+社区

领取腾讯云代金券