创新互联Python教程:python和javascript的区别

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

在网站设计、成都网站制作中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联公司专业成都网站建设十多年了,客户满意度97.8%,欢迎成都创新互联客户联系。

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

编程范式

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

python中

01	class 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	## 创建实例
16	ea = Employee("a",1000)
17	eb = Employee("b",2000)

JavaScript中

var empCount = 0;
02	//构造函数
03	function Employee(name, salary){
04	    this.name = name;
05	    this.salary = salary;   
06	    this.empCount += 1;
07	}
08	 
09	Employee.prototype.displayCount = function(){
10	    console.log("Total Employee " + empCount );
11	}
12	 
13	Employee.prototype.displayEmployee = function(){
14	    console.log("Name " + this.name + ", Salary " + this.salary );
15	}
16	//创建实例
17	var ea = new Employee("a",1000);
18	var eb = new Employee("b",2000);

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

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

新闻标题:创新互联Python教程:python和javascript的区别
链接URL:http://www.zyruijie.cn/qtweb/news6/6306.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联