Guido van Rossum
Mmejuputa ọhụrụ a dị ka onye na-arụ ọrụ "egwuregwu" nyere na Scala, Rust, na F#, nke na-atụnyere nsonaazụ nke okwu akọwapụtara na ndepụta nke usoro edepụtara na ngọngọ dabere na onye ọrụ "ikpe". N'adịghị ka onye ọrụ "switch" dị na C, Java, na JavaScript, okwu dabere na "match" na-enye ọtụtụ ihe ndị ọzọ.
def http_error(ọnọdụ):
ọnọdụ egwuregwu:
ikpe 400:
weghachi "Arịrịọ ọjọọ"
ikpe 401|403|404:
laghachi "Adịghị ekwe"
ikpe 418:
laghachi "A bụ m teapot"
ikpe_:
laghachi "Ihe ọzọ"
Dịka ọmụmaatụ, ị nwere ike ibupu ihe, tuples, listi na usoro aka ike iji kechie mgbanwe dabere na ụkpụrụ dị adị. A na-ahapụ ya ịkọwapụta ndebiri akwụ ụgwọ, jiri ọnọdụ “ọ bụrụ” agbakwunyere na ndebiri, jiri ihe nkpuchi (“[x, y, *ezu ike]”), maapụ igodo/uru (dịka ọmụmaatụ, {“bandwidth”: b, “latency). ": l} iji wepụta "bandwidth" na "latency" ụkpụrụ na ọkọwa okwu), wepụta subtemplates (":=" onye ọrụ), jiri aha ya mere na template. Na klaasị, ọ ga-ekwe omume iji usoro “__match__()” hazie omume dakọtara.
site na klaasị data bubata klaasị
@dataclass
Ebe klaasị:
x:int
y:int
def ebe (atụ):
ebe egwuregwu:
Okwu ikpe (0, 0):
ebipụta ("Ozizi")
Okwu ikpe (0, y):
ebipụta (f"Y={y}")
Okwu ikpe (x, 0):
ebipụta (f"X={x}")
Okwu ikpe():
ebipụta ("Ebe ọzọ")
ikpe_:
ebipụta ("Ọ bụghị otu isi")
ebe egwuregwu:
Okwu ikpe (x, y) ma ọ bụrụ x == y:
bipụta (f"Y=X na {x}")
Okwu ikpe (x, y):
ebipụta (f"Ọ bụghị na diagonal")
Uhie, GREEN, Acha anụnụ anụnụ = 0, 1, 2
agba egwuregwu:
ikpe .RED:
ebipụta ("Ahụrụ m uhie!")
ikpe .GREEN:
ebipụta ("Ahịhịa bụ akwụkwọ ndụ akwụkwọ ndụ")
ikpe .BLU
E:
ebipụta ("A na m afụ ụfụ :(")
E kwadola otu maka nyocha
isi: opennet.ru