小白学python之使用枚举类_学习笔记

本文以廖雪峰的官方网站为参考来学习python的。其学习链接为廖雪峰小白学python教程

本文是学习到python的多重继承。参考链接廖雪峰python使用枚举类

本学习笔记仅供参考。

>>> from enum import Enum
>>> Month = Enum('Month',('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'))
>>> for name,member in Month.__members__.items():
    print(name,'=>',member,',',member.value)

运行结果:

Jan => Month.Jan , 1
Feb => Month.Feb , 2
Mar => Month.Mar , 3
Apr => Month.Apr , 4
May => Month.May , 5
Jun => Month.Jun , 6
Jul => Month.Jul , 7
Aug => Month.Aug , 8
Sep => Month.Sep , 9
Oct => Month.Oct , 10
Nov => Month.Nov , 11
Dec => Month.Dec , 12

from enum import Enum, unique
>>> @unique
class Weekday(Enum):
	Sun = 0
	Mon = 1
	Tue = 2
	Wed = 3
	Thu = 4
	Fri = 5
	Sat = 6

	
>>> 
>>> day1 = Weekday.Mon
>>> print(day1)
Weekday.Mon
>>> print(Weekday.Tue)
Weekday.Tue
>>> print(Weekday['Tue'])
Weekday.Tue
>>> print(Weekday.Tue.value)
2
>>> print(day1 == Weekday.Mon)
True
>>> print(day1 == Weekday.Tue)
False
>>> print(Weekday(1))
Weekday.Mon
>>> print(day1 == Weekday(1))
True

如果输入

>>> Weekday(7)

则会报错:

Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    Weekday(7)
  File "**********", line *****, in __call__
    return cls.__new__(cls, value)
  File "**********", line ******, in __new__
    return cls._missing_(value)
  File "***********", line ***, in _missing_
    raise ValueError("%r is not a valid %s" % (value, cls.__name__))
ValueError: 7 is not a valid Weekday

>>> for name, member in Weekday.__members__.items():
	print(name,'=>',member)

运行结果为:


    
Sun => Weekday.Sun
Mon => Weekday.Mon
Tue => Weekday.Tue
Wed => Weekday.Wed
Thu => Weekday.Thu
Fri => Weekday.Fri
Sat => Weekday.Sat

练习

>>> # -*- coding: utf-8 -*-
from enum import Enum, unique
>>> 
class Gender(Enum):
    Male = 0
    Female = 1

    
>>> 
class Student(object):
    def __init__(self,name,gender):
        self.name = name
        self.gender = gender

        
>>> bart = Student('Bart', Gender.Male)
>>> if bart.gender == Gender.Male:
    print('测试通过!')
else:
    print('测试失败!')

运行结果:

测试通过!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA技术指导

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值