26 พฤษภาคม 2558

Published พฤษภาคม 26, 2558 by with 0 comment

Enum กับภาษา Python

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปใช้งาน Enum กับภาษา Python แบบเบื้องต้นกันครับ

Enum คืออะไร?
Enum (ภาษาไทยอ่านว่า อีนัล) หรืออีกชื่อ enumeration type คือ ชนิดของข้อมูลบางชนิดที่ให้ค่าความเป็นไปได้ของข้อมูลเพียงไม่กี่ค่า และมีความแน่นอนของค่าข้อมูล

ในภาษา Python เราสามารถใช้ Enum กับภาษา Python ได้โดยใช้ ไลบรารีมาตรฐานที่ชื่อว่า "enum"
enum เป็นไลบรารีมาตรฐานมีใน Python 3.4 ขึ้นไป

สำหรับท่านใดที่ใช้ Python เวชั่นต่ำกว่า 3.4 หรือ Python 2.6 - Python 2.7
สามารถติดตั้ง enum ได้โดยใช้คำสั่ง pip:
$ pip install enum34

การใช้งาน
ให้ดึงไลบรารี enum เข้ามา

[python]from enum import Enum[/python]

ทุกครั้งครับ

สร้างอีนัล (Enum)บนภาษา Python :

[python]
>>> from enum import Enum
>>> class Color(Enum):
... red = 1
... green = 2
... blue = 3
[/python]

คำอธิบาย

  • คลาส Color เป็น enumeration (หรืออีนัล)

  • attributes Color.red, Color.green , Color.blue เป็นสมาชิกอีนัล

  • สมาชิกอีนัลมีทั้งชื่อและค่า (ชื่อของ Color.red คือ red ค่าของ Color.red คือ 1)


เมื่อเช็คชนิดของข้อมูล

[python]
>>> type(Color.red)
<enum 'Color'>
>>> isinstance(Color.green, Color)
True
>>>
[/python]

แสดงอีนัล (Enum) :

[python]
>>> print(Color.red)
Color.red
>>> print(repr(Color.red)) # ใช้คำสั่ง repr เพื่อรับรายละเอียดเพิ่มเติม
<Color.red: 1>
[/python]

Iteration

[python]
>>> for color in Color:
... print(color)
...
Color.red
Color.green
Color.blue
[/python]

เข้าถึงโดยทางโปรแกรม:

[python]
>>> Color(1)
Color.red
>>> Color['blue']
Color.blue
[/python]

อ่านเอกสารการใช้งานอีนัล (Enum) บนภาษา Python เพิ่มเติมได้ที่
https://www.python.org/dev/peps/pep-0435/
https://docs.python.org/3/library/enum.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)