這幾天在學習Python,鄙人平時學習中為了方便記憶和更好的比較與理解語言二者之間在某些情況的優劣性,所以花了點時間,整理了一下 Python 和 PHP 常用語法的一些區別。
一、大小寫
PHP:
- 所有用戶定義的函數、類和關鍵詞(例如 if、else、echo 等等)都對大小寫不敏感;
- 所有變量都對大小寫敏感。
Python:
1. 大小寫敏感的。
二、變量
PHP:
1. 以“$”標識符開始 如 $a = 1 方式定義
Python:
1. 直接定義 如 a = 1 方式
三、數組/集合
PHP:
// 定義 $arr = array('Michael', 'Bob', 'Tracy'); // 調用方式 echo $arr[0] // Michael // 數組追加 array_push($arr, "Adam"); // array('Michael', 'Bob', 'Tracy','Adam');
Python:
# list方式(可變) classmates = ['Michael', 'Bob', 'Tracy'] # 調用方式 print(classmates[0]) # 'Michael' # 末尾追加元素 classmates.append('Adam') # ['Michael', 'Bob', 'Tracy', 'Adam'] # 指定插入位置 classmates.insert(1, 'Jack') #['Michael', 'Jack', 'Bob', 'Tracy'] # 刪除指定元素 classmates.pop(1) #['Michael', 'Bob', 'Tracy']
這里要說一下,Python的數組類型有以下幾種:
- list:鏈表,有序的項目,通過索引進行查找,使用方括號“[]”;
- test_list = [1, 2, 3, 4, 'Oh']
- tuple:元組,元組將多樣的對象集合到一起,不能修改,通過索引進行查找,使用括號”()”;
- test_tuple = (1, 2, 'Hello', (4, 5))
- dict:字典,字典是一組鍵(key)和值(value)的組合,通過鍵(key)進行查找,沒有順序, 使用大括號”{}”;
- test_dict = {'Wang' : 1, 'Hu' : 2, 'Liu' : 4}
- set:集合,無序,元素只出現一次, 自動去重,使用”set([])”
- test_set = set(['Wang', 'Hu', 'Liu', 4, 'Wang'])
打印:
print(test_list) print(test_tuple) print(test_dict) print(test_set)
輸出:
[1, 2, 3, 4, 'Oh']
(1, 2, 'Hello', (4, 5))
{'Liu': 4, 'Wang': 1, 'Hu': 2}
set(['Liu', 4, 'Wang', 'Hu'])
四、條件判斷
PHP:
if($age = 'man'){ echo "男"; }else if($age < 20 and $age > 14){ echo "女"; }else{ echo "嗯哼"; }
Python:
sex = '' if sex == 'man': print('男') elif sex == 'women': print('女') else: print('這~~')
五、循環
PHP:
$arr = array('a' => '蘋果', 'b' =>'三星', 'c' => '華為', 'd' => '谷歌'); foreach ($arr as $key => $value){ echo "數組key:".$key."<br>"; echo "key對應的value:".$value."<br>"; }
Python:
arr = {'a': '蘋果', 'b': '三星', 'c': '華為', 'd': '谷歌'} # 第一種 for (key,value) in arr.items(): print("這是key:" + key) print("這是key的value:" + value) # 第二種 for key in arr: print("這是key:" + key) print("這是key的value:" + arr[key])
六、函數
PHP:
function calc($number1, $number2 = 10) { return $number1 + $number2; } print(calc(7));
Python:
def calc(number1, number2 = 10): sum = number1 + number2 return sum print(calc(7))
有什么講錯的地方或者好的建議,歡迎留言。