Python和Javascript都是脚本语言,所以它们有很多共同的特性,都需要解释器来运行,都是动态类型,都支持自动内存管理,都可以调用eval()来执行脚本等等脚本语言所共有的特性。
然而它们也有很大的区别,Javascript这设计之初是一种客户端的脚本语言,主要应用于浏览器,它的语法主要借鉴了C,而Python由于其“优雅”,“明确”,“简单”的设计而广受欢迎,被应用于教育,科学计算,web开发等不同的场景中。
编程范式
Python和Javascript都支持多种不同的编程范式,在面向对象的编程上面,它们有很大的区别。Javascript的面向对象是基于原型(prototype)的, 对象的继承是由原型(也是对象)创建出来的,由原型对象创建出来的对象继承了原型链上的方法。而Python则是中规中矩的基于类(class)的继承,并天然的支持多态(polymophine)。
python中
01 classEmployee: 02 'Commonbaseclassforallemployees' 03 empCount=0##类成员 04 05 def__init__(self,name,salary): 06 self.name=name 07 self.salary=salary 08 Employee.empCount+=1 09 10 defdisplayCount(self): 11 print"TotalEmployee%d"%Employee.empCount 12 13 defdisplayEmployee(self): 14 print"Name:",self.name,",Salary:",self.salary 15 ##创建实例 16 ea=Employee("a",1000) 17 eb=Employee("b",2000)
JavaScript中
varempCount=0; 02 //构造函数 03 functionEmployee(name,salary){ 04 this.name=name; 05 this.salary=salary; 06 this.empCount+=1; 07 } 08 09 Employee.prototype.displayCount=function(){ 10 console.log("TotalEmployee"+empCount); 11 } 12 13 Employee.prototype.displayEmployee=function(){ 14 console.log("Name"+this.name+",Salary"+this.salary); 15 } 16 //创建实例 17 varea=newEmployee("a",1000); 18 vareb=newEmployee("b",2000);
因为是基于对象的继承,在Javascript中,我们没有办法使用类成员empCount,只好声明了一个全局变量,当然实际开发中我们会用更合适的scope。注意Javascript创建对象需要使用new关键字,而Python不需要。
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容