据说Python使用率超越Java语言,跃居世界编程语言第2位了
Python java C Matlab Mathematica

一、前言

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);

————————————————

以上部分内容为CSDN博主「奋斗丶」的原创文章。

原文链接:https://blog.csdn.net/dongjinkun/article/details/117555745

 

但引用一位前辈的话【抛开应用场景做的比较都是没有意义的】。艾易欧小编深以为然,各种语言都是程序设计的一种表达组织方式,最终目标是实现应用场景功能。很多时间是根据场景选用语言或者依据你所在部门的项目传统使用。

Python是挺好的,Java和C、C++在艾易欧也很常用,Matlab和Mathematica在建模和复杂数值计算也很方便,不可少,并不能只论语言的部分简洁程度。

比如mathlab的实现

%读取音频文件的第2-10s察看一下波形

————————————————
fs = 44100;
[y,fs]=audioread('0000.wav',[2*fs,10*fs]);
figure('name',"audio file amplitude-sampled point wave shape");
plot(y);

————————————————

%例如Mathlab仅两行代码就能把ieo机器人3D模型给加载和显示出来,非常方便

robot = importrobot('F:/ieo_Robot/ieoRobot/urdf/ieoRobot.urdf');

show(robot)

————————————————

 

Copyright © 深圳市艾易欧科技有限公司 All rights reserved.

 

粤ICP备14038518号