Python 3.9 : มีอะไรใหม่บ้าง? คุณสมบัติสุดเจ๋งในการชำระเงิน
เผยแพร่แล้ว: 2020-12-01Python เป็นภาษาที่นักพัฒนาชื่นชอบตลอดกาลและเป็นที่ชื่นชอบมากที่สุด ตามดัชนี Tiobe ซึ่งเป็นชุมชนการเขียนโปรแกรมที่จัดอันดับภาษาโปรแกรมตามความนิยม Python ได้รับการจัดอันดับที่สองแซง Java Python มีการสนับสนุนชุมชนที่ยอดเยี่ยมและเนื่องจากความเรียบง่ายและลักษณะการใช้งานที่ง่าย ผู้เริ่มต้นทุกคนจึงปรารถนาที่จะเชี่ยวชาญภาษานี้อย่างน้อย
ในขณะที่ภาษานี้ได้รับความสนใจอย่างมากในช่วงไม่กี่ปีที่ผ่านมา โดยพบว่ามีการใช้งานในด้านการวิเคราะห์ข้อมูล การเรียนรู้ของเครื่อง การพัฒนาเว็บ แอปพลิเคชันคอมพิวเตอร์ IOT หรือด้านการพัฒนาอื่นๆ Python 3.9 เวอร์ชันล่าสุดที่เสถียรได้รับการเผยแพร่และนำเสนอ การเปลี่ยนแปลงมากมายจาก parser เป็นฟังก์ชันเพิ่มเติมเพื่อเปลี่ยนแปลงในไทม์ไลน์การเผยแพร่คุณลักษณะ มาดูรายละเอียดการเปลี่ยนแปลงเหล่านี้กัน:
สารบัญ
โอเปอเรเตอร์ใหม่
ขณะจัดการกับพจนานุกรม บ่อยครั้งมากที่เราจำเป็นต้องรวมหรืออัปเดตพจนานุกรมเหล่านั้นด้วยรายการจากพจนานุกรมอื่นๆ ก่อนหน้านี้สามารถทำได้โดยใช้แอตทริบิวต์ update ของอ็อบเจ็กต์พจนานุกรม: first_dict.update(second_dict) แต่ปัญหาของวิธีนี้คือการเปลี่ยนแปลงเสร็จสิ้นแล้ว และค่าดั้งเดิมจะได้รับการแก้ไข
หากต้องการทำการเปลี่ยนแปลงชั่วคราว ตัวแปรอื่นจะต้องเก็บค่าก่อนหน้า เวอร์ชันใหม่นี้ได้แนะนำตัวดำเนินการใหม่ที่เรียกว่าตัวดำเนินการผสาน (|) ซึ่งสามารถใช้เพื่อผสานพจนานุกรม นี่คือตัวอย่างโค้ดเพื่อทำความเข้าใจสิ่งนี้:
A = { “ชื่อ” : “ผู้แต่ง”, “บริษัท” : “upGrad”}
B = { “สถานะ” : “ผู้สอน”}
พิมพ์ (A|B)
เอาท์พุต: { “name” : “Author”, “company” : “upGrad”, “status” : “instructor”}
| เป็นเหมือน โอเปอเรเตอร์การเรียงต่อกัน แต่ถ้าคุณต้องการอัปเดตค่าดั้งเดิม คุณสามารถใช้โอเปอเรเตอร์ |= ได้ ต่อจากตัวอย่างก่อนหน้า A |=B จะอัปเดตค่าของพจนานุกรม A
อ่านเพิ่มเติม: เงินเดือนนักพัฒนา Python ในอินเดีย
การดำเนินการสตริง
การจัดการข้อความเป็นส่วนสำคัญของวงจรชีวิตของวิทยาศาสตร์ข้อมูล โดยเฉพาะในช่วง NLP มีฟังก์ชันต่างๆ มากมายในการดำเนินการสตริงประเภทต่างๆ เช่น การแยก การต่อข้อมูล การแทนที่ และอื่นๆ อีกมากมาย ในการเข้าร่วมมรดกนี้ มีการเพิ่มการดำเนินการใหม่สองรายการซึ่ง ได้แก่ removesuffix() และ removeprefix()
ตามชื่อที่แนะนำ สิ่งเหล่านี้ใช้เพื่อลบคำนำหน้าและส่วนต่อท้ายออกจากสตริง สามารถเข้าถึงได้โดยใช้วัตถุสตริง การลบนี้สามารถทำได้ง่ายโดยใช้นิพจน์ทั่วไปและการแบ่งส่วนของสตริง แต่ตอนนี้ เรามีฟังก์ชันนี้ในไลบรารีในตัว ต่อไปนี้คือตัวอย่างง่ายๆ เพื่อจุดประสงค์ในการแสดงภาพประกอบ:
'@something_new'.removeprefix('@')
'something_231'.removesufix('231')
เอาท์พุท:
สิ่งใหม่ ๆ
บางสิ่งบางอย่าง_
โมดูลเขตเวลาดัดแปลง
เวอร์ชันนี้ยังได้แนะนำโมดูลใหม่ที่ชื่อว่าข้อมูลโซนซึ่งสนับสนุนฐานข้อมูล IANA ในไลบรารีมาตรฐาน เราสามารถระบุเขตเวลาในวัตถุ DateTime จากไลบรารีมาตรฐานได้ แต่ผู้ใช้สามารถสร้างกฎที่ซับซ้อนสำหรับเขตเวลาได้ ตาม PEP 615 ฐานผู้ใช้มีแนวโน้มที่จะเข้าสู่โซนเวลาหลัก เช่น UTC, IANA หรือเขตเวลาท้องถิ่นของระบบ ตอนนี้คุณสามารถสร้างวัตถุข้อมูลโซนโดยระบุเส้นทางการค้นหาการกำหนดค่าซึ่งอยู่ในรูปแบบ “ทวีป/เมือง” ตัวอย่างเช่น
จากการนำเข้า zoneinfo นำเข้า ZoneInfo
จากวันที่และเวลานำเข้า วันที่เวลา
dt = วันที่และเวลา (2020, 11, 15, 01, tzinfo=ZoneInfo(“เอเชีย/โกลกาตา”))
dt.tzname()
เอาท์พุต: 'IST'
เรียนรู้เกี่ยวกับ: เครื่องมือ Python ยอดนิยม
ฟังก์ชันคณิตศาสตร์ใหม่
โมดูลคณิตศาสตร์ประกอบด้วยการดำเนินการเชิงตัวเลขทั้งหมดที่ใช้ในคณิตศาสตร์ทั่วไป ไม่ว่าจะเป็นฟังก์ชันไซน์ โคไซน์ การปัดเศษตัวเลขให้เป็นตำแหน่งเฉพาะ หรือค่าคงที่สากล เช่น pi หรือเลขชี้กำลัง โมดูลคณิตศาสตร์ครอบคลุมฟังก์ชันเกือบทุกประเภท

มีการเพิ่มฟังก์ชันใหม่สามรายการในรายการนี้และมี math.lcm(), math.nextafter(), math.ulp() แม้ว่า LCM (ตัวคูณร่วมน้อย) เป็นฟังก์ชันที่ใช้กันทั่วไปมาก แต่อีกสองฟังก์ชันกลับไม่ได้ใช้มากเท่า ก่อนหน้านี้ เราต้องสร้างฟังก์ชันสำหรับการดำเนินการ LCM อย่างชัดเจน แต่ตอนนี้เริ่มเวอร์ชันใหม่นี้แล้ว เรามีฟังก์ชันในตัวในไลบรารีมาตรฐาน หากต้องการใช้ฟังก์ชันนี้ ให้โทร:
นำเข้าคณิตศาสตร์
math.lcm(2,3)
เอาท์พุต: 6
หากไม่มีการส่งอาร์กิวเมนต์ในฟังก์ชันนี้ ฟังก์ชันนี้จะคืนค่า 1 และหากหนึ่งในค่านี้เป็นศูนย์ ฟังก์ชันนี้จะคืนค่า 0
Parser ประสิทธิภาพสูง
นอกเหนือจากการเพิ่มใหม่ทั้งหมดในระดับคุณลักษณะแล้ว ตัวแยกวิเคราะห์ภาษา Python ยังได้รับการอัปเดตเป็นเทคโนโลยีใหม่ที่เร็วกว่าซึ่งเรียกว่าตัวแยกวิเคราะห์ PEG เอฟเฟกต์นี้จะไม่สะท้อนให้เห็นในเวอร์ชันนี้ แต่จะมีผลกับ Python 3.10 ที่กำลังจะมีขึ้น ตั้งแต่วันที่ Python ถูกสร้างขึ้น มันใช้ LL(1) parser ซึ่งแยกวิเคราะห์โค้ดจากบนลงล่างและซ้ายไปขวา parser นี้อิงตามไวยากรณ์ที่ไม่มีบริบท ดังนั้นจึงมีความคลุมเครือว่าสตริงสามารถมีต้นไม้แยกวิเคราะห์ได้มากกว่าหนึ่งต้น และเพิ่มจำนวนขั้นตอนระหว่างกลาง ตัวแยกวิเคราะห์ PEG ใหม่จะสร้าง AST (Abstract Syntax Trees) ที่ถูกต้องเพียงหนึ่งรายการเพื่อลบความกำกวมของ parser ก่อนหน้า
ฟังก์ชันสุ่มใหม่และการเปลี่ยนแปลงในรอบการเปิดตัว
ในโมดูล random.random มีการเพิ่มเมธอดใหม่ randbytes(n) ซึ่งจะคืนค่าสุ่ม n ไบต์ คล้ายกับฟังก์ชันสุ่มอื่นๆ นอกจากนี้ ก่อนหน้านี้ Python จะออกเวอร์ชันใหม่ทุกๆ 18 เดือน ซึ่งลดลงเหลือ 12 เดือน
รับ ใบรับรองวิทยาศาสตร์ข้อมูล จากมหาวิทยาลัยชั้นนำของโลก เรียนรู้หลักสูตร Executive PG Programs, Advanced Certificate Programs หรือ Masters Programs เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
เมื่อใดก็ตามที่ซอฟต์แวร์เวอร์ชันใหม่ออกวางจำหน่าย ซอฟต์แวร์จะมาพร้อมกับการเปลี่ยนแปลงใหม่ๆ มากมาย ในที่นี้ เราได้พูดถึงการเปลี่ยนแปลงที่สำคัญและเน้นย้ำใน Python ซึ่งรวมถึงโอเปอเรเตอร์ใหม่ คุณสมบัติเพิ่มเติม และ parser ที่ปรับปรุงแล้ว
มีการเปลี่ยนแปลงใหม่ๆ มากมายในโมดูลอื่นๆ เช่น ast, asyncio, concurrent.futures, multiprocessing, XML ฟังก์ชันบางอย่างถูกคิดค่าเสื่อมราคาแล้วและยังมีรายการต่อไป คุณสามารถตรวจสอบเอกสารอย่างเป็นทางการสำหรับรายการอัปเดตทั้งหมดใน Python 3.9 ใหม่
หากคุณอยากเรียนรู้เกี่ยวกับ python, data science, ลองดู IIIT-B & upGrad's PG Diploma in Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพด้านการทำงานและเสนอกรณีศึกษาและโครงการมากกว่า 10 รายการ, การประชุมเชิงปฏิบัติการเชิงปฏิบัติ, การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม ตัวต่อตัวกับที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
ทำไม Python จึงเป็นที่ต้องการมากกว่าภาษาการเขียนโปรแกรมอื่น ๆ
มีเหตุผลมากมายที่ว่าทำไม Python จึงเป็นที่ต้องการมากกว่าภาษาอื่นๆ ประการแรก รหัสของ Python นั้นอ่านง่าย และเข้าใจได้แม้กระทั่งนักพัฒนาที่ไม่เคยเขียนมาก่อน Python เป็นเรื่องปกติในชุมชนวิทยาศาสตร์ และนักวิจัยและอาจารย์จำนวนมากก็อยู่ในกลุ่มผู้ใช้ Python นักพัฒนาสามารถแชร์ คัดลอก และเปลี่ยนแปลงโค้ดที่สร้างบน Python ได้ นอกจากนี้ Python ยังมีชุมชนที่เข้มแข็งและมีการพัฒนาอย่างรวดเร็ว เนื่องจากเป็นภาษาการเขียนโปรแกรมที่เปิดกว้างและฟรี Python เข้ากันได้กับระบบที่หลากหลาย ช่วยให้นักพัฒนาไม่ต้องเผชิญหน้ากับปัญหาที่แพร่หลายในภาษาอื่น
การใช้งานของ math.nextafter() และ math.ulp() ใน Python คืออะไร?
nextafter() และ ulp() เป็นสองฟังก์ชันใหม่ที่เพิ่มลงในไลบรารีคณิตศาสตร์ใน Python 3.9.0 ฟังก์ชัน nextafter() ส่งคืนค่าโฟลตถัดไปหลังจาก x ไปในทิศทางของ y ถ้า x เท่ากับ y ค่า y จะถูกส่งกลับ ไวยากรณ์ของมันคือ math.nextafter(x, y) โดยที่ x และ y เป็นค่าจำนวนเต็ม/จุดลอยตัวสองค่า ULP เป็นตัวย่อหมายถึง Unit in the Last Place ULP คือช่องว่างระหว่างค่าทศนิยมในการวิเคราะห์เชิงตัวเลขและวิทยาการคอมพิวเตอร์ ฟังก์ชัน math.ulp() ส่งคืนค่าของบิตที่มีนัยสำคัญน้อยที่สุดของ float x ไวยากรณ์ของมันคือ ulp(x) ทางคณิตศาสตร์ และอาร์กิวเมนต์ที่จะป้อน x ต้องเป็นทศนิยม ซึ่งต้องส่งคืน ulp
Parser ใน Python คืออะไร?
ในระหว่างขั้นตอนการวิเคราะห์ไวยากรณ์ คอมไพเลอร์จะตรวจสอบว่าโทเค็นที่สร้างโดยตัววิเคราะห์คำศัพท์นั้นได้รับการจัดระเบียบตามกฎไวยากรณ์ของภาษาหรือไม่ parser เป็นผู้รับผิดชอบในเรื่องนี้ parser ได้รับสตริงของโทเค็นจากตัววิเคราะห์คำศัพท์และตรวจสอบว่าสตริงนั้นสอดคล้องกับไวยากรณ์ของภาษาต้นทาง ตรวจพบและรายงานปัญหาทางไวยากรณ์ใดๆ และมีการจัดทำแผนผังการแยกวิเคราะห์ซึ่งนักพัฒนาสามารถสร้างโค้ดระดับกลางได้ นอกจากนี้ โมดูล parser ยังสื่อสารกับตัวแยกวิเคราะห์ภายในของ Python และคอมไพเลอร์โค้ดไบต์ จุดประสงค์หลักของอินเทอร์เฟซนี้คืออนุญาตให้โค้ด Python แก้ไขแผนผังการแยกวิเคราะห์ของนิพจน์ Python และสร้างโค้ดที่ใช้งานได้