一、前言
C、Java、Python作為常據世界編程語言排行榜前三甲的語言,必然有其得天獨厚的優勢,以下是2021年5月最新的高級編程語言排行榜,可以看到,Python已經超越Java語言躍居世界第二位,為什么Python越來越受歡迎了呢?看完以下幾個例子,你就知道為什么了!Python推崇的宗旨就是簡潔、簡單,

二、Python的優缺點
首先,我們老生常談,理論上闡述一下Python的優缺點,
2.1 優勢
Python的優勢主要有以下幾個:
- Python的語法非常簡潔,沒有變數型別,
- Python是開源的,這意味著普羅眾生皆可查閱Python代碼,甚至為Python的發展貢獻自己的一份力量
- Python是解釋型語言,這意味著可以跨平臺運行
- Python的功能強大,一些大神把能想到的功能都以第三方Python庫的形式進行實作,我們只需呼叫這個庫即可,你想想,連表情都有一個第三方庫,Python可以說,除了生孩子,別的都能干!

2.2 不足
Python也并不是完美無瑕的,任何一種語言都有其存在的道理,有其優勢及劣勢,Python也并不是沒有劣勢,劣勢主要有2個:
- Python的運行速度較慢,不過現在看來,這已經不是Python的劣勢了,Python運行速度較慢說的是Python剛開源的時候,
- 由于Python是開源的,因此Python代碼的加密處理很困難,但這何嘗又不是一種優勢呢?
三、5個案例讓你有想學Python的沖動
上述都是文字描述Python有多好多好,下面通過幾個案例感受一下Python的簡潔!看完你就想學Python了!
3.1 交換變數值
Python
a, b = 3, 4
a, b = b, a # 變數值互換
print(a, b)
Python一行即可實作變數值互換,而C和Java呢?我們繼續往下看,
C
int a = 3;
int b = 4;
int temp = a;
a = b;
b = temp;
printf("a = %d, b = %d", a, b)
Java
int a = 3;
int b = 3;
int temp = a;
a = b;
b = temp;
System.out.println(a);
System.out.println(b);
C和Java語言至少需要3行代碼,而Python只需一行即可,這便是Python的優勢所在,簡潔簡單,
3.2 篩選串列
Python
# 選出比5大的數
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
a = [x for x in lst if x > 5]
print(a)
由于C語言中沒有串列這一容器,所以在這里不進行代碼演示,
Java
List list = new ArrayList();
int i;
for(i = 1; i < 10; i++){
list.add(i);
}
for(i =1; i<10; i++){
if(i <= 5){
list.remove(i);
}
}
Python有多簡潔,在這里已經可以顯而易見了,
3.3 檢查串列中是否有數字
Python
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
num = int(input('請輸入要檢驗的數字:'))
if num in lst:
print(num)
Java
List list = new ArrayList();
int i;
for(i = 1; i < 10; i++){
list.add(i);
}
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
for(i =1; i<10; i++){
if(i == num){
System.out.println(i);
break;
}
}
3.4 超級超級簡潔的Lambda運算式
# 傳入1個引數的Lambda運算式
p = lambda x:x**2
print(p(3))
# 傳入2個引數的Lambda運算式
p = lambda x,y:x*(y**2)
print(p(3,4))
# 傳入多個引數的Lambda運算式
p = lambda x, y, z: x * y * z
print(p(1, 2, 3))
3.5 計算串列中偶數的和
Python
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
lst_sum = sum([x for x in lst if x % 2 == 0])
print(lst_sum)
Java
List list = new ArrayList();
int i;
int sum = 0;
for(i = 1; i < 10; i++){
list.add(i);
}
for(i = 1; i < 10; i++){
if(i % 2 ==0){
sum+=i;
}
}
System.out.println(sum);
覺得寫的不錯的話,歡迎點贊+評論+收藏,這對我幫助真的很大很大很大!歡迎關注我的公眾號!
文章持續更新,可以關注微信公眾號【醫學影像人工智能實戰營】獲取最新動態,一個專注于醫學影像處理領域前沿科技的公眾號,堅持以實踐為主,手把手帶你做專案,打比賽,寫論文,凡原創文章皆提供理論講解,實驗代碼,實驗資料,更有上百部深度學習入門資料免費等你來拿,只有實踐才能成長的更快,關注我們,一起學習進步~

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286187.html
標籤:AI
上一篇:10分鐘實作簡易Vue拖拽排序
