0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】学んだことの備忘録

0
Last updated at Posted at 2025-07-28

私が今までPythonを書いていて学んだことをいつでも見返せるように備忘録としてまとめます。順番は特に考えていないです。

Enum / IntEnum

member に対応する name, value を取得する

enumクラスの名前.memberの名前.name
enumクラスの名前.memberの名前.value

このように記述することで、対応する name や value を取得することができます。

value が一致する member があるか探す

enumクラスの名前._value2member_map_

このように記述することで、valueをキーとした辞書を作成することができます。

# サンプルコード
from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3
    YELLOW = 4

def get_name_from_value(value: int) -> str:
    values = Color._value2member_map_
    if value in values:
        return values[value].name
    else:
        return None

value = 3
name = get_name_from_value(value)
print("名前: {}, 値: {}".format(name, value))
# 出力: 名前: BLUE, 値: 3

value = 99
name = get_name_from_value(value)
print("名前: {}, 値: {}".format(name, value))
# 出力: 名前: None, 値: 99

name が一致する member かあるか探す

enumクラスの名前[探したいname]

このように記述することで探すことができます。ただし、対応する member が存在しない場合は KeyError が発生しますので、try-except で例外処理をしましょう。

# サンプルコード
from enum import Enum

class MyEnum(Enum):
    AA = 1
    BB = 2
    CC = 3

def get_enum(name: str):
    try:
        member = MyEnum[name]
        return member.value
    except KeyError:
        return None

# 実行例
name = "AA"
value = get_enum(name)
print("名前: {}, 値: {}".format(name, value))
# 出力: 名前: AA 値: 1

name = "ZZ"
value = get_enum(name)
print("名前: {}, 値: {}".format(name, value))
# 出力: 名前: ZZ, 値: None

その他

ターミナルで色を付ける

エスケープシーケンスを用いてターミナルに標準出力する際に色をつけることができます。
※私はWindows11のターミナルで実行しています。Windows10以前やMacなど、その他の環境で必ず同じ動作になる保証はできませんのでご注意ください。

文字列 動作
\033[30m 文字を黒にする
\033[31m 文字を赤にする
\033[32m 文字を緑にする
\033[33m 文字を黄にする
\033[34m 文字を青にする
\033[35m 文字をマゼンタにする
\033[36m 文字をシアンにする
\033[37m 文字を白にする
\033[39m 文字をデフォルトに戻す
\033[40m 背景色を黒にする
\033[41m 背景色を赤にする
\033[42m 背景色を緑にする
\033[43m 背景色を黄にする
\033[44m 背景色を青にする
\033[45m 背景色をマゼンタにする
\033[46m 背景色をシアンにする
\033[47m 背景色を白にする
\033[49m 背景色をデフォルトに戻す
\033[1m 文字を太字にする
\033[4m 文字に下線を引く
\033[08m 文字を不可視にする
\033[07m 文字色と背景色を反転
\033[0m 全てをリセットする

RGB値で指定する

次の形式に従うと、任意のRGB値に変更することができる

\033[38;2;R;G;Bm

例:rgb (0, 123, 67) の場合 ... \033[38;2;0;123;67m

参考: print文で色をつけてみよう

今後も何かあれば追加していきます

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?