zoukankan      html  css  js  c++  java
  • enum

    enum模块

    import enum
    
    class Letter(enum.Enum):
        a = 1
        b = 2
        c = 3
    
    print('name:{}-{}'.format(Letter.a.name,Letter.b.name))     # name:a-b
    print('value:{}-{}'.format(Letter.a.value,Letter.b.value))  # value:1-2

    继承enum.Enum,类的静态成员有name和value,name就是静态属性的名字,value就是静态属性的只值

    迭代

    import enum
    class Site(enum.Enum):
        city = '广州'
        province = '广东省'
    
    for k in Site:
        print('{:10} is {:10}'.format(k.name,k.value))
        
    # city       is 广州        
    # province   is 广东省     

    循环类的属性,将属性名和属性值对应打印出来

    import enum
    
    class Number(enum.IntEnum):
        c = 6
        a = 3
        b = 9
        g = 8
        e = 1
    
    print('	'.join([s.name for s in sorted(Number)]))
    
    # e    a    c    g    b 

    根据类的属性的值来排序,输出属性名

    import enum
    class Number(enum.Enum):
        a = 10
        b = 5
        c = 1
    
        e = 5
        g = 1
    
    for k in Number:
        print('{:5} = {:5}'.format(k.name,k.value))
        
    # a     =    10
    # b     =     5
    # c     =     1

    类的属性有相同的值,遍历的时候,它们都不会出现在输出中。枚举成员中第一个关联到成员值的名称是规范名称。

  • 相关阅读:
    unity IOC 的使用
    Senparc之OAuth原理
    改进的日志记录类
    发一个 Nuget打包发布小工具
    贴一个微信小程序跳一跳辅助
    调用API让声卡发出声音
    控制台彩色输出
    C#调用cmd实现自我删除
    一个适合新手的简易计算器
    简单Console进度条
  • 原文地址:https://www.cnblogs.com/st-st/p/9683521.html
Copyright © 2011-2022 走看看