這篇文章主要介紹了python和javascript的區別是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
Python和Javascript都是腳本語言,所以它們有很多共同的特性,都需要解釋器來運行,都是動態類型,都支持自動內存管理,都可以調用eval()來執行腳本等等腳本語言所共有的特性。
然而它們也有很大的區別,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和javascript的區別是什么內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。