Skip to content

รู้จักกับ Cython

Cython เป็นคอมไพเลอร์ตัวหนึ่งของภาษาไพทอน โดยสามารถคอมไพล์โค้ดภาษาไพทอนไปเป็นไฟล์โค้ดภาษาซีได้ ช่วยเพิ่มความเร็วของโค้ดไพทอน และนอกจากนั้น ยังสามารถใช้เป็นส่วนเสริมสำหรับเขียนโมดูลเพื่อเชื่อมระหว่างภาษาไพทอนกับภาษาซีได้อย่างสะดวกยิ่งขึ้น

คอมไพล์โค้ดไพทอนไปเป็นภาษาซีด้วย Cython

สามารถคอมไพล์ได้ด้วยคำสั่ง

cython ไฟล์.py

หากต้องการแนบ Python interpreter เพิ่มคำสั่ง --embed เข้าไป

cython --embed  ไฟล์.py

จะได้ไฟล์ ไฟล์.c ขึ้นมา เพื่อนำไปคอมไพล์อีกรอบหนึ่ง

ตัวอย่างเช่น

cython --embed -o num.c num.py

ใช้ Cython ช่วยสร้างโมดูลไพทอน

ตัวอย่างโมดูล “hello world”
ให้สร้างไฟล์ hello.pyx ขึ้นมา

ไฟล์ .pyx คือ อะไร ?
ไฟล์ .pyx เป็นไฟล์สำหรับให้ Cython ทำการคอมไพล์ไปเป็นภาษาซี เป็นไฟล์ช่วยขยายความสามารถให้กับไพทอน

โดยมีโค้ดดังนี้

def say_hello_to(name):
    print("Hello %s!" % name)

ต่อไปสร้างไฟล์สำหรับใช้ติดตั้งโมดูล คือ ไฟล์ setup.py
โดยมีโค้ดดังนี้

from distutils.core import setup
from Cython.Build import cythonize

setup(
  name = 'Hello world app',
  ext_modules = cythonize("hello.pyx"),
)

ติดตั้งด้วยคำสั่ง

python setup.py build_ext --inplace

ลองใช้งาน

from hello import say_hello_to
say_hello_to("Boy")

เอกสารการใช้งาน Cython ได้ที่ http://docs.cython.org/index.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

Published on Categories ไม่มีหมวดหมู่

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *