Skip to content

เขียนโปรแกรม Python กับ .NET Framework ด้วย Python for .NET

สวัสดีผู้อ่านทุกท่านครับ จากบทความที่แล้ว ผมพาผู้อ่านไปใช้ IronPython 3 กับ Python 3 บน Windows กันมาแล้วครับ หากเราต้องการเขียนโปรแกรมภาษา Python บน CPython ใช้งานร่วมกันกับ .NET Framework จะใช้โมดูลอะไร บทความนี้ผมขออ้างอิงระบบปฏิบัติการ Windows ครับ ผมขอแนะนำ Python for .NET ครับ

Python for .NET เป็นโมดูลสำหรับใช้พัฒนาโปรแกรมภาษา Python บน CPython ใช้งานร่วมกันกับ .NET Framework ครับ โดยโมดูลนี้เป็นที่นิยมกันอย่างมากในการพัฒนาโปรแกรมกับ .NET Framework ครับ
Python for .NET ใช้ MIT License  ตอนนี้รองรับทั้ง Python 2 และ Python 3  โดยต้องการ .NET Framework 4 ในการทำงาน

วิธีการติดตั้ง Python for .NET
ใช้คำสั่ง

pip install pythonnet

ตัวอย่างการใช้งานใน Python 3

# ===========================================================================
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
# ===========================================================================

import clr
SWF = clr.AddReference("System.Windows.Forms")
print(SWF.Location)
import System.Windows.Forms as WinForms
from System.Drawing import Size, Point
class HelloApp(WinForms.Form):
    """A simple hello world app that demonstrates the essentials of
       winforms programming and event-based programming in Python."""
    def __init__(self):
        self.Text = "Hello World From Python"
        self.AutoScaleBaseSize = Size(5, 13)
        self.ClientSize = Size(392, 117);
        h = WinForms.SystemInformation.CaptionHeight
        self.MinimumSize = Size(392, (117 + h))
        # Create the button
        self.button = WinForms.Button()
        self.button.Location = Point(160, 64)
        self.button.Size = Size(820, 20)
        self.button.TabIndex = 2
        self.button.Text = "Click Me!"
        # Register the event handler
        self.button.Click += self.button_Click
        # Create the text box
        self.textbox = WinForms.TextBox()
        self.textbox.Text = "Hello World"
        self.textbox.TabIndex = 1
        self.textbox.Size = Size(1260, 40)
        self.textbox.Location = Point(160, 24)
        # Add the controls to the form
        self.AcceptButton = self.button
        self.Controls.Add(self.button);
        self.Controls.Add(self.textbox);
    def button_Click(self, sender, args):
        """Button click event handler"""
        print("Click")
        WinForms.MessageBox.Show("Please do not press this button again.")
    def run(self):
        WinForms.Application.Run(self)

def main():
    form = HelloApp()
    print("form created")
    app = WinForms.Application
    print("app referenced")
    app.Run(form)

ผลลัพธ์

เขียนโปรแกรม Python กับ .NET Framework ด้วย Python for .NET

นอกจากเรียกโค้ด .NET จาก Python แล้ว Python for .NET สามารถฝัง Python ลงในโค้ด .NET ได้ด้วย
ตัวอย่าง

ผลลัพธ์

1.0
-0.958924274663
-0.6752620892
float64
int32
[  6.  10.  12.]

อ่านเอกสารการใช้งาน Python for .NET ได้ที่ https://pythonnet.github.io/
หน้าหลักโครงการ Python for .NET https://pythonnet.github.io

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

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

About wannaphong

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

1 thought on “เขียนโปรแกรม Python กับ .NET Framework ด้วย Python for .NET

ใส่ความเห็น

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