天天看點

python3與JavaScript簡單的對比入門教程0.注釋與代碼塊1.變量2.字元串4.循環周遊5.函數6.集合

本文隻是粗略比較python3與JavaScript的一些基本程式設計中文法不相同的地方

如果你想深入了解推薦閱讀其官方文檔或其他網站更加詳細的教程

0.注釋與代碼塊

JavaScript:

//單行注釋
/*
 * 多行
 * 注釋
 */
           

python:

#單行注釋
'''
多行
注釋
'''
           

行和縮進

學習Python與其他語言最大的差別就是,Python的代碼塊不使用大括号({})來控制類,函數以及其他邏輯判斷。python最具特色的就是用縮進來寫子產品。

1.變量

變量聲明與指派

//變量聲明指派
var a = "變量a";
var A = "變量A";
console.log(a);
console.log(A);
//多個變量指派
var a = "變量a",
    A = "變量A";
console.log(a, A);
           
#變量聲明指派
a = "變量a";
A = "變量A";
print(a);
print(A);

#多個變量指派
a,A = "變量a", "變量A";
print(a, A);
           

變量交換

var b = 1,
    c = 2;
console.log(b, c);
[b, c] = [c, b]
console.log(b, c);
           
b,c=1,2
print(b,c);
b,c=c,b
print(b,c);
           

常用變量類型

//typeof(??)<--用來檢視類型
console.log(typeof(1))
console.log(typeof(1.0))
console.log(typeof('a'))
console.log(typeof('aaaa'))
console.log(typeof([]))
console.log(typeof({}))
           
#type(??)<--用來檢視類型
print(type(1))
print(type(1.0))
print(type('a'))
print(type('aaaa'))
print(type([]))
print(type({}))
           

常用變量類型轉換

console.log(typeof((1).toString()), "轉為字元串類型")
console.log(typeof(parseInt("123")), "轉為數字類型")
console.log(typeof(Number("123")), "轉為數字類型")
console.log(typeof(parseFloat("123")), "轉為帶小數點的數字類型")
           
print(type( str(1) ),"轉為字元串類型")
print(type( int("123") ),"轉為數字類型")
print(type( float("123") ),"轉為浮點類型")
           

删除變量

var d = "aaa"
console.log(d)
delete d
           
d="aaa"
print(d)
del d
           

2.字元串

字元串截取

//"xxx".substring(開始索引,結束索引但不包括 結束索引 處的字元)
//"xxx".substring(開始索引,截取長度)
var e = "0123456abcdef"
console.log("完整截取:", e.substring(0, e.length));
console.log("完整截取:", e.substr(0, e.length));
console.log("截取012:", e.substring(0, 3));
console.log("截取012:", e.substr(0, 3));
console.log("截取索引為10值:", e[10]);
           
e="0123456abcdef"
print("完整截取:",e[:-1])
print("截取012:",e[0:3])
print("截取索引為10值:",e[10])
           

字元串更新

console.log("更新字元串 :", e.substr(0, 6) + 'hahahhaha!')
           
print("更新字元串 :", e[:6] + 'hahahhaha!')
           

英文大小寫轉換

console.log("轉大寫:", e.toUpperCase());
console.log("轉小寫:", e.toLowerCase());
           
print("轉大寫:",e.upper())
print("轉小寫:",e.lower())
           

判斷是否存在字元

console.log("正确輸出:", e.indexOf("a"))
console.log("錯誤輸出:", e.indexOf("A"))
           
print("正确輸出:","a" in e)
print("錯誤輸出:","A" in e)
           

輸出指定重複數

console.log("10輸出:", new Array(10 + 1).join(e)) //通過将空數組拼接時中間插入字元串
           
print("10輸出:",e*10)
           

換行輸出

console.log("第一行\n" + 
"第二行\n" +
 "第三行\n");
           
print('''第一行
第二行
第三行''');
           

切割字元串

console.log(e.split(''))
console.log(e.split('a'))
           
print(list(e))
print(e.split('a'))
           

4.循環周遊

輸出0~99的整數

for (var o = 0; o < 100; o++) {
    console.log(o)
}
           
for i in range(0,100):
    print(i)
           

數組周遊

var f = ["0", "1", "2", "3", "4", "5", "6", "a", "b", "c", "d", "e", "f"];
for (i in f) {
    console.log("值:" + f[i], "索引" + i);
}
//或使用:
f.forEach(function(v, i) {
    console.log("值:" + v, "索引" + i);
});
           
#普通周遊
f=["0", "1", "2", "3", "4", "5", "6", "a", "b", "c", "d", "e", "f"]
for i in f:
    print(i)
#含索引
for i,v in enumerate(f):
    print("值:"+v,"索引"+str(i))
#或含索引
for i in range(0,len(f)):
    print("值:" + f[i], "索引" + i)
           

5.函數

//空函數
function g0() {}
//帶參數與傳回值
function g1(v1, v2, v3 = "預設值") {
    return 1;
}
//帶參數與傳回值或
g2 = function(v1, v2, v3 = "預設值") {
    return 2;
}
//多傳回值
function g3(v1, v2, v3 = "預設值") {
    return [1, 2];
}
           
#空函數
def g0():pass
#帶參數與傳回值
def g1(v1,v2,v3="預設值"):
    return 1
#多傳回值
def g3(v1,v2,v3="預設值"):
    return 1,2
           

6.集合

arr=[1,2,3,1,1,1,"ccc","effd","ccc"]
//去除重複
//略.....
//數組拼接
var c=arr.concat([9,10,11] );
//擷取長度
console.log(c.length);
//判斷是否存在
console.log(c.indexOf(3));
//追加元素
c.push("元素");
           

python

arr=[1,2,3,1,1,1,"ccc","effd","ccc"]
#去除重複 
print(list(set(arr)) )
#數組拼接
c=ar+[9,10,11] ;
#擷取長度
print(len(c))
#判斷是否存在
print(3 in c)
#追加元素
c.append("元素");