개발 꿀팁/PYTHON

파이썬 상수 --enum

Jammie 2022. 12. 1. 11:26
반응형

파이썬 상수—enum enum enumenum
C++
C++의 상수는 const 로고를 사용합니다

#include<iostream>
using namespace std;
int main(){
constinti = 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)v

유형

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의 상수를 알게 되었고, 별명을 제거하는 방법을 알게 되었고, 상수의 의미도 알게 되었습니다

 

반응형