Python和Java的语法对比分析语法简洁上python的确完美胜出


Posted in Python onMay 10, 2019

Python是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的LISP。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。

Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错误的指针,以引用取代;移除了C++中的运算符重载和多重继承特性,用接口取代;增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”。

那么Python和Java在语法上有什么区别呢,让我们通过几个生动的例子来一探究竟。

目标1:输出hello,world

Python版

print("hello,world")

Java版

public class HelloWorld { //这里的HelloWorld需要与文件名相同
public static void main(String[] args) {


System.out.println("hello,world");

}
}

目标2:获取键盘输入,并输出

Python版

name = input("请输入您的名字:")
print(name)

Java版

import java.util.Scanner;
public class inputstr {
  public static void main(String[] args) {
    System.out.println("请输入您的名字:");
    String name = new Scanner(System.in).next();
    System.out.println(name);
  }
}

目标3:输出1到10的随机一个数字

Python版

import random
print(random.randint(1,10))

Java版

import java.util.Random;
public class prandom {
  public static void main(String[] args) {
    System.out.println(new Random().nextInt(10)+1)
}
}

目标4:指定一个列表或数组,[51, 22, 93, 17, 77, 31, 44, 55, 20],请对其快速排序

Python版

def quicksort(lis):
  if len(lis) < 2:
    return lis
  mid = lis[len(lis)//2]
  lis.remove(mid)
  left, right = [], []
  for li in lis:
    if li >= mid:
      right.append(li)
    else:
      left.append(li)
  return quicksort(left) + [mid] + quicksort(right)
if __name__ == "__main__":
  li = [51, 22, 93, 17, 77, 31, 44, 55, 20]
  newl = quicksort(li)
  print(newl)

Java版

import java.util.ArrayList;
public class quickpractise {
  public static void main(String[] args) {
    int list[] = {51, 22, 93, 17, 77, 31, 44, 55, 20};
    ArrayList<Integer> lis = new ArrayList<>();
    for (int i=0;i<list.length;i++){
      lis.add(list[i]);
    }
    ArrayList<Integer> newl = quicksort(lis);
    System.out.println(newl);
  }
  public static ArrayList<Integer> quicksort(ArrayList<Integer> lis) {
    if (lis.size() < 2) {
      return lis;
    }
    int len = lis.size()/2;
    int mid = lis.get(len);
    lis.remove(len);
    ArrayList<Integer> left = new ArrayList<>();
    ArrayList<Integer> right = new ArrayList<>();
    for (int i=0;i<lis.size();i++){
      int a = lis.get(i);
      if (a>=mid){
        right.add(a);
      }
      else{
        left.add(a);
      }
    }
    ArrayList<Integer> left1 = quicksort(left);
    ArrayList<Integer> right1 = quicksort(right);
    left1.add(mid);
    for (int i=0;i<right1.size();i++){
      left1.add(right1.get(i));
    }
    return left1;
  }
}

最后总结一下,在Java中每使用一个变量都要定义类型,函数定义的时候如果有返回值还要把返回类型也要写上。python中定义列表很简洁不需要通过指定个数和内容来定义,Java中定义了个数以后是不能变的,如果需要可以变需要通过ArrayList<>来定义,类型也需要指定。总体感觉在同样的思路下,去完成一个代码,python的确完美胜出,正应了那句话:"Life is short,I use python"。

总结

以上所述是小编给大家介绍的Python和Java的语法对比分析语法简洁上python的确完美胜出,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python使用在线API查询IP对应的地理位置信息实例
Jun 01 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
详解Python3注释知识点
Feb 19 Python
Python3.8中使用f-strings调试
May 22 Python
通过字符串导入 Python 模块的方法详解
Oct 27 Python
Python hashlib模块实例使用详解
Dec 24 Python
Python中断多重循环的几种方式详解
Feb 10 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
在keras 中获取张量 tensor 的维度大小实例
Jun 10 Python
Python Django搭建文件下载服务器的实现
May 10 Python
Python os和os.path模块详情
Apr 02 Python
Python3列表内置方法大全及示例代码小结
May 10 #Python
详解python 爬取12306验证码
May 10 #Python
详解用python写一个抽奖程序
May 10 #Python
python实现小球弹跳效果
May 10 #Python
基于python实现百度翻译功能
May 09 #Python
python使用time、datetime返回工作日列表实例代码
May 09 #Python
python 对字典按照value进行排序的方法
May 09 #Python
You might like
通过对服务器端特性的配置加强php的安全
2006/10/09 PHP
PHP 基本语法格式
2009/12/15 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
动态JavaScript所造成一些你不知道的危害
2016/09/25 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
js和jquery中获取非行间样式
2017/05/05 jQuery
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python完全新手教程
2007/02/08 Python
Python导出DBF文件到Excel的方法
2015/07/25 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
Python2与Python3的区别实例总结
2019/04/17 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
医院实习接收函
2014/01/12 职场文书
保安的辞职报告怎么写
2014/01/20 职场文书
上班玩手机检讨书
2014/02/17 职场文书
海飞丝的广告词
2014/03/20 职场文书
班主任对学生的评语
2014/04/26 职场文书
职务任命书范本
2014/06/05 职场文书
禁毒宣传标语
2014/06/19 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript