ทำความเข้าใจเกี่ยวกับสิ่งที่เป็นนามธรรม: สิ่งที่เป็นนามธรรมทำงานใน Python อย่างไร

เผยแพร่แล้ว: 2023-04-08

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

สารบัญ

สิ่งที่เป็นนามธรรมใน Python?

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

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

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

Abstraction ทำงานอย่างไรใน Python

บทบาทสำคัญของสิ่งที่เป็นนามธรรมคือการปกปิดการทำงานภายในของโค้ด การโต้ตอบทำได้กับผู้ใช้ผ่านการใช้งานพื้นฐาน แนวคิดนามธรรมใน Python ทำงานโดยใช้คลาสนามธรรมและเมธอด

คลาสนามธรรมถูกกำหนดให้เป็นคลาสที่กล่าวถึงในรหัสที่มีวิธีการนามธรรม วิธีการนามธรรมไม่มีการใช้งานใด ๆ การใช้งานทั้งหมดจะดำเนินการภายในคลาสย่อย

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

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

ความสำคัญของนามธรรมใน Python

ต่อไปนี้เป็นวิธีที่สิ่งที่เป็นนามธรรมยืนยันความสำคัญของมันในฟังก์ชันต่างๆ ใน ​​Python เพื่อลดความซับซ้อนของการเขียนโปรแกรมที่รันด้วยภาษาที่เกี่ยวข้อง

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

คลาสฐานที่เป็นนามธรรม

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

ด้วยการกำหนดคลาสฐานนามธรรม คุณสามารถพัฒนา Application Programming Interface (API) ทั่วไปสำหรับคลาสย่อยต่างๆ เป็นประโยชน์เมื่อทำงานในทีมขนาดใหญ่โดยไม่จำเป็นต้องจำทุกชั้นเรียน นอกจากนี้ บุคคลภายนอกไม่จำเป็นต้องจัดหาชั้นเรียนทั้งหมดที่ห้องสมุด

คุณสามารถใช้คุณสมบัตินี้ของ data abstraction ใน Python หากคุณทำงานกับฐานรหัสขนาดใหญ่และพบว่ามันยากที่จะจำคลาสทั้งหมด

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

การทำงานของคลาสนามธรรม

ไม่เหมือนกับภาษาโปรแกรมระดับสูงอื่น ๆ คือ Python ไม่มีคลาสนามธรรมเป็นของตัวเอง คุณสามารถใช้วิธี ABC ของ Python ซึ่งมีพื้นฐานและเครื่องมือที่จำเป็นสำหรับการกำหนด Abstract Base Classes (ABC) โดยพื้นฐานแล้ว ABCs ให้คุณลักษณะของคลาสย่อยเสมือน เป็นคลาสที่ไม่สืบทอดคุณสมบัติจากคลาสและยังสามารถระบุได้โดย

isinstance() และ issubclass()

โมดูลต่อไปนี้ช่วยให้คุณพัฒนา ABCs ของคุณเอง

จาก abc นำเข้า ABC

คลาส MyABC(ABC):

ผ่าน

ตามที่กล่าวไว้ข้างต้น โมดูล ABC มี metaclass เช่น ABCMeta ที่กำหนด ABCs และ helper class ABC เพื่อกำหนด ABCs โดยใช้การสืบทอดนอกจากนี้ โมดูล ABC ยังมี@abstractmethod decorator สำหรับแสดงวิธีการนามธรรมABC ถูกกำหนดให้ คำหลัก@abstractmethod ตกแต่งวิธีการนามธรรมภายในคลาสฐานเมื่อสร้างขึ้นยิ่งกว่านั้น วิธีการที่เป็นรูปธรรมจะแสดงเป็นการนำคลาสพื้นฐานไปใช้

สิ่งที่เป็นนามธรรม ต่อไปนี้ในตัวอย่าง Python ช่วยให้คุณเข้าใจการทำงานของคลาสนามธรรมได้ดียิ่งขึ้น

สำรวจหลักสูตรวิทยาศาสตร์ข้อมูลยอดนิยมของเรา

หลักสูตรบริหารธุรกิจบัณฑิตสาขาวิทยาศาสตร์ข้อมูลจาก IIITB หลักสูตรประกาศนียบัตรวิชาชีพด้านวิทยาศาสตร์ข้อมูลเพื่อการตัดสินใจทางธุรกิจ วิทยาศาสตรมหาบัณฑิต สาขา Data Science จาก University of Arizona
หลักสูตรประกาศนียบัตรขั้นสูงด้านวิทยาศาสตร์ข้อมูลจาก IIITB หลักสูตรประกาศนียบัตรวิชาชีพด้าน Data Science and Business Analytics จาก University of Maryland หลักสูตรวิทยาศาสตร์ข้อมูล

จาก abc นำเข้า ABC วิธีนามธรรม

วิชาเรียน (ABC):

คะแนน def (ตัวเอง):

ผ่าน

ชั้นเรียนภาษาอังกฤษ (เรื่อง):

คะแนน def (ตัวเอง):

พิมพ์ (“คะแนนคือ 80”)

วิชาคณิตศาสตร์ในชั้นเรียน (เรื่อง):

คะแนน def (ตัวเอง):

พิมพ์ (“คะแนนคือ 75”)

วิทยาศาสตร์ในชั้นเรียน (เรื่อง):

คะแนน def (ตัวเอง):

พิมพ์ (“คะแนนคือ 85”)

วรรณคดีชั้นเรียน (เรื่อง):

คะแนน def (ตัวเอง):

พิมพ์ (“คะแนนคือ 70”)

e= ภาษาอังกฤษ()

e.คะแนน()

ม = คณิตศาสตร์()

m.score()

s = วิทยาศาสตร์()

s.score()

l = วรรณกรรม()

l.score()

เอาท์พุต:

คะแนนคือ 80

คะแนนคือ 75

คะแนนคือ 85

คะแนนคือ 70

มาทำความเข้าใจกับการนำ Code ด้านบนไปใช้กัน

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

ตรวจสอบหลักสูตรวิทยาศาสตร์ข้อมูลฟรี ของเรา เพื่อรับความได้เปรียบเหนือการแข่งขัน

ตัวอย่างนามธรรมใน Python: แอปพลิเคชันในโลกแห่งความเป็นจริง

1. การขูดเว็บ

หนึ่งในแอปพลิเคชั่นที่ดีที่สุดของ Python คือการขูดเว็บ มันบ่งบอกถึงการขูดข้อมูลจำนวนมหาศาลโดยบริษัทต่างๆ เพื่อดึงข้อมูลลูกค้าและตัดสินใจอย่างคุ้มค่า แนวคิดนามธรรมจะแสดงเฉพาะข้อมูลที่จำเป็นเท่านั้น จึงช่วยให้บริษัทต่างๆ เข้าถึงข้อมูลลูกค้าได้อย่างง่ายดาย ยิ่งไปกว่านั้น เครื่องมืออย่าง Selenium, PythonRequest และ MechanicalSoup ยังถูกใช้ในการเขียนโปรแกรม Python เพื่อพัฒนาแอปพลิเคชันการขูดเว็บ

2. การเรียนรู้ของเครื่องและ AI

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

ทักษะด้านวิทยาศาสตร์ข้อมูลอันดับต้น ๆ ที่ต้องเรียนรู้

ทักษะด้านวิทยาศาสตร์ข้อมูลอันดับต้น ๆ ที่ต้องเรียนรู้
1 หลักสูตรการวิเคราะห์ข้อมูล หลักสูตร สถิติอนุมาน
2 โปรแกรมทดสอบสมมติฐาน หลักสูตรการถดถอยโลจิสติก
3 หลักสูตรการถดถอยเชิงเส้น พีชคณิตเชิงเส้นสำหรับการวิเคราะห์

3. เดสก์ท็อป GUI

Python เป็นภาษาโปรแกรมแบบโอเพ่นซอร์ส เรียนรู้ง่าย ไม่ขึ้นกับแพลตฟอร์ม และมีความเสถียร ลักษณะเหล่านี้ทำให้ Python เหมาะสำหรับการสร้างเดสก์ท็อป GUI เครื่องมือต่างๆ เช่น PyGUI, PyQt และ WxPython ถูกนำมาใช้อย่างกว้างขวางเพื่อพัฒนา GUI คุณภาพสูงอย่างมีประสิทธิภาพ

อ่านบทความวิทยาศาสตร์ข้อมูลยอดนิยมของเรา

เส้นทางอาชีพด้านวิทยาศาสตร์ข้อมูล: คู่มืออาชีพที่ครอบคลุม Data Science Career Growth: อนาคตของงานมาถึงแล้ว เหตุใดวิทยาศาสตร์ข้อมูลจึงมีความสำคัญ 8 วิธีที่วิทยาการข้อมูลนำคุณค่ามาสู่ธุรกิจ
ความเกี่ยวข้องของวิทยาศาสตร์ข้อมูลสำหรับผู้จัดการ สุดยอดสูตรโกงวิทยาศาสตร์ข้อมูลที่นักวิทยาศาสตร์ข้อมูลทุกคนควรมี เหตุผล 6 อันดับแรกที่คุณควรมาเป็นนักวิทยาศาสตร์ข้อมูล
หนึ่งวันในชีวิตของ Data Scientist: พวกเขาทำอะไร? Myth Busted: Data Science ไม่ต้องการการเข้ารหัส Business Intelligence vs Data Science: อะไรคือความแตกต่าง?

4. การทำอาหาร

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

ซื้อกลับบ้าน

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

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

การถ่ายทอดทักษะที่จำเป็น เช่น การเขียนโปรแกรมฐานข้อมูลใน SQL, การสร้างลอจิกสำหรับการเขียนโปรแกรม, ไวยากรณ์ Python ที่สำคัญ และการเขียนโปรแกรมฐานข้อมูลใน Python โดยใช้ไลบรารี Pandas และ NumPy หลักสูตรนี้จะช่วยให้คุณเชี่ยวชาญทุกด้านของการเขียนโปรแกรม Python นอกจากหลักสูตรที่ทันสมัยแล้ว upGrad ยังมอบสิทธิประโยชน์เพิ่มเติมมากมาย เช่น ชั้นเรียนแบบโต้ตอบสด เซสชันการไขข้อสงสัย การให้คำปรึกษาจากผู้เชี่ยวชาญชั้นนำในอุตสาหกรรม การสนับสนุนนักเรียนตลอด 24 ชั่วโมงทุกวัน และอีกมากมาย!

ถาม อะไรคือความแตกต่างระหว่างสิ่งที่เป็นนามธรรมและการห่อหุ้มใน Python?

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

ถาม Abstraction ใน Python ช่วยคุณสร้างโค้ดที่ใช้ซ้ำได้อย่างไร

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

ถาม วิธีการใดบ้างที่รองรับในคลาสนามธรรมใน Python

คลาสนามธรรมใน Python สามารถรองรับทั้งวิธีการนามธรรมและรูปธรรมใน Python ควรใช้วิธีนามธรรมในคลาสที่ได้รับ วิธีการที่เป็นรูปธรรมถูกนำมาใช้ในคลาสพื้นฐาน