คุณสมบัติที่มีประโยชน์ 6 อันดับแรกของ Python 3.10

คุณสมบัติที่มีประโยชน์ 6 อันดับแรกของ Python 3.10

Python 3.10 เป็นหนึ่งในเวอร์ชันที่เสถียรที่สุดสำหรับผู้ใช้ในการดาวน์โหลด และจะวางจำหน่ายในปลายปีนี้ เวอร์ชันที่ออกใหม่จะมาพร้อมกับการเปลี่ยนแปลงที่เห็นได้ชัดเจนมากมาย เช่น ฟังก์ชันที่ใช้งานง่ายสำหรับทั้งโปรแกรมเมอร์มือใหม่และโปรแกรมเมอร์ที่มีประสบการณ์





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





นี่คือสิ่งที่คุณต้องรู้เกี่ยวกับ Python 3.10:





การจับคู่รูปแบบโครงสร้างใน Python 3.10

การจับคู่รูปแบบโครงสร้างทำให้การเขียนโค้ดเป็นเรื่องง่าย และยังคงเป็นหนึ่งในไฮไลท์ที่โดดเด่นของ Python เวอร์ชันล่าสุด Python ตั้งเป้าที่จะปรับปรุงคำสั่ง case-case ที่มีอยู่แล้วในภาษาการเขียนโปรแกรมเวอร์ชันก่อนหน้า มีการอัพเดทคำสั่ง case-case ที่มีอยู่ภายใน Python

มาดูการใช้งานการจับคู่รูปแบบโครงสร้างกัน:



คำสั่ง case-case เป็นส่วนหนึ่งของภาษา Python มาระยะหนึ่งแล้ว คำสั่งนี้โดยทั่วไปจะใช้เพื่อหลีกเลี่ยงงานที่น่าเบื่อในการเขียน if-else คำสั่งหลายครั้ง

คุณสามารถจับคู่กับอ็อบเจ็กต์ที่มีคุณสมบัติคล้ายกันได้โดยใช้ฟีเจอร์นี้ในบิลด์ใหม่





match media_object:case Image(type='jpg'):# Return as-isreturn media_objectcase Image(type='png') | Image(type='gif'):return render_as(media_object, 'jpg')case Video():raise ValueError('Can't extract frames from video yet')case other_type:raise Exception(f'Media type {media_object} can't be handled yet')

ไลบรารี python ใหม่รู้จักวัตถุ เช่น jpg, gif และวิดีโอ รหัสนี้สามารถทำงานได้อย่างราบรื่นโดยไม่เกิดข้อผิดพลาด

2. ปรับปรุงข้อความแสดงข้อผิดพลาด

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





ข้อความแสดงข้อผิดพลาดเหล่านี้ยังห่างไกลจากความสมบูรณ์แบบ เนื่องจากเป็นเรื่องยากสำหรับผู้เริ่มต้น (บางครั้ง แม้แต่ผู้ใช้ขั้นสูง) ในการระบุสาเหตุที่แท้จริงของข้อผิดพลาดในรหัส ในฐานะโปรแกรมเมอร์ Google ยังคงเป็นพันธมิตรของคุณในการถอดรหัสสาเหตุของข้อความแสดงข้อผิดพลาดต่างๆ

วิธีลบข้อความบน mac

ตัวอย่างเช่น หลายคนอาจไม่ทราบว่าเหตุใด Python จึงแสดงข้อผิดพลาดต่อไปนี้:

SyntaxError: unexpected EOF while parsing error message.

การขาดความชัดเจนในข้อความดังกล่าวทำให้ Python เวอร์ชันใหม่ล่าสุดปรับปรุงชุดข้อความแสดงข้อผิดพลาดที่มีอยู่

ข้อความเก่าถูกแทนที่ด้วยข้อความแสดงข้อผิดพลาดที่เข้าใจง่าย เช่น:

{ ไม่เคยปิด EOF ที่ไม่คาดคิดขณะแยกวิเคราะห์

การเปลี่ยนแปลงอื่นๆ ได้แก่:

ข้อผิดพลาดของแอตทริบิวต์เช่น:

from collections import namedtoplo

โมดูล 'คอลเลกชัน' ไม่มีแอตทริบิวต์ 'namedtoplo' หรือคุณหมายถึง: namedtuple?

ข้อความ NameError ถูกแก้ไขให้มีลักษณะดังนี้:

new_var = 5print(new_vr)>

NameError: ไม่ได้กำหนดชื่อ 'new_vr' หรือคุณหมายถึง: new_var?

3. ตัวจัดการบริบทในวงเล็บ

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

ลองนึกภาพเขียนข้อความเช่น:

with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as fout:fout.write(fin.read())

รหัสด้านบนใช้งานได้ แต่บรรทัดแรกยาวเกินไปและดูงุ่มง่าม คุณสามารถแบ่งบรรทัดโดยใช้แบ็กสแลช ( ) และทำให้โค้ดดูมีโครงสร้าง:

with open('file1.txt', 'r') as fin, open('file2.txt', 'w') as fout: fout.write(fin.read())

ด้วยการแนะนำตัวจัดการบริบทแบบวงเล็บใหม่ คุณยังสามารถแบ่งบรรทัดโดยใช้วงเล็บได้เช่นกัน:

with (open('file1.txt', 'r') as fin,open('file2.txt', 'w') as fout):fout.write(fin.read())

ที่เกี่ยวข้อง: แนวคิดโครงการ Python เหมาะสำหรับผู้เริ่มต้น

4. ผู้ประกอบการยูเนี่ยนประเภทใหม่

คุณลักษณะเล็ก ๆ แต่มีประโยชน์ใน Python 3.10 คือตัวดำเนินการยูเนี่ยนรูปแบบใหม่ Python ทุกรุ่นมาพร้อมกับชุดคุณสมบัติคำใบ้ที่กำหนดไว้ล่วงหน้า

วิธีค้นหาเป้าหมายในชีวิตแบบทดสอบ

ตัวดำเนินการสหภาพรวมถึงตรรกะแบบมีเงื่อนไข ตัวอย่างเช่น, int หรือ ลอย สามารถเขียนเป็น ยูเนี่ยน [X, Y] . ผู้ประกอบการสหภาพใหม่สามารถแสดงเช่น int|ลอย อีกด้วย.

การแนะนำยูเนียนโอเปอแรนด์ใหม่ใน Python 3.10 ช่วยประหยัดเวลาและทำให้โค้ดดูมีการกำหนดที่ชัดเจน

ตัวอย่างเช่น:

def f(x: int | float) -> float: return x * 3.142f(1) # passf(1.5) # passf('str') # linter will show annotation error

5. หมายเลขบรรทัดที่แม่นยำสำหรับการดีบัก

คุณอาจสังเกตเห็นหลายครั้งก่อนที่การติดตามข้อผิดพลาดนั้นจะไม่เปลี่ยนเส้นทางคุณไปยังบรรทัดที่ถูกต้องซึ่งเกิดข้อผิดพลาด ทำให้การดีบักยากสำหรับผู้เขียนโค้ดที่เพิ่งเริ่มเขียนโค้ด

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

เพื่อให้ได้หมายเลขบรรทัดที่แม่นยำยิ่งขึ้น Python 3.10 จะเปลี่ยนความน่าเชื่อถือจากปัจจุบัน co_Inotab คุณลักษณะและใช้วิธีใหม่ co_lines () คุณลักษณะ. คุณลักษณะนี้ทำงานในลักษณะที่ f_lineo มีหมายเลขบรรทัดที่ถูกต้องเสมอ

1. for (2. x) in [1]:3. pass4. return

ที่เกี่ยวข้อง: ดีบักรหัส Python ของคุณ

6. เลื่อนการประเมินคำอธิบายประกอบ

ภายใน Python การประเมินคำอธิบายประกอบประเภทจะดำเนินการในเวลาที่กำหนดฟังก์ชัน ซึ่งหมายความว่าคำอธิบายประกอบประเภทจะได้รับการประเมินทีละบรรทัดในแบบจากบนลงล่าง

แม้ว่าจะดูเหมือนเป็นตัวเลือกที่ดีที่สุด แต่ก็ยังมีปัญหาสองประการสำหรับแนวทางนี้:

  • คำแนะนำประเภทหมายถึงประเภทที่ยังไม่ได้กำหนดและใช้งานไม่ได้ คำแนะนำเหล่านี้ต้องแสดงเป็นสตริง
  • การนำเข้าโมดูลช้าลงเนื่องจากคำแนะนำประเภทดำเนินการแบบเรียลไทม์

เพื่อหลีกเลี่ยงปัญหาการดำเนินการ คำอธิบายประกอบจะถูกเก็บไว้ใน _คำอธิบายประกอบ_ และประเมินผลร่วมกัน ซึ่งช่วยให้สามารถอ้างอิงไปข้างหน้าได้เมื่อมีการนำเข้าโมดูลก่อน ซึ่งจะช่วยลดเวลาในการเริ่มต้น

การทำงานกับคุณสมบัติใหม่ล่าสุดใน Python 3.10

เวอร์ชันล่าสุดของ Python จะเปิดตัวในวันที่ 4 ตุลาคม 2021 สัญญาว่าจะแก้ไขข้อบกพร่องที่มีอยู่ในเวอร์ชันที่มีอยู่ เวอร์ชันที่ตามมาจะปรับปรุงเวอร์ชัน 3.10 ปัจจุบัน

การทำแผนที่รูปแบบโครงสร้างเป็นไฮไลต์ของการอัปเดตใหม่นี้ และทำให้การเขียนโค้ดสำหรับวัตถุที่คล้ายกันง่ายขึ้น คุณสมบัติอื่น ๆ เช่น Parenthesized Context Managers และ Union Operators ชนิดใหม่มุ่งหวังที่จะทำให้โค้ดง่ายขึ้นและมีประสิทธิภาพ

อย่างไรก็ตาม มีเทคนิคการจัดการข้อยกเว้นที่ยอดเยี่ยมบางอย่างในเวอร์ชัน Python ที่มีอยู่ คุณสามารถใช้ฟังก์ชันต่างๆ ของ Python ให้เกิดประโยชน์ได้

แบ่งปัน แบ่งปัน ทวีต อีเมล วิธีจัดการกับข้อยกเว้นใน Python

ครอบคลุมฐานการเข้ารหัสของคุณด้วยข้อยกเว้น Python

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • การเขียนโปรแกรม
  • การเขียนโปรแกรม
  • Python
  • เคล็ดลับการเข้ารหัส
เกี่ยวกับผู้เขียน Wini Bhalla(41 บทความที่ตีพิมพ์)

Wini เป็นนักเขียนจากเดลี โดยมีประสบการณ์การเขียน 2 ปี ระหว่างที่เธอทำงานเขียน เธอเคยร่วมงานกับเอเจนซีด้านการตลาดดิจิทัลและบริษัทด้านเทคนิค เธอได้เขียนเนื้อหาเกี่ยวกับภาษาการเขียนโปรแกรม เทคโนโลยีคลาวด์ AWS การเรียนรู้ของเครื่อง และอีกมากมาย ในเวลาว่าง เธอชอบวาดรูป ใช้เวลาอยู่กับครอบครัว และเดินทางไปที่ภูเขาทุกเมื่อที่ทำได้

เพิ่มเติมจาก Wini Bhalla

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก