python和javascript的区别_python和javascript的区别

5db149c3a2191777.gif

Python和Javascript都是脚本语言,所以它们有很多共同的特性,都需要解释器来运行,都是动态类型,都支持自动内存管理,都可以调用eval()来执行脚本等等脚本语言所共有的特性。

然而它们也有很大的区别,Javascript这设计之初是一种客户端的脚本语言,主要应用于浏览器,它的语法主要借鉴了C,而Python由于其“优雅”,“明确”,“简单”的设计而广受欢迎,被应用于教育,科学计算,web开发等不同的场景中。

编程范式

Python和Javascript都支持多种不同的编程范式,在面向对象的编程上面,它们有很大的区别。Javascript的面向对象是基于原型(prototype)的, 对象的继承是由原型(也是对象)创建出来的,由原型对象创建出来的对象继承了原型链上的方法。而Python则是中规中矩的基于类(class)的继承,并天然的支持多态(polymophine)。

python中01class Employee:

02 'Common base class for all employees'

03 empCount = 0 ##类成员

04

05 def __init__(self, name, salary):

06 self.name = name

07 self.salary = salary

08 Employee.empCount += 1

09

10 def displayCount(self):

11 print "Total Employee %d" % Employee.empCount

12

13 def displayEmployee(self):

14 print "Name : ", self.name, ", Salary: ", self.salary

15## 创建实例

16ea = Employee("a",1000)

17eb = Employee("b",2000)

JavaScript中var empCount = 0;

02//构造函数

03function Employee(name, salary){

04 this.name = name;

05 this.salary = salary;

06 this.empCount += 1;

07}

08

09Employee.prototype.displayCount = function(){

10 console.log("Total Employee " + empCount );

11}

12

13Employee.prototype.displayEmployee = function(){

14 console.log("Name " + this.name + ", Salary " + this.salary );

15}

16//创建实例

17var ea = new Employee("a",1000);

18var eb = new Employee("b",2000);

因为是基于对象的继承,在Javascript中,我们没有办法使用类成员empCount,只好声明了一个全局变量,当然实际开发中我们会用更合适的scope。注意Javascript创建对象需要使用new关键字,而Python不需要。

除了原生的基于原型的继承,还有很多利用闭包或者原型来模拟类继承的Javascript OO工具,因为不是语言本身的属性,我们就不讨论了。更多学习内容,请点击python学习网。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值