社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Alan Franzoni

Alan Franzoni 最近创建的主题
Alan Franzoni 最近回复了
14 年前
回复了 Alan Franzoni 创建的主题 » 使用python语法的子集加速编写c程序

cython旨在编写python扩展,而不是成熟的程序。pyrex也是如此。

尽管这和你的例子很不一样, PyPy 可能是你要找的。它使用一个python子集(称为rpython,一种更为静态的python)来为不同的后端(包括c)生成代码。

你要的是一种不同的、更简单的C语言——虽然这本身并不是一个坏主意,但世界上已经有很多不同的编程语言,如果每个人都为每个应该编写的应用程序发明一种新的方言,那将是一个相当大的问题。

如果您认为c太冗长或太低,无法满足您的需要,请尝试以下方法:

  • 用python编写程序
  • 分析它并找出哪些部件真正需要速度
  • 在定义良好的模块中隔离这些部分
  • 用pyrex或cython重写这些部分

而且您可能会获得很好的可读性、可维护性和速度。

15 年前
回复了 Alan Franzoni 创建的主题 » 支持不同版本的python

你的问题似乎有不同的答案。

首先,如果你想提供 全部的 功能 全部的 python版本是的,您可能会被困在使用尽可能小的功能子集上,因此要为python 2.4编写代码。或者,如果新的解释器是纯python的话,可以从它们背后移植特性(上下文管理器和协同程序都不是这样)。

或者你可以将版本支持分成几个功能——如果你认为有一个(可选的)功能可以从上下文管理器中获得很大的好处,那么你可以在单独的模块中使用它,只需说2.4用户没有这个功能。

为了支持python 3,请看一下2to3助手,如果您正确地编写了代码,那么您很有可能不需要维护两个独立的代码基。