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实现在pickling的时候压缩的方法
Sep 25 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 Python
python3中set(集合)的语法总结分享
Mar 24 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
python3 反射的四种基本方法解析
Aug 26 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
利用pandas向一个csv文件追加写入数据的实现示例
Apr 23 Python
详解python tcp编程
Aug 24 Python
Python pickle模块常用方法代码实例
Oct 10 Python
PyQt5的QWebEngineView使用示例
Oct 20 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 MSSQL 存储过程的方法
2008/12/24 PHP
PHP取进制余数函数代码
2012/01/19 PHP
php页面防重复提交方法总结
2013/11/25 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
PHP中使用imagick生成PSD文件缩略图教程
2015/01/26 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
JS实现的tab切换选项卡效果示例
2017/02/28 Javascript
Angular实现下拉框模糊查询功能示例
2018/01/03 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
浅谈python numpy中nonzero()的用法
2018/04/02 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
考试不及格检讨书
2014/01/09 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
升学宴学生答谢词
2015/01/05 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
Python基础 括号()[]{}的详解
2021/11/07 Python
Pycharm远程调试和MySQL数据库授权问题
2022/03/18 MySQL