为什么要为其他语言(如C)中的现有代码开发Python绑定?

为什么要为其他语言(如C)中的现有代码开发Python绑定?,python,python-bindings,Python,Python Bindings,为其他语言的现有代码开发Python绑定背后的动机是什么?我看到许多程序员为他们现有的C代码开发Python绑定。为什么?它有什么帮助?尽管我不能完全权威地说这一点,因为它是基于偏好的,但是为C开发Python绑定对于那些认为Python语法更高效、更易于使用的人来说,使开发过程更容易 (例如,Python CUDA、3D、Kinect等库)Python使用C进行绑定,因为C是一种低级语言,可以非常快速有效,同时支持大量的硬件和软件功能。C对于初学者来说非常困难,并且天生缺乏面向对象的特性,而P

为其他语言的现有代码开发Python绑定背后的动机是什么?我看到许多程序员为他们现有的C代码开发Python绑定。为什么?它有什么帮助?

尽管我不能完全权威地说这一点,因为它是基于偏好的,但是为C开发Python绑定对于那些认为Python语法更高效、更易于使用的人来说,使开发过程更容易


(例如,Python CUDA、3D、Kinect等库)

Python使用C进行绑定,因为C是一种低级语言,可以非常快速有效,同时支持大量的硬件和软件功能。C对于初学者来说非常困难,并且天生缺乏面向对象的特性,而Python正是在这些特性的基础上改进的。C的面向对象行为的缺乏也有助于C++的创建。 通常,软件项目受到开发人员速度的限制,而不是代码的执行速度,在大多数情况下,Python优于C

Python相对于C的优势包括:

  • 非常清晰易读的语法
  • 较强的内省能力
  • 直观的对象定向
  • 程序代码的自然表达
  • 完全模块化,支持分层包
  • 基于异常的错误处理
  • 非常高级的动态数据类型
  • 广泛的标准库和第三方模块,几乎适用于所有任务
  • 扩展和模块,容易用C、C++编写(或java为Jython,或者.NyPython的.NET语言)
  • 可作为脚本接口嵌入到应用程序中

因为C语言中有许多非常高质量的库,经过多年的测试、错误修复等,尝试用Python重新实现一切都是疯狂的(例如,我永远不会在Python中使用加密库,应该使用绑定到经过良好测试和偏执开发的C库,如openssl、NSS或gnutls)。

。。。通过允许它们在Python中使用而不必完全重写它们,“Python被解释为C”这句话充其量只是误导。Python最常见的实现实际上是用C编写的解释器,但是Python代码从来没有以任何方式转换为C,其他实现(PyPy、Jython、IronPython)使用其他策略。我猜包装器(绑定)的开发也用Java完成。Python绑定比它们有什么优势吗?什么标准使我们决定使用python绑定或java包装器?谢谢。我想包装器(绑定)的开发也是用Java完成的。Python绑定比它们有什么优势吗?什么标准使我们决定使用python绑定或java包装器?谢谢。我认为这是主观的。有些人,包括我自己,发现Python编程非常简单和高效。(可执行伪代码),我认为这是大多数人的动机。我也是Java程序员,所以我很难用我连续使用了16年的bash语言,但如果我要选择一种绑定,它将是Python。现在我正在为Accumulo API开发一个。