Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Melaksanakan dan Menggunakan Penghitungan dalam Python?

Bagaimanakah Saya Melaksanakan dan Menggunakan Penghitungan dalam Python?

Susan Sarandon
Lepaskan: 2024-12-20 06:16:08
asal
973 orang telah melayarinya

How Do I Implement and Use Enumerations in Python?

Melaksanakan Penghitungan dalam Python

Python menyediakan modul enum terbina dalam dalam Python 3.4 ke atas. Modul ini membenarkan perwakilan penghitungan, yang merupakan koleksi pemalar bernama. Untuk menggunakannya, anda boleh mengikuti langkah berikut:

  1. Import modul enum:

    import enum
    Salin selepas log masuk
  2. Tentukan penghitungan:

    Animal = enum.Enum('Animal', 'ant bee cat dog')
    Salin selepas log masuk
  3. Akses ahli penghitungan:

    Animal.ant  # returns <Animal.ant: 1>
    Animal['ant']  # returns <Animal.ant: 1> (string lookup)
    Animal.ant.name  # returns 'ant' (inverse lookup)
    Salin selepas log masuk

Sebagai alternatif, anda boleh mentakrifkan penghitungan menggunakan pendekatan berasaskan kelas:

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

Versi Python Terdahulu

Dalam versi Python terdahulu, anda boleh mencipta fungsi enum tersuai anda sendiri menggunakan kelas:

class Enum(object):
    def __init__(self, *args):
        self.keys = args

    def __getattr__(self, attr):
        try:
            return attr, self.keys.index(attr)
        except:
            raise AttributeError(attr)
Salin selepas log masuk

Menggunakan menaip.Literal dalam MyPy

Apabila menggunakan MyPy untuk semakan jenis, anda juga boleh menyatakan penghitungan menggunakan menaip.Literal:

from typing import Literal

Animal: Literal['ant', 'bee', 'cat', 'dog']
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Melaksanakan dan Menggunakan Penghitungan 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