python常量python常量python常量—enumenumenum
C++
C++的常量用const标志。
#include<iostream>
using namespace std;
int main(){
const int i = 0; //定义整形常量i为0
cout << i << endl;
return 0;
}
输出:
0
代码
定义
from enum import Enum #导入Enum
class color(Enum): #继承Enum类
red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
类型
print(color)
print(type(color))
输出
<enum ‘color’>
<class ‘enum.EnumMeta’>
如果修改会怎样
color.red = (249,5,0)
输出:
Traceback (most recent call last):
File “G:\program\sublime&niuniu\niuniucode\python\LongNiuniu.py”, line 3684, in <module>
niukeys.K_NUL = 188
File “E:\program\Anaconda\lib\enum.py”, line 386, in __setattr__
raise AttributeError(‘Cannot reassign members.’)
AttributeError: Cannot reassign members.
常量是不可修改的。
意义
常量的意义是这样的:
if n == 1: #1是什么呢?
print(True)
#########################
if n == num.one: #知道了1的来源,提高了代码的可读性
print(True)
除去别名
常量别名
from enum import Enum #导入Enum
class color(Enum): #继承Enum类
red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
n = (255,0,0) #n是red的别名
print(color.n)
输出:
color.red
除去的方法
用enum自带的unique方法。
from enum import unique
@unique
class color(Enum): #继承Enum类
red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
n = (255,0,0) #n是red的别名
输出:
Traceback (most recent call last):
File “<stdin>”, line 3, in <module>
class color(Enum): #继承Enum类
File “E:\program\Anaconda\lib\enum.py”, line 869, in unique
(enumeration, alias_details))
ValueError: duplicate values found in <enum ‘color’>: n -> red
小结
今天我们知道了C++和python的常量,知道了如何除去别名,还知道了常量的意义。