通常のクラスを使用して列挙型を直接実装する
Python では、列挙型はオブジェクトで定義するクラス変数と同じです。各クラス変数は列挙型項目です。アクセス列挙項目は、次のようなクラス名とクラス変数です:
class color(): YELLOW = 1 RED = 2 GREEN = 3 PINK = 4 # 访问枚举项 print(color.YELLOW) # 1
これで問題は解決できますが、厳密ではなく、あまり安全ではありません:
1.列挙クラスでは、同じキーを持つ列挙項目 (クラス変数) があってはなりません。
2. クラスの外で直接列挙項目の値を変更することはできません。
class color(): YELLOW = 1 YELLOW = 3 # 注意这里又将YELLOW赋值为3,会覆盖前面的1 RED = 2 GREEN = 3 PINK = 4 # 访问枚举项 print(color.YELLOW) # 3 # 但是可以在外部修改定义的枚举项的值,这是不应该发生的 color.YELLOW = 99 print(color.YELLOW) # 99
解決策: enum モジュールを使用する
enum モジュールはシステムの組み込みモジュールであり、import を使用して直接インポートできます。ただし、インポートする場合、import を使用することはお勧めできません。 enum を使用して enum モジュール内のすべてのデータを転送します。インポート、一般に最も一般的に使用されるのは Enum、IntEnum、および enum モジュール内で一意の
# 导入枚举类 from enum import Enum # 继承枚举类 class color(Enum): YELLOW = 1 BEOWN = 1 # 注意BROWN的值和YELLOW的值相同,这是允许的,此时的BROWN相当于YELLOW的别名 RED = 2 GREEN = 3 PINK = 4 class color2(Enum): YELLOW = 1 RED = 2 GREEN = 3 PINK = 4
独自に定義された列挙クラスを使用します:
print(color.YELLOW) # color.YELLOW print(type(color.YELLOW)) # <enum 'color'> print(color.YELLOW.value) # 1 print(type(color.YELLOW.value)) # <class 'int'> print(color.YELLOW == 1) # False print(color.YELLOW.value == 1) # True print(color.YELLOW == color.YELLOW) # True print(color.YELLOW == color2.YELLOW) # False print(color.YELLOW is color2.YELLOW) # False print(color.YELLOW is color.YELLOW) # True print(color(1)) # color.YELLOW print(type(color(1))) # <enum 'color'> 注意事项如下:
1. 列挙型クラスは使用できません オブジェクトをインスタンス化します
2. 列挙型クラスの項目にアクセスするには、直接アクセスするクラス名とアクセスする項目 (color.YELLOW## など) を使用するだけです。
#3. 列挙型クラス内部で定義された Key = Value はクラス外で変更できないため、次のアプローチは間違っていますcolor.YELLOW = 2 # Wrong, can't reassign member4. 列挙型項目は == を使用して比較に使用できます。または、
5. Enum をインポートした後、列挙クラスの Key と Value を同じにすることはできません。値は同じにすることができますが、同じ値を持つキーはエイリアスとして使用されます。 6. クラスを列挙したい場合、値の値は整数値のみにすることができ、IntEnum をインポートしてから IntEnum を継承できます。このとき、値が文字列数値の場合、エラーは発生しないことに注意してください。レポートされる:
from enum import IntEnum7. 列挙クラスのキーが同じであることができない場合、Enum をインポートするときに、一意の関数
from enum import Enum, uniqueをインポートする必要があります。
以上がPython で列挙を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール
