Python 2 เทียบกับ Python 3: ความแตกต่างที่สำคัญระหว่าง 2.x และ 3.x

ความหมายของ Python 2?

Python 2 ทำให้กระบวนการพัฒนาโค้ดง่ายขึ้นกว่าเวอร์ชันก่อนๆ โดยนำรายละเอียดทางเทคนิคของ Python ข้อเสนอการปรับปรุง (PEP) Python 2.7 (เวอร์ชันสุดท้ายใน 2.x ) ไม่อยู่ระหว่างการพัฒนาอีกต่อไป และในปี 2020 จะหยุดให้บริการ

ความหมายของ Python 3?

Python 3 เป็นเวอร์ชันใหม่กว่าของ Python ภาษาโปรแกรม ซึ่งเปิดตัวในเดือนธันวาคม พ.ศ. 2008 เวอร์ชันนี้เปิดตัวเพื่อแก้ไขปัญหาที่มีอยู่เป็นหลัก Python 2.ลักษณะของการเปลี่ยนแปลงเหล่านี้เป็นเช่นนั้น Python 3 เข้ากันไม่ได้กับ Python 2 มันคือ ย้อนหลังเข้ากันไม่ได้.

คุณสมบัติบางอย่างของ Python 3 ถูกส่งกลับไปแล้ว Python เวอร์ชัน 2.x เพื่อให้กระบวนการย้ายข้อมูลเป็นเรื่องง่าย Python 3.ส่งผลให้สำหรับองค์กรใดที่ใช้งานอยู่ Python เวอร์ชัน 2.x การย้ายโปรเจ็กต์เป็น 3.x จำเป็นต้องมีการเปลี่ยนแปลงมากมาย การเปลี่ยนแปลงเหล่านี้ไม่เพียงแต่เกี่ยวข้องกับโปรเจ็กต์และแอปพลิเคชันเท่านั้น แต่ยังรวมถึงไลบรารีทั้งหมดที่เป็นส่วนหนึ่งของด้วย Python ระบบนิเวศ

ความแตกต่างที่สำคัญ

  • Python ไวยากรณ์ 3 นั้นง่ายกว่าและเข้าใจง่ายในขณะที่ Python 2 ไวยากรณ์ค่อนข้างเข้าใจยาก
  • Python 3 การจัดเก็บสตริงเริ่มต้นคือ Unicode ในขณะที่ Python ร้านค้า 2 แห่งจำเป็นต้องกำหนดค่าสตริง Unicode ด้วย "u"
  • Python ค่าตัวแปร 3 ค่าไม่เคยเปลี่ยนแปลงในขณะที่เข้า Python ค่า 2 ของตัวแปรโกลบอลจะถูกเปลี่ยนขณะใช้งานภายใน for-loop
  • Python ข้อยกเว้น 3 รายการควรอยู่ในวงเล็บในขณะที่ Python ข้อยกเว้น 2 ประการควรแนบไว้ในสัญลักษณ์
  • Python กฎ 3 ข้อของการเปรียบเทียบลำดับนั้นง่ายขึ้น Python กฎการเปรียบเทียบการสั่งซื้อมี 2 ประการซึ่งมีความซับซ้อน
  • Python 3 มีฟังก์ชัน Range() เพื่อดำเนินการวนซ้ำในขณะที่ In Python 2, xrange() ใช้สำหรับการวนซ้ำ

ทำไมคุณควรเรียนรู้ Python 2?

Python 2 เทียบกับ Python
Google แนวโน้ม Python 2 กับ Python 3

แม้ว่า, Python 2 เป็นเวอร์ชันโอเพ่นซอร์สเก่า ที่นี่คุณยังต้องเรียนรู้ Python 2:

  • ในการเป็นวิศวกร DevOps และคุณต้องทำงานกับเครื่องมือการจัดการการกำหนดค่า เช่น puppet หรือ ansible ที่นี่คุณต้องทำงานกับทั้งสองเวอร์ชันนี้
  • หากรหัสบริษัทของคุณเขียนอยู่ใน Python 2 คุณจะต้องเรียนรู้ที่จะทำงานกับสิ่งนั้น
  • หากทีมพัฒนาของคุณกำลังทำงานในโครงการที่ขึ้นอยู่กับไลบรารีหรือซอฟต์แวร์ของบุคคลที่สามซึ่งคุณไม่สามารถพอร์ตไปได้ Python 3 แล้ว Python 2 เป็นทางเลือกเดียวสำหรับคุณ

ทำไมคุณควรใช้ Python 3?

เรียน Python 3

คำถามเกี่ยวกับ Stack Overflow Python 2 กับ Python 3

นี่เป็นเหตุผลสำคัญในการใช้ Python เวอร์ชัน 3.x:

  • Python 3 รองรับเทคนิคสมัยใหม่ เช่น AI, การเรียนรู้ของเครื่อง และวิทยาศาสตร์ข้อมูล
  • Python 3 ได้รับการสนับสนุนจากขนาดใหญ่ Python ชุมชนนักพัฒนา การได้รับการสนับสนุนเป็นเรื่องง่าย
  • มันง่ายกว่าที่จะเรียนรู้ Python ภาษาเปรียบเทียบกับเวอร์ชันก่อนหน้า
  • เสนอชุดเครื่องมือและไลบรารีอันทรงพลัง
  • ผสมกับภาษาอื่นได้

ประวัติศาสตร์ของ Python 2

  • Python 2.0 – 16 ตุลาคม พ.ศ. 2000
  • Python พ.ศ. 2.1-17 เมษายน พ.ศ. 2001
  • Python 2.2 – 21 ธันวาคม พ.ศ. 2001
  • Python 2.3 – 29 กรกฎาคม พ.ศ. 2003
  • Python 2.4 – 30 พฤศจิกายน พ.ศ. 2004
  • Python 2.5 – 19 กันยายน 2006
  • Python 2.6 – 1 ตุลาคม พ.ศ. 2008
  • Python 2.7-3 กรกฎาคม 2010

ประวัติศาสตร์ของ Python 3

  • Python 3.0 – 3 ธันวาคม พ.ศ. 2008
  • Python 3.1 – 27 มิถุนายน 2009
  • Python 3.2 - 20 กุมภาพันธ์ 2011
  • Python 3.3 – 29 กันยายน 2012
  • Python 3.4-16 มีนาคม 2014
  • Python 3.5 – 13 กันยายน 2015
  • Python 3.6- ตุลาคม 2016
  • Python 3.7- มิถุนายน 2018

ความแตกต่างที่สำคัญระหว่าง Python 2 และ Python 3

นี่คือความแตกต่างที่สำคัญระหว่าง Python 2 และ Python 3:

ความแตกต่างระหว่าง Python 2.x และ Python 3.x

ความแตกต่างระหว่าง Python 2.x และ Python 3.x

พื้นฐานของการเปรียบเทียบ Python 3 Python 2
วันที่ออกข่าว 2008 2000
ฟังก์ชั่นการพิมพ์ พิมพ์ (“สวัสดี”) พิมพ์คำว่า “สวัสดี”
กองจำนวนเต็ม เมื่อใดก็ตามที่หารจำนวนเต็มสองตัว คุณจะได้ค่าทศนิยม เมื่อหารจำนวนเต็มสองตัว คุณจะต้องระบุค่าจำนวนเต็มเสมอ
Unicode In Python 3 การเก็บสตริงเริ่มต้นคือ Unicode ในการจัดเก็บค่าสตริง Unicode คุณต้องกำหนดด้วย "u"
วากยสัมพันธ์ ไวยากรณ์นั้นง่ายกว่าและเข้าใจง่าย ไวยากรณ์ของ Python 2 ค่อนข้างจะเข้าใจยาก
กฎการสั่งซื้อการเปรียบเทียบ ในเวอร์ชันนี้ กฎการเปรียบเทียบลำดับได้รับการทำให้ง่ายขึ้น กฎของการเปรียบเทียบการสั่งซื้อมีความซับซ้อนมาก
การย้ำ ฟังก์ชัน Range() ใหม่ถูกนำมาใช้เพื่อดำเนินการวนซ้ำ In Python 2, xrange() ใช้สำหรับการวนซ้ำ
ข้อยกเว้น ควรอยู่ในวงเล็บ ควรใส่ไว้ในสัญกรณ์
การรั่วไหลของตัวแปร ค่าของตัวแปรไม่เคยเปลี่ยนแปลง ค่าของตัวแปรโกลบอลจะเปลี่ยนขณะใช้งานภายใน for-loop
ความเข้ากันได้ย้อนหลัง ไม่ใช่เรื่องยากที่จะย้าย python 2 ไปยัง python 3 แต่มันไม่น่าเชื่อถือเลย Python เวอร์ชัน 3 เข้ากันไม่ได้กับเวอร์ชันย้อนหลัง Python 2.
ห้องสมุด นักพัฒนาล่าสุดจำนวนมากกำลังสร้างไลบรารี่ที่คุณสามารถใช้ได้เท่านั้น Python 3. ห้องสมุดเก่าหลายแห่งที่สร้างขึ้นเพื่อ Python 2 ไม่รองรับการส่งต่อ

Python 2 กับ Python 3 รหัสตัวอย่าง

Python 3

def main():
  print("Hello World!")
  
if __name__== "__main__":
  main()

Python 2

def main():
  print "Hello World!"
  
if __name__== "__main__":
  main()

ที่ Python เวอร์ชันที่จะใช้?

เมื่อมันมาถึง Python 2 vs Python 3 ความแตกต่างในวันนี้ Python รุ่น 3 เป็นผู้ชนะทันที นั่นเป็นเพราะว่า Python 2 จะไม่มีวางจำหน่ายหลังจากปี 2020 พิธีมิสซา Python 3 การยอมรับเป็นทิศทางที่ชัดเจนของอนาคต

หลังจากพิจารณาปฏิเสธการสนับสนุนแล้ว Python ภาษาการเขียนโปรแกรม 2 ภาษาและผลประโยชน์เพิ่มเติมจากการอัปเกรดเป็น Python 3 ขอแนะนำให้นักพัฒนารายใหม่เลือกเสมอ Python รุ่นที่ 3 อย่างไรก็ตาม หากมีความต้องการงาน Python 2 ความสามารถ นั่นอาจเป็นเหตุผลเดียวที่น่าสนใจในการใช้เวอร์ชันนี้

สรุป

  • Python 2 ทำให้กระบวนการพัฒนาโค้ดง่ายขึ้นกว่าเวอร์ชันก่อนๆ โดยนำรายละเอียดทางเทคนิคของ Python ข้อเสนอการปรับปรุง (PEP) Python 2.7 (เวอร์ชันสุดท้ายใน 2.x ) ไม่อยู่ระหว่างการพัฒนาอีกต่อไป และในปี 2020 จะหยุดให้บริการ
  • Python 3 เป็นเวอร์ชันใหม่กว่าของ Python ภาษาโปรแกรมซึ่งเปิดตัวในเดือนธันวาคม พ.ศ. 2008 เวอร์ชันนี้เปิดตัวเพื่อแก้ไขปัญหาที่มีอยู่เป็นหลัก Python 2.ลักษณะของการเปลี่ยนแปลงเหล่านี้เป็นเช่นนั้น Python 3 เข้ากันไม่ได้กับ Python 2. เข้ากันไม่ได้แบบย้อนหลัง
  • In Python 2 กฎของการเปรียบเทียบการสั่งซื้อนั้นง่ายขึ้น
  • In Python 3. กฎของการเปรียบเทียบการสั่งซื้อมีความซับซ้อนมาก
  • เมื่อมันมาถึง Python วันนี้มีความแตกต่าง 2 ต่อ 3 Python รุ่น 3 เป็นผู้ชนะทันที