ปัญหาหลักของการใช้ enum ใน Python คือการพิมพ์ตัวเลือกทั้งหมดอาจเป็นเรื่องยาก Enums ถูกกำหนดไว้ในโมดูล ดังนั้นคุณต้องอิมพอร์ตก่อน จากนั้น คุณสามารถใช้ชื่อของ enum เป็นตัวแปรเพื่อเข้าถึงสมาชิก:
จาก enum นำเข้า Enum
Enum.ชื่อ
for option in dir(enum): if not option.startswith('_'): print(option)
รหัสกำลังวนซ้ำผ่านตัวเลือกทั้งหมดในโมดูล enum หากตัวเลือกไม่ขึ้นต้นด้วยขีดล่าง แสดงว่ากำลังพิมพ์ตัวเลือกนั้นอยู่
ห้องสมุด Enum
ไลบรารี enum ใน Python คือไลบรารีที่ให้ชุดของค่าคงที่สำหรับการแสดงประเภทที่แจกแจง Enum สามารถใช้เพื่อแสดงตัวเลือก ค่า หรือสถานะต่างๆ และสามารถใช้แทนค่าคงที่จำนวนเต็มปกติได้
Enums มีประโยชน์สำหรับการกำหนดประเภทแบบกำหนดเองที่สามารถใช้ในรหัสของคุณโดยไม่ต้องกังวลเกี่ยวกับการแสดงตัวเลขพื้นฐาน ตัวอย่างเช่น คุณสามารถใช้ enum เพื่อแสดงไฟล์ประเภทต่างๆ หรือเวอร์ชันต่างๆ ของแพ็คเกจซอฟต์แวร์
ในการสร้าง enum ใน Python คุณต้องสร้างคลาสที่กำหนดประเภทการแจกแจงก่อน คลาสควรมีคุณสมบัติง่ายๆ สองสามอย่าง ได้แก่ ตัวระบุ (เช่น “enumFileType”) รายการค่าที่เป็นไปได้ (เช่น [“txt”, “rtf”, “doc”]) และเมธอดที่ส่งคืนค่า ค่าที่เกี่ยวข้อง (เช่น getFileType())
เมื่อคุณสร้างคลาสแล้ว คุณต้องเพิ่มอินสแตนซ์ของคลาสในรหัสของคุณ ในการทำเช่นนี้ คุณต้องใช้คีย์เวิร์ด enum ตามด้วยชื่อคลาส ตัวอย่างเช่น ถ้าคุณต้องการสร้าง enum ชื่อ "enumFileType" และเก็บค่าไว้ในตัวแปรชื่อ "fileType1" และ "fileType2" คุณจะต้องเขียน:
enumFileType = { 'txt': fileType1, 'rtf': fileType2 }
การแจงนับ
การแจงนับคือประเภทข้อมูลใน Python ที่ให้คุณจัดเก็บรายการค่าที่ไม่ซ้ำ คล้ายกับอาร์เรย์ แต่ไม่มีการจำกัดขนาดเฉพาะเจาะจง คุณสามารถสร้างการแจงนับได้โดยใช้คีย์เวิร์ด enum
enum สี { แดง, เขียว, น้ำเงิน }
คุณสามารถใช้ค่าในการแจงนับได้เหมือนกับที่คุณทำกับตัวแปรอื่นๆ ตัวอย่างเช่น คุณสามารถใช้มันในคำสั่งเงื่อนไขหรือเป็นส่วนหนึ่งของลูป คุณยังสามารถกำหนดการแจงนับให้กับตัวแปรโดยใช้คีย์เวิร์ด enum
สี myColor = สีน้ำเงิน;
การเข้าถึงแบบเป็นโปรแกรม
มีสองสามวิธีในการเข้าถึงข้อมูลทางโปรแกรมใน Python วิธีที่ง่ายที่สุดคือการใช้โมดูล urllib2 ในตัว โมดูลนี้มีอินเทอร์เฟซที่เรียบง่ายสำหรับการเข้าถึง URL และรับเนื้อหาของ URL เหล่านั้น
อีกวิธีหนึ่งในการเข้าถึงข้อมูลทางโปรแกรมคือการใช้คำขอของไลบรารี คำขอมีอินเทอร์เฟซที่ครอบคลุมและมีประสิทธิภาพมากขึ้นสำหรับการทำงานกับทรัพยากรบนเว็บ รวมถึงการเข้าถึงคุกกี้ การดาวน์โหลดไฟล์ และการสร้างคำขอ POST