欢迎光临散文网 会员登陆 & 注册

关于Python的enum类型

2023-08-22 13:24 作者:李家铺子掌柜  | 我要投稿

Did you have thought of the questions as following:

  1. When and where to use Enum?

  2. Why do we need Enum? What are the advantages?

  3. What exactly is an Enum?

Let's talk about the qustions that already answered respectively.

1. When and where to use enums?

  • When you have a variable that takes one of a limited set of possible values.

For example, the days of the week:

2. Why do we need enum? What are the advantages?

  • Enums are advantageous because they give a name to a constant, which makes code more readable; and because the individual members cannot be rebound, making Python Enums semi-constant (because the Enum itself could still be rebound).

  • Besides more readable code, debugging is also easier as you see a name along with the value, not just the value

  • Desired behavior can be added to Enums

For example, as anyone who has worked with the datetime module knows, datetime and date have two different representations for the days of the week: 0-6 or 1-7. Rather than keep track of that ourselves we can add a method to the Weekday enum to extract the day from the datetime or date instance and return the matching enum member:

3. What exactly is Enum?

  • Enum is a type, whose members are named constants, that all belong to (or should) a logical group of values. So far I have created Enums for:

FederalHoliday is my most complex; it uses this recipe, and has methods to return the actual date the holiday takes place on for the year given, the next business day if the day in question is a holiday (or the range of days skipped includes the holiday or weekends), and the complete set of dates for a year. Here it is:

本文转自stackoverflow,希望对你有所帮助。


一起学习,共同进步


关于Python的enum类型的评论 (共 条)

分享到微博请遵守国家法律