Python 的枚举 Enum

Jun 23, 2017 pm 03:32 PM
enum python menghitung

枚举是常用的功能,看看Python的枚举.

from enum import Enum

Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
Salin selepas log masuk
@uniqueclass Weekday(Enum):
    Sun = 0 # Sun的value被设定为0
    Mon = 1Tue = 2Wed = 3Thu = 4Fri = 5Sat = 6
Salin selepas log masuk
for name, member in Month.__members__.items():
    print(name, '=>', member, ',', member.value)
Salin selepas log masuk
Salin selepas log masuk

 

枚举的定义

  1. 首先,定义枚举要导入enum模块。

  2. 枚举定义用class关键字,继承Enum类

注意:

  定义枚举时,成员名称不允许重复 

  默认情况下,不同的成员值允许相同。但是两个相同值的成员,第二个成员的名称被视作第一个成员的别名 

   如果枚举中存在相同值的成员,在通过值获取枚举成员时,只能获取到第一个成

<em><span style="font-family: 宋体"> </span></em><span style="font-family: 宋体; font-size: 15px">如果要限制定义枚举时,不能定义相同值的成员。可以使用装饰器@unique【要导入unique模块】</span><span style="font-family: 宋体"><br><br><br></span><em><span style="font-family: 宋体"><br></span></em>
Salin selepas log masuk
for name, member in Month.__members__.items():
    print(name, '=>', member, ',', member.value)
Salin selepas log masuk
Salin selepas log masuk
<br>
Salin selepas log masuk

我们就获得了Month类型的枚举类,可以直接使用Month.Jan来引用一个常量,或者枚举它的所有成员.

访问这些枚举类型可以有若干种方法:

枚举支持迭代器,可以遍历枚举成员

>>> day1 = Weekday.Mon>>> print(day1)
Weekday.Mon>>> print(Weekday.Tue)
Weekday.Tue>>> print(Weekday['Tue'])
Weekday.Tue>>> print(Weekday.Tue.value)2>>> print(day1 == Weekday.Mon)
True>>> print(day1 == Weekday.Tue)
False>>> print(Weekday(1))
Weekday.Mon>>> print(day1 == Weekday(1))
True>>> Weekday(7)
Traceback (most recent call last):
  ...
ValueError: 7 is not a valid Weekday>>> for name, member in Weekday.__members__.items():
...     print(name, '=>', member)
...
Sun => Weekday.Sun
Mon => Weekday.Mon
Tue => Weekday.Tue
Wed => Weekday.Wed
Thu => Weekday.Thu
Fri => Weekday.Fri
Sat => Weekday.Sat
Salin selepas log masuk

枚举取值 总结:

通过成员的名称来获取成员;通过成员值来获取成员;通过成员,来获取它的名称和值.

 

注意: Enum 的成员均为单例(Singleton),并且不可实例化,不可更改.

枚举是可以比较的:

举成员可进行同一性比较,可进等值比较,不能进行大小比较.

总结:Enum可以把一组相关常量定义在一个class中,且class不可变,而且成员可以直接比较,并且枚举有多种实现方法。

Atas ialah kandungan terperinci Python 的枚举 Enum. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Mengakses DeepSeekapi - Tutorial Panggilan Akses DeepSeekapi Cara Mengakses DeepSeekapi - Tutorial Panggilan Akses DeepSeekapi Mar 12, 2025 pm 12:24 PM

Penjelasan terperinci mengenai akses dan panggilan DeepSeekapi: Panduan permulaan cepat Artikel ini akan membimbing anda secara terperinci bagaimana untuk mengakses dan memanggil DeepSeekapi, membantu anda dengan mudah menggunakan model AI yang kuat. Langkah 1: Dapatkan kunci API untuk mengakses laman web rasmi DeepSeek dan klik pada "Platform Terbuka" di sudut kanan atas. Anda akan mendapat sejumlah token percuma (digunakan untuk mengukur penggunaan API). Dalam menu di sebelah kiri, klik "Apikeys" dan kemudian klik "Buat Apikey". Namakan Apikey anda (contohnya, "Ujian") dan salin kunci yang dihasilkan dengan segera. Pastikan untuk menyimpan kunci ini dengan betul, kerana ia hanya akan dipaparkan sekali

Perisian perdagangan mata wang kuantitatif Perisian perdagangan mata wang kuantitatif Mar 19, 2025 pm 04:06 PM

Artikel ini meneroka fungsi perdagangan kuantitatif tiga bursa utama, Binance, OKX dan Gate.io, yang bertujuan untuk membantu peniaga kuantitatif memilih platform yang betul. Artikel pertama kali memperkenalkan konsep, kelebihan dan cabaran perdagangan kuantitatif, dan menerangkan fungsi -fungsi yang harus dimiliki oleh perisian perdagangan kuantitatif yang sangat baik, seperti sokongan API, sumber data, alat backtesting dan fungsi kawalan risiko. Seterusnya, fungsi perdagangan kuantitatif tiga pertukaran telah dibandingkan dan dianalisis secara terperinci, menunjukkan kelebihan dan kekurangan masing -masing, dan akhirnya memberikan cadangan pemilihan platform untuk pedagang kuantitatif pengalaman yang berbeza, dan menekankan kepentingan penilaian risiko dan backtesting strategik. Sama ada anda seorang pemula atau peniaga kuantitatif yang berpengalaman, artikel ini akan memberi anda rujukan berharga

Cara Melaksanakan Panggilan Dengan Python - Panduan Kaedah Panggilan Python DeepSeek Cara Melaksanakan Panggilan Dengan Python - Panduan Kaedah Panggilan Python DeepSeek Mar 12, 2025 pm 12:51 PM

DeepSeek Deep Learning Library Python Call Guide DeepSeek adalah perpustakaan pembelajaran mendalam yang kuat yang boleh digunakan untuk membina dan melatih pelbagai model rangkaian saraf. Artikel ini akan memperkenalkan secara terperinci bagaimana menggunakan Python untuk memanggil DeepSeek untuk pembangunan pembelajaran yang mendalam. Langkah -langkah untuk memanggil DeepSeek dengan Python 1. Pasang DeepSeek Pastikan bahawa persekitaran Python dan alat PIP dipasang. Pasang DeepSeek dengan arahan berikut: Pipinstalldeepseek2.

Apa itu Binance Alpha Apa itu Binance Alpha Mar 25, 2025 pm 03:39 PM

Anbi Alpha adalah platform pengagregatan alat dan perkhidmatan untuk peniaga profesional dan pelabur di platform Binance. Fungsi terasnya termasuk: 1. Strategi Square, yang menyatukan strategi perdagangan yang berbeza; 2. Strategi Builder, yang membolehkan strategi perdagangan tersuai; 3. Analisis Data Lanjutan, menyediakan alat analisis pasaran; 4. Perkhidmatan peringkat institusi untuk memenuhi keperluan pelabur profesional.

Pertukaran mana yang boleh menghantar arahan lindung nilai pilihan melalui bahagian dagangan Pertukaran mana yang boleh menghantar arahan lindung nilai pilihan melalui bahagian dagangan Mar 28, 2025 pm 03:27 PM

Sehingga 2024, pertukaran cryptocurrency arus perdana yang menyokong secara langsung menghantar arahan lindung nilai pilihan melalui terminal perdagangan: 1. 2. OKX menyokong alat lindung nilai dan alat gabungan strategi, dan panel lindung nilai terbina dalam di web/aplikasinya; 3. Binance menyokong lindung nilai pelindung, yang memerlukan kedudukan gabungan manual atau API; 4. CME, menyediakan pilihan standard, memerlukan akses melalui broker; 5. Ledgerx, menyediakan alat lindung nilai peringkat profesional, yang memerlukan pensijilan institusi.

Bagaimana untuk mengintegrasikan perkhidmatan Node.js atau Python dengan cekap di bawah seni bina lampu? Bagaimana untuk mengintegrasikan perkhidmatan Node.js atau Python dengan cekap di bawah seni bina lampu? Apr 01, 2025 pm 02:48 PM

Ramai pemaju laman web menghadapi masalah mengintegrasikan perkhidmatan node.js atau python di bawah seni bina lampu: lampu sedia ada (Linux Apache MySQL PHP) Laman web seni bina memerlukan ...

Bagaimana dengan cekap menghuraikan kurungan bersarang berbilang lapisan dalam formula lateks dan mengubahnya menjadi kamus pelbagai dimensi? Bagaimana dengan cekap menghuraikan kurungan bersarang berbilang lapisan dalam formula lateks dan mengubahnya menjadi kamus pelbagai dimensi? Apr 01, 2025 am 08:57 AM

Python Parses LaTex Multi-Layer Brackets: Membina Kamus Multi-Dimensi Banyak LaTeX ...

Bagaimana untuk menjana kombinasi permutasi yang tidak berulang berdasarkan set aksara dan bilangan lapisan, dan tidak termasuk semua aksara kombinasi yang sama? Bagaimana untuk menjana kombinasi permutasi yang tidak berulang berdasarkan set aksara dan bilangan lapisan, dan tidak termasuk semua aksara kombinasi yang sama? Apr 01, 2025 am 06:57 AM

Menjana gabungan permutasi berdasarkan set aksara dan nombor lapisan. Artikel ini akan meneroka cara menjana hasil kombinasi permutasi yang sepadan berdasarkan set aksara dan nombor lapisan yang diberikan untuk mengelakkan pertindihan ...

See all articles