ページへ戻る
− Links
印刷
Python/FlagとIntFlag
の編集 ::
NJF Wiki
xpwiki
:
Python
/
FlagとIntFlag
の編集
# d713d3b4 の編集
ページ内容:
*IntFlag [#d713d3b4] IntFlag型はFlag型とほぼ同じ機能がありますが、Flag型とは異なり整数としても扱えます。 つまり、Flag型では次の処理はエラーとなります。 status = PlayerStatus.SLEEP | 2 print(status) Flag型での結果: Traceback (most recent call last): File "enumflgs.py", line 50, in <module> status = PlayerStatus.SLEEP | 2 TypeError: unsupported operand type(s) for |: 'PlayerStatus' and 'int' しかし、IntFlag型なら問題なく実行されます。 IntFlag型での結果: PlayerStatus.POISON|SLEEP 直接数値が使えないのでFlag型の方がマジックナンバーが発生しにくいという利点があります。 一方でIntFlag型は計算結果や外部入力の数値をそのままフラグとして演算できるという利点があります。 基本的にFlag型を使い、フラグを整数と演算する必要がある場合はIntFlag型を使うというのが良いかもしれません。
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「京都」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
[1]
Links list
(This host) = https://njf.jp
(This host)
/cms/modules/xpwiki/?cmd=edit&help=true&page=Python%2FFlag%E3%81%A8IntFlag