ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการเปลี่ยนแปลงหลักใน Python 2.x และ Python 3.x
- วิธีการรับอินพุต (Input Methodology)
- วิธีการแสดงเอาต์พุต (Output Methodology)
- ตัวดำเนินการหาร (Division Operator)
- การจัดการข้อยกเว้น (Exception Handling)
วิธีการรับอินพุต
ก่อนหน้านี้เราใช้เมธอด raw_input() แต่ในเวอร์ชันใหม่ แทนที่ด้วยเมธอด input() แล้ว ดังตัวอย่างด้านล่าง
ที่นี่เรารับอินพุตจำนวนเต็มในตัวแปร a โดยใช้ไวยากรณ์สองแบบ
# ใน Python 2.x a = int(raw_input()) # ใน Python 3.x a = int(input())
วิธีการแสดงเอาต์พุต
ก่อนหน้านี้คำสั่ง print ไม่มีฟังก์ชันมาก ในเวอร์ชันใหม่เพิ่มฟังก์ชันสองอย่างคือ separator และ end value เพื่อให้จัดรูปแบบง่ายขึ้น
# ใน Python 2.x
print "tutorialspoint"
# ใน Python 3.x
print("tutorialspoint", sep="", end="\n")
คำสั่งข้างต้นจะให้ผลลัพธ์เดียวกัน หากต้องการเอาต์พุตในบรรทัดเดียว (inline) ต้องเพิ่ม "," ท้ายคำสั่ง print ใน 2.x และ end=" " ใน 3.x
ตัวดำเนินการหาร
ก่อนหน้านี้ผลลัพธ์เป็นจำนวนเต็มหลังใช้ตัวดำเนินการหาร ในเวอร์ชันใหม่ ข้อบกพร่องนี้ได้รับการแก้ไข ดังนั้นการหารจะคืนค่าในโดเมนจริง (float) ในเวอร์ชันใหม่
# ใน Python 2.x a = 7/4 # 1 # ใน Python 3.x a = 7/4 # 1.75
การจัดการข้อยกเว้น
ก่อนหน้านี้เราจัดการข้อยกเว้นโดยระบุตัวแปรข้อผิดพลาดคั่นด้วย "," ซึ่งถูกแทนที่ด้วยคีย์เวิร์ดในเวอร์ชันใหม่
# ใน Python 2.x
try:
pass
except NameError, err:
print err, 'Error Caused'
# ใน Python 3.x
try:
pass
except NameError as err:
print(err, 'Error Caused')
สรุป
ในบทความนี้ เราได้เรียนรู้ความแตกต่างสำคัญระหว่าง Python 2.x และ Python 3.x พร้อมตัวอย่าง