Guido van Rossum
Kukhazikitsa kwatsopano kuli ngati wogwiritsa ntchito "machesi" woperekedwa ku Scala, Rust, ndi F #, yemwe amafanizira zotsatira za mawu omwe atchulidwa ndi mndandanda wazomwe zalembedwa mu midadada kutengera wogwiritsa ntchito "case". Mosiyana ndi "switch" yopezeka mu C, Java, ndi JavaScript, mawu oti "match" amapereka zambiri.
def http_error(status):
mawonekedwe ofananira:
mlandu 400:
Bweretsani "Pempho loyipa"
mlandu 401|403|404:
kubwerera "Sizololedwa"
mlandu 418:
kubwerera "Ndine tiyi"
mlandu_:
kubwerera "Chinachake"
Mwachitsanzo, mutha kumasula zinthu, ma tuples, mindandanda, ndi zotsatizana zosasinthika kuti mumangire zosinthika kutengera zomwe zilipo kale. Zimaloledwa kufotokozera ma templates okhala ndi zisa, kugwiritsa ntchito zina zowonjezera "ngati" mu template, gwiritsani ntchito masks ("[x, y, * rest]"), makiyi / mtengo wa mapu (mwachitsanzo, {"bandwidth": b, "latency β: l} kuti mutulutse "bandwidth" ndi "latency" ndi dikishonale), chotsani ma subtemplates (":=" woyendetsa), gwiritsani ntchito zosinthika mu template. M'makalasi, ndizotheka kusintha machitidwe ofananira pogwiritsa ntchito njira ya "__match___()".
kuchokera ku dataclass import dataclass
@dataclass
kalasi Point:
x: inu
y :ine
def whereis(point):
match point:
nkhani Point (0, 0):
sindikiza ("Origin")
nkhani Point (0, y):
sindikiza (f"Y={y}")
nkhani Point(x, 0):
sindikiza (f"X={x}")
kesi Point ():
sindikiza ("Penapake")
mlandu_:
print ("Palibe mfundo")
match point:
nkhani Point(x, y) ngati x == y:
sindikiza (f"Y=X pa {x}")
nkhani Point (x, y):
sindikiza (f"Osati pa diagonal")
CHOFIIRA, CHOGIRIRA, BLUU = 0, 1, 2
mtundu wofananira:
mlandu .RED:
kusindikiza ("Ndikuwona zofiira!")
nkhani .GREEN:
sindikiza ("Udzu ndi wobiriwira")
mlandu .BLU
E:
sindikiza ("Ndikumva chisoni :(")
Gulu lakonzedwa kuti liwunikenso
Source: opennet.ru