Khiêu chuyển đáo nội dung

Cython

本页使用了标题或全文手工转换
Duy cơ bách khoa, tự do đích bách khoa toàn thư
Cython
Thật tác giảRobert Bradshaw, Stefan Behnel, et al.
Phát hành thời gian2007 niên 7 nguyệt 28 nhật,​16 niên tiền​ (2007-07-28)[1]
Đương tiền bản bổn
  • 3.0.10(2024 niên 3 nguyệt 30 nhật; ổn định bản bổn )[2]
編輯維基數據鏈接
Thật tác ngữ ngônPython
Thao tác hệ thốngWindows,MacOS,Linux
Hứa khả chứngApache hứa khả chứng2.0
Văn kiện khoách triển danh.pyx,.pxd,.pxi[3]
Võng trạmcython.org編輯維基數據鏈接
Khải phát ngữ ngôn
C ngữ ngôn,Python,Pyrex(Anh ngữ:Pyrex ngữ ngôn)[4]

CythonThị kết hợp liễuPythonHòaCĐích ngữ pháp đích nhất chủng ngữ ngôn, khả dĩ giản đan đích nhận vi tựu thị cấp Python gia thượng liễu tĩnh thái loại hình hậu đích ngữ pháp, sử dụng giả khả dĩ duy trì đại bộ phân đích Python ngữ pháp, nhi bất nhu yếu đại phúc độ điều chỉnh chủ yếu đích trình thức la tập dữ diễn toán pháp. Đãn do vu hội trực tiếp biên dịch vi nhị tiến chế trình tự, sở dĩ tính năng giác Python hội hữu ngận đại đề thăng.[5][6]

Cython điển hình đích vận dụng vu biên tả Python khoách triển mô khối, dĩ thủ đắc giác cao đích chấp hành hiệu năng. Cython tương nguyên thủy mã chuyển dịch thành C hoặc C++ ngữ pháp hậu, tự động bao trang thượng hàm thức hô khiếu giới diện sinh thành.pyd ( hoặc.so, nhân tác nghiệp hệ thống nhi dị ) hậu chuế đích nhị tiến vị đương, tức khả đương thành phổ thông đích Python hàm thức khố. Kỳ tính năng nhất bàn tốn ô nguyên sinh đích C/C++ hàm thức khố, đãn do ô Cython ngữ pháp đích dịch dụng tính khả dĩ súc đoản khai phát thời gian. Cython dã khả dĩ dụng ô tương C/C++ trình thức mã phong trang vi Python hàm thức khố.

Cython văn kiện đích khoách triển danh vi.pyx. Tại tối cơ bổn đích tình huống hạ, Cython đại mã khán khởi lai dữ Python đại mã hoàn toàn nhất dạng. Nhiên nhi, tuy nhiên tiêu chuẩn Python thị động thái loại hình đích, đãn tại Cython trung, khả dĩ tuyển trạch đề cung loại hình, tòng nhi đề cao tính năng, tịnh duẫn hứa tại khả năng đích tình huống hạ tương tuần hoàn chuyển hoán vi C tuần hoàn.[7]

Ngữ pháp

[Biên tập]

Định nghĩa biến sổ

[Biên tập]

Khả dĩ sử dụng quan kiện tự cdef định nghĩa biến sổ[8]

cdefinta=1

Định nghĩa hàm sổ

[Biên tập]

Khả dĩ sử dụng quan kiện tự def, cdef, hoặc cpdef định nghĩa hàm sổ.

cdefintf(intx):
returnx+1

Sử dụng quan kiện tự cdef định nghĩa đích hàm sổ, hội bị Cython biên dịch thành C ngữ ngôn, sở dĩ tốc độ giác khoái, đãn vô pháp bị Python sử dụng; chỉ hữu sử dụng def hoặc cpdef định nghĩa đích hàm sổ khả dĩ tại Python trung sử dụng.[9]

Định nghĩa kết cấu

[Biên tập]
cdefstructx:
inty
floatz

Sử dụng C tiêu đầu đương

[Biên tập]
cdefexternfrom"stdio.h":
intputs(constchar*)

[10]

Như quả yếu sử dụng C tiêu chuẩn khố trung đích hàm sổ, dã khả dĩ giá dạng tả:

fromlibc.stdiocimportputs

Sử dụng C++ tiêu đầu đương

[Biên tập]
#distutils: language = c++
cdefexternfrom"<vector>"namespace"std":
cdefcppclassvector[T]:
vector()
voidpush_back(T&)
T&operator[](int)
T&at(int)

[11]

Hoặc:

#distutils: language = c++
fromlibcpp.vectorcimportvector

Biên dịch

[Biên tập]
cythonize-3-iexample.pyx

Tham khảo tư liêu

[Biên tập]
  1. ^Behnel, Stefan.The Cython Compiler for C-Extensions in Python.EuroPython (28 July 2007: official Cython launch). Vilnius/Lietuva. 2008[2020-09-12].( nguyên thủy nội dungTồn đươngVu 2016-10-22 ).
  2. ^Release 3.0.10.2024 niên 3 nguyệt 30 nhật[2024 niên 4 nguyệt 22 nhật ].
  3. ^Cython chi viện đích đương án phó đương danh cách thức – đương án từ điển.[2020-11-23].(Nguyên thủy nội dungTồn đương vu 2022-03-31 )( mỹ quốc anh ngữ ).
  4. ^Related work — Cython 3.0.0a9 documentation.cython.readthedocs.io.[2021-09-03].(Nguyên thủy nội dungTồn đương vu 2021-11-18 ).
  5. ^Cython - an overview — Cython 0.19.1 documentation.Docs.cython.org.[2013-07-21].(Nguyên thủy nội dungTồn đương vu 2013-08-11 ).
  6. ^Smith, Kurt.Cython: A Guide for Python Programmers.O'Reilly Media. 2015[2019-05-07].ISBN978-1-4919-0155-7.(Nguyên thủy nội dungTồn đương vu 2019-05-08 ).
  7. ^Mark Lutz.Learning Python, 5th Edition.[2021-09-17].(Nguyên thủy nội dungTồn đương vu 2021-10-08 ).
  8. ^Language Basics — Cython 3.0.0a9 documentation.cython.readthedocs.io.[2021-09-08].(Nguyên thủy nội dungTồn đương vu 2022-02-15 ).
  9. ^Language Basics — Cython 3.0.0a9 documentation.cython.readthedocs.io.[2021-09-08].(Nguyên thủy nội dungTồn đương vu 2022-02-15 ).
  10. ^Interfacing with External C Code — Cython 3.0.0a9 documentation.cython.readthedocs.io.[2021-09-09].(Nguyên thủy nội dungTồn đương vu 2022-04-25 ).
  11. ^Using C++ in Cython — Cython 3.0.0a9 documentation.cython.readthedocs.io.[2021-09-09].(Nguyên thủy nội dungTồn đương vu 2022-02-13 ).

Tham kiến

[Biên tập]

Ngoại bộ liên kết

[Biên tập]