本文隻是粗略比較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("元素");