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