web-dev-qa-db-ja.com

Python Enum値の注釈を入力

私はこのコードを持っています:

import enum


class Color(enum.Enum):
    RED = '1'
    BLUE = '2'
    GREEN = '3'


def get_color_return_something(some_color):
    pass

Color列挙型から値を受け取る場合(例:some_color)、この関数のColor.RED変数に型注釈を適切に追加するにはどうすればよいですか?

16
Yuval Pruss

Colorクラスが機能するはずのタイプヒント:

def get_color_return_something(some_color: Color):
    print(some_color.value)
18
ibarrond
def get_color_return_something(some_color: Color):
pass
1
Ramazan Polat

次のように名前と値を印刷できます。

import enum

class Color(enum.Enum):
  RED = '1'
  BLUE = '2'
  GREEN = '3'

def get_color_return_something(some_color):
  print(some_color.name)
  print(some_color.value)

get_color_return_something(Color.RED)
# RED
# 1
0
Joe Geezer