Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ความแตกต่างสำคัญระหว่าง Python 2.x และ Python 3.x พร้อมตัวอย่าง


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการเปลี่ยนแปลงหลักใน 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 พร้อมตัวอย่าง