(Translated by https://www.hiragana.jp/)
Cython - 维基百科,自由的百科全书 とべ转到内容ないよう

Cython

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん
Cython
实现しゃRobert Bradshaw, Stefan Behnel, et al.
发行时间2007ねん7がつ28にち,​17ねんまえ​(2007-07-28[1]
とうぜん版本はんぽん
  • 3.0.11-1(2024ねん8がつ5にち;稳定版本はんぽん[2]
编辑维基数据链接
实现语言Python
操作そうさけいWindowsMacOSLinux
许可证Apache许可证2.0
ぶんけん扩展めい.pyx, .pxd, .pxi [3]
网站cython.org 编辑维基数据链接
启发语言
C语言PythonPyrexえいPyrex语言[4]

CythonしょうPython结合部分ぶぶんC语法てき编程语言あずかPythonてき主要しゅよう别在于语ほうちゅう加入かにゅうりょうせい态类がたよう户可以维だい部分ぶぶんてきPython语法,而不需要じゅよう大幅おおはば调整主要しゅようてきほどじょ逻辑与算法さんぽうただしよし于会直接ちょくせつ编译为进制ほどじょ所以ゆえん性能せいのう较Pythonかいゆう很大ひさげます[5][6]

Cython典型てんけいてき运用于编うつしPython扩展块,以获取较高てき执行性能せいのう。Cythonはた原始げんし码转译成CあるC++语法きさき包装ほうそうじょう函数かんすう调用界面かいめん生成せいせい.pyd(ある.so,いん操作そうさけい统而异)きさき缀的进制档,そくとうなり普通ふつうてきPython函数かんすう库。其性能せいのう一般いっぱん逊于原生げんせいてきC/C++函数かんすう库,ただしよし于Cython语法てきえきようせい以缩たん开发时间。Cython也可以用于将C/C++だい码封そう为Python函数かんすう库。

Cythonぶんけんてき扩展めい为.pyx。ざいさい基本きほんてきじょう况下,Cythonだい码看おこりらいあずかPythonだい码完ぜんいち样。 しか而,虽然标准Python动态类型てきただしざいCythonちゅう以选择提供ていきょう类型,从而ひさげ高性能こうせいのう,并允许在可能かのうてきじょう况下はた循环转换为C循环[7]

语法

[编辑]

てい义变りょう

[编辑]

使用しよう关键cdefてい义变りょう[8]

cdef int a = 1

てい义函すう

[编辑]

使用しよう关键def、cdef、あるcpdefてい义函すう

cdef int f(int x):
    return x + 1

使用しよう关键cdefてい义的函数かんすうかいCython编译なりC语言,所以ゆえん速度そくど较快,ただし无法Python使用しようただゆう使用しようdefあるcpdefてい义的函数かんすう以在Pythonちゅう使用しよう[9]

てい义结构

[编辑]
cdef struct x:
  int y
  float z

使用しよう C 头文けん

[编辑]
cdef extern from "stdio.h":
    int puts(const char*)

[10]

如果よう使用しようC标准库中てき函数かんすう,也可以这样写:

from libc.stdio cimport puts

使用しよう C++ 头文けん

[编辑]
#distutils: language = c++
cdef extern from "<vector>" namespace "std":
    cdef cppclass vector[T]:
        vector()
        void push_back(T&)
        T& operator[](int)
        T& at(int)

[11]

ある

#distutils: language = c++
from libcpp.vector cimport vector

编译

[编辑]
cythonize -3 -i example.pyx

参考さんこう资料

[编辑]
  1. ^ Behnel, Stefan. The Cython Compiler for C-Extensions in Python. EuroPython (28 July 2007: official Cython launch). Vilnius/Lietuva. 2008 [2020-09-12]. (原始げんし内容ないようそん于2016-10-22). 
  2. ^ Release 3.0.11-1. 2024ねん8がつ5にち [2024ねん8がつ22にち]. 
  3. ^ Cython支援しえんてき檔案ふく檔名格式かくしき – 檔案てん. [2020-11-23]. (原始げんし内容ないようそん档于2022-03-31) 美国びくにえい语). 
  4. ^ Related work — Cython 3.0.0a9 documentation. cython.readthedocs.io. [2021-09-03]. (原始げんし内容ないようそん档于2021-11-18). 
  5. ^ Cython - an overview — Cython 0.19.1 documentation. Docs.cython.org. [2013-07-21]. (原始げんし内容ないようそん档于2013-08-11). 
  6. ^ Smith, Kurt. Cython: A Guide for Python Programmers. O'Reilly Media. 2015 [2019-05-07]. ISBN 978-1-4919-0155-7. (原始げんし内容ないようそん档于2019-05-08). 
  7. ^ Mark Lutz. Learning Python, 5th Edition. [2021-09-17]. (原始げんし内容ないようそん档于2021-10-08). 
  8. ^ Language Basics — Cython 3.0.0a9 documentation. cython.readthedocs.io. [2021-09-08]. (原始げんし内容ないようそん档于2022-02-15). 
  9. ^ Language Basics — Cython 3.0.0a9 documentation. cython.readthedocs.io. [2021-09-08]. (原始げんし内容ないようそん档于2022-02-15). 
  10. ^ Interfacing with External C Code — Cython 3.0.0a9 documentation. cython.readthedocs.io. [2021-09-09]. (原始げんし内容ないようそん档于2022-04-25). 
  11. ^ Using C++ in Cython — Cython 3.0.0a9 documentation. cython.readthedocs.io. [2021-09-09]. (原始げんし内容ないようそん档于2022-02-13). 

まいり

[编辑]

外部がいぶ链接

[编辑]