การย้ายจากภาษาไพทอนมาภาษาปิยะธอน¶
คู่มือนี้จะช่วยให้นักพัฒนาภาษาไพทอนสามารถย้ายมาใช้งานภาษาปิยะธอนได้อย่างราบรื่น
ความแตกต่างหลัก¶
นามสกุลไฟล์: ใช้
.pi
แทน.py
คำสำคัญภาษาไทย: ใช้คำสั่งภาษาไทยแทนภาษาอังกฤษ
การตั้งชื่อ: สนับสนุนการใช้ภาษาไทยในการตั้งชื่อตัวแปรและฟังก์ชัน
ตารางเทียบคำสำคัญ¶
คำสั่งควบคุม¶
ภาษาไพทอน (Python) |
ภาษาปิยะธอน (Piyathon) |
---|---|
if |
ถ้า |
elif |
อื่นถ้า |
else |
อื่น |
for |
สำหรับ |
while |
ขณะที่ |
break |
หยุด |
continue |
ทำต่อ |
return |
คืนค่า |
yield |
ให้ |
pass |
ผ่าน |
async |
ไม่ประสาน |
await |
รอประสาน |
case |
เมื่อ |
match |
เทียบ |
global |
ทั่วไป |
nonlocal |
นอกเขต |
lambda |
แลมบ์ดา |
with |
ด้วย |
การจัดการข้อผิดพลาด¶
ภาษาไพทอน (Python) |
ภาษาปิยะธอน (Piyathon) |
---|---|
try |
ลอง |
except |
ยกเว้น |
finally |
สุดท้าย |
raise |
ยก |
assert |
ยืนยัน |
การนิยามและการนำเข้า¶
ภาษาไพทอน (Python) |
ภาษาปิยะธอน (Piyathon) |
---|---|
def |
นิยาม |
class |
ชั้น |
import |
นำเข้า |
from |
จาก |
as |
เป็น |
del |
ลบ |
ตัวดำเนินการตรรกะ¶
ภาษาไพทอน (Python) |
ภาษาปิยะธอน (Piyathon) |
---|---|
and |
และ |
or |
หรือ |
not |
ไม่ |
is |
คือ |
in |
ใน |
ค่าคงที่¶
ภาษาไพทอน (Python) |
ภาษาปิยะธอน (Piyathon) |
---|---|
True |
จริง |
False |
เท็จ |
None |
ไม่มีค่า |
ตัวอย่างการแปลง¶
ตัวอย่างที่ 1: ฟังก์ชันพื้นฐาน¶
# Python
def calculate_area(width, height):
if width <= 0 or height <= 0:
return 0
return width * height
# Piyathon
นิยาม คำนวณพื้นที่(ความกว้าง, ความสูง):
ถ้า ความกว้าง <= 0 หรือ ความสูง <= 0:
คืนค่า 0
คืนค่า ความกว้าง * ความสูง
ตัวอย่างที่ 2: การวนซ้ำและรายการ¶
# Python
numbers = [1, 2, 3, 4, 5]
sum = 0
for num in numbers:
if num % 2 == 0:
sum += num
# Piyathon
ตัวเลข = [1, 2, 3, 4, 5]
ผลรวม = 0
สำหรับ เลข ใน ตัวเลข:
ถ้า เลข % 2 == 0:
ผลรวม += เลข
ตัวอย่างที่ 3: คลาสและออบเจ็กต์¶
# Python
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
return f"My name is {self.name}"
# Piyathon
ชั้น นักเรียน:
นิยาม __เริ่มต้น__(ตัว, ชื่อ, อายุ):
ตัว.ชื่อ = ชื่อ
ตัว.อายุ = อายุ
นิยาม แนะนำตัว(ตัว):
คืนค่า f"ฉันชื่อ {ตัว.ชื่อ}"
เครื่องมือช่วยแปลง¶
ภาษาปิยะธอนมาพร้อมกับเครื่องมือ p2p
(Python to Piyathon) ที่ช่วยในการแปลงโค้ด:
# แปลงจากภาษาไพทอนเป็นภาษาปิยะธอน
p2p mycode.py mycode.pi
# แปลงจากภาษาปิยะธอนเป็นภาษาไพทอน
p2p mycode.pi mycode.py
Note
p2p จะแปลงเฉพาะคำสำคัญและโครงสร้างพื้นฐาน ควรตรวจสอบผลลัพธ์หลังการแปลงทุกครั้ง
แนวทางการย้าย¶
เริ่มจากไฟล์เล็กๆ
แปลงไฟล์ทีละไฟล์
ทดสอบการทำงานหลังแปลง
แก้ไขข้อผิดพลาดที่พบ
ทดสอบอย่างละเอียด
รันชุดทดสอบทั้งหมด
ตรวจสอบผลลัพธ์
เปรียบเทียบกับเวอร์ชันภาษาไพทอน
ปรับปรุงเอกสาร
อัปเดตคำอธิบายในโค้ด
แก้ไขเอกสารประกอบ
ปรับปรุงตัวอย่างโค้ด
ข้อควรระวัง¶
Warning
ชื่อฟังก์ชันในไลบรารี: บางไลบรารีอาจยังใช้ชื่อภาษาอังกฤษ
การตั้งชื่อ: ระวังการใช้อักขระพิเศษในชื่อภาษาไทย
การผสมภาษา: พยายามใช้ภาษาเดียวในการตั้งชื่อ
คำถามที่พบบ่อย¶
Q: ต้องแปลงโค้ดทั้งหมดหรือไม่? A: ไม่จำเป็น สามารถใช้โค้ดภาษาไพทอนร่วมกับภาษาปิยะธอนได้
Q: ประสิทธิภาพต่างกันหรือไม่? A: ไม่ต่างกัน เพราะภาษาปิยะธอนแปลงกลับเป็นภาษาไพทอนก่อนรัน
Q: ใช้ไลบรารีภาษาไพทอนได้หรือไม่? A: ได้ สามารถใช้ไลบรารีภาษาไพทอนทั้งหมดได้