Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于Python的一些基本澄清?_Python_Jython - Fatal编程技术网

关于Python的一些基本澄清?

关于Python的一些基本澄清?,python,jython,Python,Jython,昨晚我遇到了一个叫Jython的术语,这个术语对我来说有点陌生,所以我开始阅读它,只是为了让我对Python的理解更加混乱。我也从未真正使用过Python。这就是我感到困惑的地方 Python是用C实现的——这意味着解释器是用C编写的还是解释器将Python源代码转换为C CPython只不过是原始的Python&这个术语是后来为了将它与Jython区分开来而创造的,对还是错 现在Python是用C实现的(不确定这意味着什么),但这是否意味着Python可以与任何C代码无缝集成 Jython是一

昨晚我遇到了一个叫Jython的术语,这个术语对我来说有点陌生,所以我开始阅读它,只是为了让我对Python的理解更加混乱。我也从未真正使用过Python。这就是我感到困惑的地方

  • Python是用C实现的
    ——这意味着解释器是用C编写的还是解释器将Python源代码转换为C

  • CPython只不过是原始的Python&这个术语是后来为了将它与Jython区分开来而创造的,对还是错

  • 现在Python是用C实现的(不确定这意味着什么),但这是否意味着Python可以与任何C代码无缝集成

  • Jython是一种新的编程语言,还是它的语法和其他编程结构看起来与原始python完全相似?或者它只是可以与java代码集成的python

  • 如果我上面的问题都没有回答Python和Jython之间的区别,那是什么

  • “Python”是语言本身的名称,而不是特定解释器实现的名称,正如“C”是编程语言的名称而不是特定编译器的名称一样

    “CPython”是用C语言编写的Python语言解释器的一个实现。它将Python源代码编译成字节码并解释字节码。它是Python语言最古老的参考实现

    “Jython”是Python语言的另一个实现。它将Python代码转换为Java字节码,可以在Java虚拟机上执行。

    a)Python是一种编程语言。Python代码的解释器是使用其他编程语言实现的,比如C语言(我相信PyPy甚至使用Python本身来实现)

    b) CPython,又名经典Python,是参考实现,是用C编写的。Jython是用Java编写的Python解释器

    c) 在Python中使用c库非常简单,例如使用ctypes模块

    d) 见b

    e) 请参见a和b.

    a)默认和最广泛使用的语言实现是用c编写的,也使用了caled CPython。例如,在Python中还实现了Python-

    b) CPython是C中默认的python实现。Jython是Java中的实现

    c) 对

    d) Jython是用Java编写的Python语言的实现

    e) CPython与C易于集成,Jython与Java易于集成

  • 前者
  • 我想是的。严格地说,“Python”只指语言(无论实现如何),但除非区别很重要(例如,在讨论实现细节时),它也可以指实现。“CPython”是最古老、使用最广泛的实现的明确名称,它是事实上的标准
  • 嗯,不是很完美。处理Python对象的C代码必须与
    PyObject*
    配合使用,并使用CPython提供的辅助函数将Python整数转换为C
    int
    。类似地,C代码必须用函数包装,函数接受并返回
    PyObject*
    ,将函数和元数据暴露给解释器等。您还可以使用
    ctypes
    调用本机代码(尽管这通常很痛苦)、SWIG等来自动包装或用Python-C-crossover语言编写C模块
  • 这是Python的另一个实现,即相同的语言。主要区别在于代码在JVM上运行,因此可以轻松地与Java(或Scala、Closure或任何其他JVM语言)集成
  • Python是一种语言。Jython是该语言的一个实现。你问C和GCC之间的区别吗

  • 了解Jython与Python和CPython的关系可能会更容易,如果您了解Python语言的其他替代实现。大多数人谈论的另外两个是IronPython(Python on.NET)和PyPy(Python中的Python…是的,它是trippy)。