本篇主要介绍Python中枚举类的用法 当我们需要定义常量时,一个办法就是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR = 3 ··· NOV = 11 DEC = 12...更好的办法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。...Python提供了Enum来来实现这个功能: from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May...', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) 这样我们就获得了Month类型的枚举值,可以直接使用Month.Jan来引用一个常量,或者枚举它的所有成员...如果需要更精确地控制枚举类型,可以从Enum派生出自定义类: @unique class Weekday(Enum): Sun = 0 Mon = 1 Tue = 2 Wed
定义枚举类: from enum import Enum, unique @unique class Weekday(Enum): Sun = 0 # Sun的value被设定为0 Mon...= 1 Tue = 2 Wed = 3 Thu = 4 Fri = 5 Sat = 6 可以看到括号里面是Enum ,即继承自枚举类 然后给这个枚举类的每个成员赋予一个值
开发中我们经常定义常量, 其实有更好的方法:为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。...Python中提供了Enum类来实现这个功能: from enum import Enum Numbers = Enum('Name', ('乔峰', '鸠摩智', '段誉', '阿紫', '虚竹',...段誉 , 3 阿紫 => Name.阿紫 , 4 虚竹 => Name.虚竹 , 5 慕容复 => Name.慕容复 , 6 6 Name.虚竹 Name.鸠摩智 上面我们就获得了Numbers类型的枚举类...,可以直接使用: Numbers.乔峰 来引用一个常量,或者枚举它的所有成员。...可见,我们既可以用成员名称引用枚举常量,又可以直接根据value的值获得枚举常量。
EnumMeta 元类编程,生成类的类,可以动态生成类。...类,后续类都继承Enum类。...class EnumMeta(type): def __new__(metacls, cls, bases, classdict): # member_type 枚举成员的类型...# first_enum 第一个继承的类型枚举类 member_type, first_enum = metacls...._get_mixins_方法 @staticmethod def _get_mixins_(bases): """ 返回用于创建枚举成员的类型,以及第一个继承的类型枚举类
更好的方法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。...Python提供了Enum类来实现这个功能: from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May...', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) 这样我们就获得了Month类型的枚举类,可以直接使用Month.Jan来引用一个常量,或者枚举它的所有成员...如果需要更精确地控制枚举类型,可以从Enum派生出自定义类 from enum import Enum, unique @unique class Weekday(Enum): Sun = 0...,又可以直接根据value的值获得枚举常量。
枚举类:就是对象的实例个数是确定的(例如:单例模式),也就说我们在创建枚举类的时候,会对构造器进行设置 一、自定义创建枚举类 ---- package com.atguigu.java1; public...return seasonName; } public String getSeasonDesc() { return seasonDesc; } //4.创建枚举类的对象...//枚举类 enum Season1{ SPRING("spring", "春暖花开"), SUMMER("summer", "夏日炎炎"), AUTUMN("autumn",...;i++){ System.out.println(seasons[i]); } //2.valueOf(String name):要求传入的形参name是枚举类对象的名字,获取枚举对象。...interface Info{ void show(); } //枚举类 enum Season1 implements Info{ SPRING("spring", "春暖花开"){
更好的方法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。...Python提供了Enum类来实现这个功能: from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May...', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) 这样我们就获得了Month类型的枚举类,可以直接使用Month.Jan来引用一个常量,或者枚举它的所有成员...如果需要更精确地控制枚举类型,可以从Enum派生出自定义类: from enum import Enum, unique @unique class Weekday(Enum): Sun =...,又可以直接根据value的值获得枚举常量。
枚举类 语法 [Modifier] enum enumName{ enumContantName1 [,enumConstantName2...[;]] //[field,method...包装类把基本类型数据转换为对象 每个基本类型在java.lang包中都有一个相应的包装类 包装类的作用 提供了一系列实用的方法 集合不允许存放基本数据类型数据,存放数字时,要用包装类型 XXXValue...():包装类转换成基本类型 byteValue()、intValue() longValue()、shortValue() doubleValue()、floatValue() charValue()、...装箱:基本类型转换为包装类的对象 拆箱:包装类对象转换为基本类型的值 Math类 java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率) Random...(10);//返回下一个伪随机数,整型的 System.out.println("第"+(i+1)+"个随机数是:"+num); } String类 length()方法 equals(
一个办法是用大写变量通过整数来定义 好处是简单,缺点是类型是int,并且仍然是变量 Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较,这样这些相关常量就不会变化了 使用枚举类...Month.Sep , 9 #输出:Oct => Month.Oct , 10 #输出:Nov => Month.Nov , 11 #输出:Dec => Month.Dec , 12 自定义枚举类... 如果需要更精确地控制枚举类型,可以从Enum派生出自定义类 from enum import Enum, unique @unique #@unique装饰器可以帮助我们检查保证没有重复值...print(Weekday.Tue) #输出:Weekday.Tue print(Weekday['Tue']) #输出:Weekday.Tue,可用成员名称引用枚举常量...print(Weekday('03').value) #输出:03,根据value值获取枚举常量 print(day1 == Weekday('01')) #输出:
文章目录 一、枚举类 二、枚举类定义函数 1、枚举类定义普通函数 2、枚举类定义构造函数 三、密封类 一、枚举类 ---- Kotlin 中使用 枚举类 定义常量 , 枚举类定义格式如下 : 枚举常量...都是 枚举类 的 实例对象 ; enum class 枚举类类型名 { 枚举常量1, 枚举常量2, ... } 代码示例 : enum class Gender { MALE,...枚举的 常量名称 ; MALE true 枚举的常量 Gender.MALE 是 Gender 类的一个 实例对象 ; 二、枚举类定义函数 ---- 在枚举类中 , 可以 定义函数 , 包括 普通函数...和 构造函数 ; 1、枚举类定义普通函数 通过 枚举类 的 类型常量 ( 实例对象 ) 可以 调用 枚举类中定义的方法 ; 为枚举类定义普通函数 : 在枚举类 Gender 中定义了 log 函数 ,...---- 枚举类型 是一组 子类型 闭集 ; 密封类 可以 定义 枚举类型的 子类型闭集 , 一个密封类可以有多个子类 , 继承密封类的子类 必须 与 密封类在相同的 Kotlin 代码文件中 ; 密封类适用于这种情况
enum 枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了java. lang.Enum类,而不是继承Object类,因此枚举类不能显式继承其他父类。...使用enum定义非抽象的枚举类时默认会使用final修饰,因此枚举类不能派生子类。...枚举类的构造方法只能使用private访问修饰符,如果省略,则默认使用private修饰;如果强制指定访问修饰符,则只能指定为private。...枚举类的所有实例必须在枚举类的类体第一行显式列出,否则该枚举类永远不能产生实例。列出的枚举实例默认使用public static final进行修饰。
val entrance2, guide, guide2, before_goods, goodsPage, shoppingCart, userPay = Value } 第2行:通过type定义枚举类型的别名...第3行:我们的枚举从1开始,后续枚举值一次加1
Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等,订单的状态。...Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。 1.定义一个枚举类。...values(), ordinal() 和 valueOf() 方法位于 java.lang.Enum 类中: values() 返回枚举类中所有的值。...枚举跟普通类一样可以用自己的变量、方法和构造函数,构造函数只能使用 private 访问修饰符,所以外部无法调用。...枚举既可以包含具体方法,也可以包含抽象方法。 如果枚举类具有抽象方法,则枚举类的每个实例都必须实现它。 枚举类中的抽象方法实现,需要枚举类中的每个对象都对其进行实现。
System.ComponentModel; 4 using System.Linq; 5 6 namespace EnumHelper 7 { 8 /// 9 /// 枚举帮助类...10 /// 1、获取枚举的描述文本 11 /// 2、获取枚举名和描述信息的列表 12 /// 13 public static class EnumHelper...14 { 15 /// 16 /// 获取枚举值的描述文本 17 /// 18 ///...枚举值 19 /// 20 public static string Description...30 /// 31 /// 枚举类型 32 /// <param
作者 :“大数据小禅” 枚举:在数学和计算机科学理论里,一个集的枚举列出某些有穷序列集的所有成员的程序 例子如下: from enum import Enum class traffictlight...(Enum): #继承枚举类,枚举成员不可重复 RED=1 #枚举成员 RED是枚举的名字,1是枚举的值 YELLOW=2 GREEN=3 #...枚举成员的比较 print(traffictlight.YELLOW.value == 1) 返回True print(type(traffictlight.YELLOW)) print...(traffictlight.YELLOW.name) print(traffictlight.YELLOW.value) print(traffictlight(2)) #通过枚举值获取枚举成员
在 Java 5 之前没有提供枚举类型,可以通过声明静态常量(final static 变量)替代枚举常量。 通常在接口中声明一组静态常量,当然也可以在一般类中声明一组静态常量。...; Java 枚举类型继承 java.lang.Enum,且不需要显式声明; Java 枚举类型可以实现接口,与类实现接口类似; Java 枚举类型不能被继承,不存在子类; 枚举类型都实现了Java API...枚举类声明 [public] enum 枚举名 { 枚举常量列表 } “枚举名”是该枚举类的名称。它首先应该是有效的标识符,其次应该遵守 Java 命名规范。建议以 Enum 结尾。...枚举类中成员变量和成员方法 枚举类可以像类一样包含成员变量和成员方法,成员变量可以是实例变量也可以是静态变量,成员方法可以是实例方法,也可以是静态方法,但不能是抽象方法。...这也说明了枚举类不允许在外部创建对象。 枚举常用方法 所有枚举类都继承java.lang.Enum类,Enum中定义了一些枚举中常用的方法: int ordinal():返回枚举常量的顺序。
一、 枚举类的说明 枚举类的理解:类的对象只有有限个,确定的。 当需要定义一组常量时,强烈建议使用枚举类 如果枚举类只一个对象,则可以作为单例模式的实现方式。...二、如何定义枚举类 ① 自定义枚举类 class Season{ // 1.声明Season对象的属性:private final修饰 private final String seasonName...// 使用enum关键枚举类 enum Season1{ // 1.提供当前枚举类的对象,多个对象之间用“,”隔开,末尾对象";"结束 SPRING("春天","春暖花开"),...,枚举类常用方法:(继承于 java.lang.Enum 类) value() 返回所有的枚举类对象的构成的数组 valueOf(String objName):返回枚举类中对象名是 objName 的对象...interface Info{ void show(); } // 使用enum关键字枚举类 enum Season2 implements Info{ //1.提供当前枚举类的对象,
链接地址:https://gitee.com/dromara/hutool/pulls/583 This is a story about pull request getFieldBy 我们在使用枚举的过程中...例如此处我编写一个GenderEnum @Getter @AllArgsConstructor public enum GenderEnum { /** * 性别枚举...private final String desc; } 然后对其进行使用,我们前端传入可能是0/1/2这样的数字,我们就可以通过EnumUtil#getFieldBy,来通过ordinal,也就是我们枚举的序号...容我娓娓道来 我们如果遇到了这种场景: 需要根据枚举对应值执行不同的逻辑:此处用一个switch case举个栗子: (jdk8开始允许枚举作为switch case的条件) GenderEnum...users.get(2).getName()); Assert.assertEquals("朴实无华朱一旦", users.get(3).getName()); }); // 能写代码真开心 用到的一些自定义的类
python中的枚举类 枚举:在数学和计算机科学理论里,一个集的枚举列出某些有穷序列集的所有成员的程序 例子如下: from enum import Enum class traffictlight...(Enum): #继承枚举类,枚举成员不可重复 RED=1 #枚举成员 RED是枚举的名字,1是枚举的值 YELLOW=2 GREEN=3 #...枚举成员的比较 print(traffictlight.YELLOW.value == 1) 返回True print(type(traffictlight.YELLOW)) print...(traffictlight.YELLOW.name) print(traffictlight.YELLOW.value) print(traffictlight(2)) #通过枚举值获取枚举成员
利用枚举类就可以巧妙的设计状态码信息 枚举类的定义 #!.../usr/bin/python3 # -*- coding: utf-8 -*- # @Author: Hui # @Desc: { 项目枚举类模块 } # @Date: 2021/09/23 23:37...因此还需对枚举类进行封装 封装枚举类 #!.../usr/bin/python3 # -*- coding: utf-8 -*- # @Author: Hui # @Desc: { 项目枚举类模块 } # @Date: 2021/09/23 23:37.../usr/bin/python3 # -*- coding: utf-8 -*- # @Author: Hui # @Desc: { 项目枚举类模块 } # @Date: 2021/09/23 23:37
领取专属 10元无门槛券
手把手带您无忧上云