Guido van Rossum
Implementasi anyar kaya operator "cocok" sing kasedhiya ing Scala, Rust, lan F #, sing mbandhingake asil ekspresi sing ditemtokake karo dhaptar pola sing didaftar ing blok adhedhasar operator "kasus". Ora kaya operator "switch" sing kasedhiya ing C, Java, lan JavaScript, ekspresi adhedhasar "cocok" nawakake luwih akeh.
def http_error(status):
status pertandingan:
kasus 400:
bali "Panjaluk ala"
kasus 401|403|404:
bali "Ora diijini"
kasus 418:
bali "aku teko"
kasus_:
bali "Soko liyane"
Contone, sampeyan bisa mbongkar obyek, tuple, dhaptar, lan urutan sewenang-wenang kanggo ngiket variabel adhedhasar nilai sing ana. Diijini kanggo nemtokake cithakan nested, nggunakake tambahan "yen" kahanan ing cithakan, nggunakake topeng ("[x, y, *rest]"), kunci / pemetaan nilai (contone, {"bandwidth": b, "latensi ”: l} kanggo ngekstrak nilai "bandwidth" lan "latensi" lan kamus), ekstrak subtemplates (":=" operator), gunakake konstanta sing dijenengi ing cithakan. Ing kelas, iku bisa kanggo ngatur prilaku cocog nggunakake "__match__()" cara.
saka dataclasses ngimpor dataclass
@kelas data
Titik kelas:
x: ing
y: ing
def whereis (titik):
titik cocog:
Titik kasus (0, 0):
print("Asal")
Titik kasus (0, y):
print(f"Y={y}")
Titik kasus (x, 0):
print(f"X={x}")
titik kasus ():
print("Ing endi wae")
kasus_:
print("Ora ana titik")
titik cocog:
kasus Titik(x, y) yen x == y:
print(f"Y=X ing {x}")
Titik kasus (x, y):
print(f"Ora ana ing diagonal")
RED, Ijo, BIRU = 0, 1, 2
warna sing cocog:
kasus .RED:
print("Aku weruh abang!")
kasus .Ijo:
print("Suket ijo")
kasus .BLU
E:
print("Aku ngrasakake blues :(")
A set wis disiapake kanggo review
Source: opennet.ru