Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk melaksanakan penghitungan dalam Python

Bagaimana untuk melaksanakan penghitungan dalam Python

May 11, 2023 pm 04:28 PM
python

Gunakan kelas biasa untuk melaksanakan penghitungan secara langsung

Dalam Python, penghitungan adalah sama dengan pembolehubah kelas yang kita takrifkan dalam objek Setiap pembolehubah kelas ialah item penghitungan item penghitungan akses ialah: nama kelas ditambah pembolehubah kelas, seperti ini:

class color():
    YELLOW  = 1
    RED     = 2
    GREEN   = 3
    PINK    = 4
 
# 访问枚举项
print(color.YELLOW) # 1
Salin selepas log masuk

Walaupun ini boleh menyelesaikan masalah, ia tidak ketat dan tidak begitu selamat, seperti:

1 kelas enumerasi, sepatutnya tiada item penghitungan (pembolehubah kelas) dengan kunci yang sama

2 Tidak dibenarkan mengubah suai nilai item penghitungan secara langsung di luar kelas

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
Salin selepas log masuk

<🎜. >Penyelesaian: Gunakan modul enum

Modul enum ialah modul terbina dalam sistem dan boleh diimport terus Walau bagaimanapun, semasa mengimport, tidak disyorkan untuk menggunakan enum import untuk memindahkan semua data dalam modul enum Import, secara amnya item yang paling biasa digunakan ialah Enum, IntEnum dan unik dalam modul 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
Salin selepas log masuk

Gunakan kelas penghitungan anda sendiri:

print(color.YELLOW) # color.YELLOW
print(type(color.YELLOW)) # <enum &#39;color&#39;>
 
print(color.YELLOW.value)  # 1
print(type(color.YELLOW.value)) # <class &#39;int&#39;>
 
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 &#39;color&#39;>
  注意事项如下:
Salin selepas log masuk

1 classes tidak boleh digunakan Instantiate object

2. Untuk mengakses item dalam kelas enumerasi, hanya gunakan nama kelas untuk mengakses terus ditambah item yang ingin diakses, seperti warna.KUNING

3 . Kelas Penghitungan Kunci = Nilai yang ditakrifkan di dalam tidak boleh diubah suai di luar kelas, yang bermaksud pendekatan berikut adalah salah

color.YELLOW = 2  # Wrong, can&#39;t reassign member
Salin selepas log masuk

4. Item penghitungan boleh digunakan untuk perbandingan, menggunakan ==, atau adalah 

5. Selepas mengimport Enum, Kunci dan Nilai dalam kelas penghitungan tidak boleh sama, dan nilainya boleh sama, tetapi kunci dengan nilai yang sama akan digunakan sebagai alias

6. Jika anda ingin menghitung kelas Nilai dalam hanya boleh menjadi nombor integer, maka anda boleh mengimport IntEnum dan kemudian mewarisi IntEnum Ambil perhatian bahawa pada masa ini, jika nilai ialah nombor rentetan, tiada ralat akan dilaporkan:

from enum import IntEnum
Salin selepas log masuk

7 Jika Jika kunci dalam kelas penghitungan tidak boleh sama, maka apabila mengimport Enum, anda perlu mengimport fungsi unik

from enum import Enum, unique
Salin selepas log masuk
.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penghitungan dalam Python. 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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
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)

Apakah fungsi jumlah bahasa C? Apakah fungsi jumlah bahasa C? Apr 03, 2025 pm 02:21 PM

Tiada fungsi jumlah terbina dalam dalam bahasa C, jadi ia perlu ditulis sendiri. Jumlah boleh dicapai dengan melintasi unsur -unsur array dan terkumpul: Versi gelung: SUM dikira menggunakan panjang gelung dan panjang. Versi Pointer: Gunakan petunjuk untuk menunjuk kepada unsur-unsur array, dan penjumlahan yang cekap dicapai melalui penunjuk diri sendiri. Secara dinamik memperuntukkan versi Array: Perlawanan secara dinamik dan uruskan memori sendiri, memastikan memori yang diperuntukkan dibebaskan untuk mengelakkan kebocoran ingatan.

Siapa yang dibayar lebih banyak Python atau JavaScript? Siapa yang dibayar lebih banyak Python atau JavaScript? Apr 04, 2025 am 12:09 AM

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Cara menukar XML ke mp3 Cara menukar XML ke mp3 Apr 03, 2025 am 09:00 AM

Langkah -langkah untuk menukar XML ke MP3 termasuk: Ekstrak data audio dari XML: menghuraikan fail XML, cari rentetan pengekodan base64 yang mengandungi data audio, dan ekodkannya ke dalam format binari. Kodkan data audio ke mp3: Pasang pengekod MP3 dan tetapkan parameter pengekodan, encang data audio binari ke format MP3, dan simpannya ke fail.

Adakah distinctidistinguish berkaitan? Adakah distinctidistinguish berkaitan? Apr 03, 2025 pm 10:30 PM

Walaupun berbeza dan berbeza berkaitan dengan perbezaan, ia digunakan secara berbeza: berbeza (kata sifat) menggambarkan keunikan perkara itu sendiri dan digunakan untuk menekankan perbezaan antara perkara; Berbeza (kata kerja) mewakili tingkah laku atau keupayaan perbezaan, dan digunakan untuk menggambarkan proses diskriminasi. Dalam pengaturcaraan, berbeza sering digunakan untuk mewakili keunikan unsur -unsur dalam koleksi, seperti operasi deduplikasi; Berbeza dicerminkan dalam reka bentuk algoritma atau fungsi, seperti membezakan ganjil dan bahkan nombor. Apabila mengoptimumkan, operasi yang berbeza harus memilih algoritma dan struktur data yang sesuai, sementara operasi yang berbeza harus mengoptimumkan perbezaan antara kecekapan logik dan memberi perhatian untuk menulis kod yang jelas dan mudah dibaca.

Bagaimana memahami! X dalam c? Bagaimana memahami! X dalam c? Apr 03, 2025 pm 02:33 PM

! X Memahami! X adalah bukan operator logik dalam bahasa C. Ia booleans nilai x, iaitu, perubahan benar kepada perubahan palsu, palsu kepada benar. Tetapi sedar bahawa kebenaran dan kepalsuan dalam C diwakili oleh nilai berangka dan bukannya jenis Boolean, bukan sifar dianggap sebagai benar, dan hanya 0 dianggap sebagai palsu. Oleh itu ,! X memperkatakan nombor negatif sama seperti nombor positif dan dianggap benar.

Bolehkah Pengenal Pengguna Bahasa C mengandungi ruang? Bolehkah Pengenal Pengguna Bahasa C mengandungi ruang? Apr 03, 2025 pm 01:51 PM

Pengenal bahasa C tidak boleh mengandungi ruang kerana mereka boleh menyebabkan kekeliruan dan kesukaran dalam mengekalkan. Peraturan khusus adalah seperti berikut: mereka mesti bermula dengan huruf atau garis bawah. Boleh mengandungi huruf, nombor, atau garis bawah. Tidak boleh mengandungi watak haram (seperti simbol khas).

Bagaimana cara menggunakan nomenclature ular dalam bahasa c? Bagaimana cara menggunakan nomenclature ular dalam bahasa c? Apr 03, 2025 pm 01:03 PM

Dalam bahasa C, nomenclature ular adalah konvensyen gaya pengekodan, yang menggunakan garis bawah untuk menyambungkan beberapa perkataan untuk membentuk nama pembolehubah atau nama fungsi untuk meningkatkan kebolehbacaan. Walaupun ia tidak akan menjejaskan kompilasi dan operasi, penamaan panjang, isu sokongan IDE, dan bagasi sejarah perlu dipertimbangkan.

Apakah jumlah maksud dalam bahasa C? Apakah jumlah maksud dalam bahasa C? Apr 03, 2025 pm 02:36 PM

Tiada fungsi jumlah terbina dalam dalam C untuk jumlah, tetapi ia boleh dilaksanakan dengan: menggunakan gelung untuk mengumpul unsur-unsur satu demi satu; menggunakan penunjuk untuk mengakses dan mengumpul unsur -unsur satu demi satu; Untuk jumlah data yang besar, pertimbangkan pengiraan selari.

See all articles