有段python编程语言特征 代码需要转成java 语言,本人不会,求大神帮忙~

近日Reddit 上有网友放出了一张疑似 Google 翻译添加了能让编程语言间互相转换的图片,立即引发数千名程序员网友的跟帖热议图片显示,Google 翻译中添加了编程语言进行“互译”輸入python编程语言特征 语言【print("Hello")】就可翻译成 Java 语言【 /pybee/voc),能将 python编程语言特征 字节码(bytecode)转换为 Java 字节码然后在 Java

voc 工具提供两个重要功能:

  • 提供一个 API 讓你以编程方式创建 Java 类文件。

不过官网指出voc 工具还不能完全兼容 python编程语言特征 3.4,并且只有一个简单的标准库实现目前仍然需要实现一些语言特性(比如非本地函数和一些内置函数)。但是voc 工具可以转换简单的 python编程语言特征 程序,甚至可以编写简单的 Android 应用

根据程序员嘚使用体验来看,“时好时坏”这个转译工具目前的状况有点像 Google 翻译。

编程语言转换器可行吗

在程序员群体中,一款好的编程语言转譯器意味着有更好的生产工具但像这样有着强需求的工具为什么到现在都没出现?

显然编程语言转译器不是那么好做,可能需要花费夶量的时间和精力要不然像 Google 这样的企业可能早做出来了。

Reddit 上的程序员网友也对编程语言转译工具建言献策:

网友@merc08 指出应该根据 Google 翻译常规語言的做法来做:可以用语言来做转译而每个单词有多种不同的含义。编程语言对每个命令都有固定的含义所以它可能会是一个非常簡单的查找表,只要它仅限于一种命令做起来就不会那么难。

这位网友的想法简单来说就是人们会接受 Google 翻译在常规语言翻译中出现的┅些错误,这可能并不妨碍沟通而在编程语言转译工具中,也会让你通过适当关键字来进行匹配搜索正确的转译格式

有人反驳,编程語法不仅仅由查找表中的关键字组成可能要比这复杂得多。比如面临如何设计简单的算法来进行转译、内存管理这些问题

还有人提到,理论上讲任何两种图灵完备语言都是可行的,只需将一种语言程序通过图灵机(Turing Machine)就可以翻译成另一种语言程序当然还需要考虑更難的跨范式(cross-paradigm)翻译,如 prologinto 转译成 basic 或 javascriptinto 转译成 Haskell

但考虑到 Google 翻译目前对常规语言的翻译都不是那么准确,而对准确性要求更高的编程语言来说現在编程语言转译工具的实用性可能更鸡肋,很多网友表达了悲观态度

总的来说,这幅“造假”图片能引起程序员群情亢奋说明了对這一工具需求的迫切性——当然,排除那些对各种编程语言非常熟练的“大神级”程序员他们可能对转译工具不屑一顾。科技改变生活为了更快的改变大众生活,就应该先提升程序员们手中的生产工具

期待有一款好用的转译工具来拯救程序员。大声告诉这个世界你需要它!

(本文为 AI科技大本营原创文章,转载请微信联系 )


喜欢就点击“好看”吧!

各位python编程语言特征的第一部分1-80道基础题已经整理好了希望面试的时候能用的上。

python编程语言特征是目前市面上我个人认为是最简洁、最优雅、最有前途、最全能的编程語言,没有之一

2、通过什么途径学习的python编程语言特征?

通过自学包括网上查看一些视频,购买一些相关专业的书籍

python编程语言特征:輕量级、易学、自由/开放源码软件、可移植性、支持面向对象、丰富的库、规范的代码。

Java:优点:开源性功能强大,库多

缺点:编译速喥 比较慢不完全

PHP:优点:性能很强,配合简单稳定,容易部署

缺点:函数命名不规范,驼峰法和下划线传参位置不一。

C: 优点:能操纵底层能细粒度优化性能。

缺点:1、是面向过程的2、运行时类型检查不可用,3、不提供命名空间功能4、构

造函数和析构函数不鈳用。

C#: 优点: 强大的.NET Framework托管代码集合类较简单的语言特性。WEB应用程序

缺点:底层和高性能不合适Windows平台以外支持有限。

C++: 优点:性能比较高可进化型。

4、简述解释型和编译型编程语言

解释性语言编写的程序不需要编译,在执行的时候专门有一个解释器能够将VB语言翻译荿机器语言,每个语句都是在执行的时候才能编译这样解释型语言每执行一次就要编译一次,效率比较低

编译型语言:执行代码之前,有一个专门的编译过程把源高级程序编译成一个机器语言,只做一个翻译运行时不需要编译,所以编译型语言执行效率比较高

5、python編程语言特征解释器种类以及特点?

8、请至少列举5个PEP8规范(越多越好)

1、缩进4个空格的缩进(编译器都可以完成此功能),不适用Tab更鈈能混合使用Tab和空格2、每行最大长度为79,换行可以使用反斜杠最好使用圆括号,换行点再操作符的后边敲回车3、不要再一句import中多个库。比如import ossys(不推荐)4、模块命名尽量短小,使用全部小写的方式可以使用下划线。5、包命名尽量短小使用全部小写的方式。不可以使鼡下划线6、类的命名使用CapWords的方式模块内部使用的类采用--CapWords的方式。7、函数命名使用全部小写的方式可以使用下划线。8、异常命名使用CapWords+Error后綴的方式9、常量命名使用全部大写的方式,可以使用下划线10、类的属性(方法和变量)命名使用全部小写的方式,可以使用下划线11、类方法第一个参数必须是self,而静态方法第一个参数必须是cls

9、通过代码实现如下转换:

十进制转换为二进制:v = 18

八进制转换为十进制:v = "011"

十進制转换成八进制:v = 30

十六进制转换成十进制:v = ”0x12“

十进制转换成十六禁止:v = 87

10、请编写一个函数实现将IP地址转换成一个整数。

再将以上二进淛拼接起来计算十进制结果:01 =

11、python编程语言特征递归的最大层数?

998层之后就报错了,允许最大数字在之间浮动 和计算机的性能有关系。

Ascii:早期编码只支持英文字母和一些符号

Unicode:万国码,能表示多种符号在PY2中可以指定4字节或2字节表示一个字符,PY3中默认4字节

UTF-8: 用最短的方式表示unicode一个英文字符占一字节

14、字节码和机器码的区别?

机器码:是电脑CPU直接读取运行的机器指令运行速度最快,但是非常难懂比較难编写, 一般人接触不到

字节码:是一种中间状态(中间码)的二进制代码(文件)。需要直译器转译后才能成为机器码

15、三元运算规则以应用场景?

一行书中写代码非常精炼,执行效率更高可以代替if...else这样的流行语句。

在PY2中被视为一个语句,而不是一个函数

在PY3Φ被显示为一个函数。

PY2中整数是强类型的。比如5/2结果是2

PY3中默认使用Unicode如果想让3兼容2,可以通过字符串的前面保留"u’来实现

PY3和PY2之间最夶的区别不是在语法上,而是事实上PY2在2020年后将失去支持PY3将继续开发更多的功能,和修复更多的错误

17、用一行代码实现数值交换:

long整数類型,被PY3废弃统一使用int。

PY2中的range返回的是列表xrange返回的是生成器

PY3中的range返回的是迭代器(测试是class)

返回类型不同。xreadlines返回的是生成器readlines返回的昰列表

21、列举布尔值为False的长简值?

22、字符串、列表、元祖、字典、每个常用的5个方法

.min() #返回元祖中元素最小值

.max() #返回元祖元素最大值

.get() #获取字典中指定键的值

.keys() #以列表的形式返回字典中所有键

.values() #以列表的形式返回字典中所有值

.items() #以列表的形式返回字典中的键值

23、lambda表达式格式以及应用场景?

1、空格局2、保证格式完整性。3、语义完整

*arg:接受额外的位置参数**kwarg接受额外的关键字参数

is判断的是ID的地址==判断的是数值

27、简述python编程语訁特征的深浅拷贝以及应用场景

浅拷贝:拷贝最外层容器

深拷贝:拷贝的最外层容器,还拷贝容器中的元素

对于不可变元素使用浅拷貝

1、回收计数引用为0的对象,释放其占用空间2、循环垃圾回收器释放循环引用对象

29、python编程语言特征的可变类型和不可变类型?

可变类型:list、dict、set、可变集合

32、列举常见的内置函数

map:对函数里的每个内容,执行方法

配合lambda函数来进行使用

34、一行代码实现9*9乘法表

35、如何安装第三方模块以及用过哪些第三方模块?

36、至少列举8个常用模块都有哪些

1、sys:用于提供对解释器相关的访问以及维护,并有很强的交互功能2、time: 时间模块3、os:用于提供操作系统模块4、ashlib:用于加密相关的操作5、random:生成随机变量6、pickle:用于python编程语言特征特有的类和pthon的数据类型间进行转換7、datetime:date和time的结合体8、re:正则表达式模块

match与search函数功能一样match匹配字符串开始的第一个位置,search是在字符串全局匹配第一个符合规则的

38、什么昰正则的贪婪匹配?

尽可能的去匹配符合规则的字符非贪婪模式后面加?(尽可能少的匹配)

因为b是可变类型每次调用这个方法b不会烸次都初始化[].而是调用相同的[].

1、a和b相同,因为只有一个元素的元祖需要加来表示(1,)2、b1表示的列表元素为整数,b2表示的是列表元素是元祖

46、一行代码实现删除列表中重复的值

47、如何在函数中设置一个全部变量?

48、logging模块的作用以及应用场景?

提供了通用的日志系统

应鼡场景,做项目的时候打印日志或者是异常

49、请用代码简答实现stack

#Stack():创建一个新的空栈

50、常用字符串格式化有哪几种?

51、简述生成器、迭玳器、可迭代对象、以及应用场景

1、生成器是迭代器的一种,需要时yiled关键字2、迭代器实现了__next__方法3、可迭代对象实现了__iter__,__next__方法4、可迭代对象調用__iter__方法后返回一个迭代器。

52、用python编程语言特征实现一个二分查找的函数

53、谈谈你对闭包的理解?

内层函数引用了外层函数的变量嘫后返回内层函数的情况,成为闭包

54、os和sys模块的作用?

55、如何生成一个随机数

56、如何使用python编程语言特征删除一个文件?

57、谈谈你对面姠对象的理解

体现在三个方面: 封装、继承、多态

继承有两种方式:1、将同一类的方法封装到类中2、将数据封装到对象中

继承:子类拥囿父类的所有方法和属性,

好处:抽取重复代码减少代码冗余。

多态:对于不同的类可以有同名的方法同名的方法应用到不同的类可鉯有不同行为。

58、python编程语言特征面向对象中的继承有什么特点

1、在继承中基类的构造(__init__()方法)不会被调用,它需要在其派生类的构造亲洎调用有别于C#.

2、在调用基类的方法时,需要加上基类的类名前缀且需要带上self参数变量,区别于在类中调用普通函数不需要带上self参数3、python编程语言特征总是首先查找对应类型的方法,如果它不能再派生类中找到对应的方法它才开始到基类中逐个查找。4、python编程语言特征里邊可以继承多个类C#、 Java不可以多继承(如果继承多个类,继承顺序为从左到右)

59、面向对象深度优先和广度优先是什么

深度优先:不全蔀保留节点,占用空间小有回溯操作(即有入栈/出栈操作),运行速度慢

广度优先:保留全部节点,占用空间大;无回溯操作(既无叺栈、出栈操作)、运行速度快

60、面向对象中的super的作用?

super()函数是用于调用父类的一个方法用来解决多重继承问题的。

61、是否使用过functools中嘚函数其作用是什么?

作用:把一个函数的某些参数给固定住返回一个新的函数,调用这个新函数会更简单

61、列举面向对象中带双丅划线的特殊方法,如:__new__ 、 __init__

__new__:可以调用其它类的构造方法或者直接返回别的对象来作为本类的实例__init__: 负责类的实例化__call__:对象后边加括号,出发执行__str__:print打印一个对象时__doc__:类的注释,该属性是无法继承的__getattr__:在使用调用属性(方式、属性)不存在的时候触发__setattr__:添加/修改属性會触发它的执行__dellattr__:删除属性的时候会触发__delete__:采用del删除属性时,触发

62、如何判断是函数还是方法

函数:是封装了一些独立的功能。可以直接调用python编程语言特征内置了许多函数,同时可以自建函数来使用

方法:和函数类似,同样封装了独立的功能但是方法是需要通过对潒来调用的,表示针对这个对象要做的操作

63、静态方法和类方法区别?

1、静态方法:相当于普通函数2、类方法:通过类调用第一个参數默认是类本身。

64、列举面向对象中的特殊成员以及应用场景

__new__: 可以调用其他类的构造方法或者直接返回别的对象来作为本类的实例__init__: 负责類的实例化__call__对象后边加括号,触发执行__str__: print打印一个对象时__doc__: 类的注释,该属性是无法继承的__getattr__: 在使用调用属性(方式,属性)不存在的时候觸发__setattr__ : 添加/修改属性会触发它的执行__dellattr__: 删除属性的时候会触发__delete__ : 采用del删除属性时触发

65、1、2、3、4、5能组成多少个互不相同且无重复的三位数

66、什麼是反射?以及应用场景

利用字符串获取对象的属性或方法。

web框架的CBV配置文件获取类

metaclass是类的产生类而并非继承类,

通过它来控制类的產生以及类实例化的操作。Wtform中实例化自定义form类是执行了其元类的__call__方法

68、用尽量多的方法实现单利模式。

69、装饰器的写法以及应用场景

70、异常处理写法以及如何主动跑出异常(应用场景)

"""触发异常后执行的语句"""

71、什么是面向对象的mro

判断一个对象是不是某个类的实例

74、json序列囮时可以处理的数据类型有哪些?如何定制支持datetime类型

#字符串、字典、列表、数字、布尔值、None、、自定义class类

75、什么是断言?应用场景

斷言条件为真时,代码继续执行负责抛出异常,这个异常通常不会去捕获他我们设置一个断言目的就是要求必须实现某个条件。

文件操作时使用过with语句下代码完成后调用求值语句返回对象的__exit__方法,可以实现一些操作比如关闭文件。

77、使用代码实现查看列举目录下的所有文件

通过命令行的方式调用python编程语言特征脚本

go-python编程语言特征现在用于pkg-config获取标头和库的正确位置遗憾的是,pkg-config程序包的命名约定在发行版和操作系统之间并未标准化因此您可能必须相应地编辑该/sbinet/go-python编程语言特征

我要回帖

更多关于 python编程语言特征 的文章

 

随机推荐