Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Pembangun C# Boleh Mewakili Enum dalam Python?

Bagaimanakah Pembangun C# Boleh Mewakili Enum dalam Python?

Barbara Streisand
Lepaskan: 2024-12-24 07:15:17
asal
192 orang telah melayarinya

How Can C# Developers Represent Enums in Python?

Mewakili Enum dalam Python

Soalan:

Sebagai pembangun C# yang mengusahakan projek Python, bagaimana anda boleh mewakili setara dengan Enum dalam Python?

Jawapan:

Enumerations (Enums) telah diperkenalkan dalam Python 3.4 sebagai sebahagian daripada PEP 435. Mereka juga telah disandarkan kepada versi sebelumnya melalui pihak ketiga perpustakaan seperti enum34 dan aenum.

Menggunakan Modul enum (Python 3.4 ):

from enum import Enum

Animal = Enum('Animal', 'ant bee cat dog')
Salin selepas log masuk

Ini menghasilkan Enum Haiwan dengan ahli semut, lebah, kucing dan anjing.

Menggunakan Perpustakaan enum34 (Python 2.7 ):

from enum34 import Enum

Animal = Enum('Animal', 'ant bee cat dog')
Salin selepas log masuk

Menggunakan Perpustakaan aenum (Python 2.7 , 3.3 ):

from aenum import Enum

class Animal(Enum):
    ant = 1
    bee = 2
    cat = 3
    dog = 4
Salin selepas log masuk

Teknik Terdahulu untuk Python Pra-3.4:

Dalam versi Python yang lebih awal, anda boleh menggunakan tersuai enum() berfungsi untuk mencipta sendiri enums:

def enum(**enums):
    return type('Enum', (), enums)

Numbers = enum(ONE=1, TWO=2, THREE='three')
Salin selepas log masuk

Teknik Tambahan:

  • Penghitungan automatik: Gunakan fungsi seperti enum(*sequential, **bernama) untuk menjana ahli secara automatik berdasarkan nama yang disediakan.
  • Pemetaan songsang: Tambahkan atribut reverse_mapping pada Enum anda dengan mudah tukar nilai kembali kepada nama.
  • Penaipan MyPy.Literal: Gunakan penaipan.Literal untuk mentakrifkan enum selamat jenis dalam Python 3.8 .

Atas ialah kandungan terperinci Bagaimanakah Pembangun C# Boleh Mewakili Enum dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan