Guido van Rossum
เบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบซเบกเปเปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฒเบ "match" เบเบตเปเบชเบฐเบซเบเบญเบเปเบซเปเปเบ Scala, Rust, เปเบฅเบฐ F#, เปเบเบดเปเบเบเบฝเบเบเบฝเบเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบฒเบเบชเบฐเปเบเบเบเบปเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเบเบฑเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบฎเบนเบเปเบเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบฑเบเปเบเบเบญเบตเบเปเบชเปเบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฒเบ "เบเปเบฅเบฐเบเบต". เบเปเปเปเบซเบกเบทเบญเบเบเบฑเบเบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฒเบ "เบชเบฐเบซเบผเบฑเบ" เบเบตเปเบกเบตเบขเบนเปเปเบ C, Java, เปเบฅเบฐ JavaScript, เบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบตเปเบญเบตเบเปเบชเป "match" เบชเบฐเปเบซเบเบตเบซเบผเบฒเบ.
def http_error(เบชเบฐเบเบฒเบเบฐ):
เบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบเปเบเบเบฑเบ:
เบเปเบฅเบฐเบเบต 400:
เบเบฑเบเบเบทเบ "เบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบเปเปเบเบต"
เบเปเบฅเบฐเบเบต 401|403|404:
เบเบฑเบเบเบทเบ "เบเปเปเบญเบฐเบเบธเบเบฒเบเปเบซเป"
เบเปเบฅเบฐเบเบต 418:
เบเบฑเบเบเบทเบ "เบเปเบญเบเปเบเบฑเบเบเบฒ"
case_:
เบเบฑเบเบเบทเบ "เบญเบฑเบเบญเบทเปเบ"
เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบ unpack เบงเบฑเบเบเบธ, tuples, เบเบฑเบเบเบตเบฅเบฒเบเบเบทเป, เปเบฅเบฐเบฅเปเบฒเบเบฑเบ arbitrary เปเบเบทเปเบญเบเบนเบเบกเบฑเบเบเบปเบงเปเบเปเบเบเบญเบตเบเปเบชเปเบกเบนเบเบเปเบฒเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง. เบกเบฑเบเปเบเปเบเบทเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบปเบเปเบกเปเปเบเบเบเบตเปเบเปเบญเบเบเบฑเบ, เปเบเปเปเบเบทเปเบญเบเปเบ "เบเปเบฒ" เปเบเบตเปเบกเปเบเบตเบกเปเบเปเบกเปเปเบเบ, เปเบเปเบซเบเปเบฒเบเบฒเบ (โ[x, y, * rest]โ), เปเบเบเบเบตเปเบฅเบฐเบซเบฑเบ / เบกเบนเบเบเปเบฒ (เบเบปเบงเบขเปเบฒเบ, {"เปเบเบเบงเบดเบ": b, "latency โ:l} เปเบเบทเปเบญเบชเบฐเบเบฑเบเบเปเบฒ "bandwidth" เปเบฅเบฐ "latency" เปเบฅเบฐเบงเบฑเบเบเบฐเบเบฒเบเบธเบเบปเบก), extract subtemplates (":=" operator), เปเบเปเบเปเบฒเบเบปเบเบเบตเปเบเบตเปเบกเบตเบเบทเปเปเบ template. เปเบเบซเปเบญเบเบฎเบฝเบ, เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเบฑเบเปเบเปเบเบเบถเบเบเบดเบเปเบฒเบเบฒเบเบเบฑเบเบเบนเปเปเบเบเปเบเปเบงเบดเบเบต โ__match__()โ.
เบเบฒเบ dataclasses เบเปเบฒเปเบเบปเปเบฒ dataclass
@dataclass
เบเบธเบโเบเบฐโเบชเบปเบโ:
x:int
y: int
def whereis(เบเบธเบ):
เบเบธเบเบเบฑเบเบเบนเป:
เบเปเบฅเบฐเบเบตเบเบธเบ(0, 0):
เบเบดเบก("เบเบปเปเบเบเปเบฒเปเบเบตเบ")
case Point(0, y):
print(f"Y={y}")
case Point(x,0):
เบเบดเบก(f"X={x}")
เบเปเบฅเบฐเบเบตเบเบธเบ():
เบเบดเบก("เบเปเบญเบเบญเบทเปเบ")
case_:
เบเบดเบก ("เบเปเปเปเบกเปเบเบเบธเบ")
เบเบธเบเบเบฑเบเบเบนเป:
case Point(x, y) เบเปเบฒ x == y:
print(f"Y=X เบขเบนเป {x}")
case Point(x, y):
เบเบดเบก (f "เบเปเปเบขเบนเปเปเบเปเบชเบฑเปเบเบเบงเบฒเบ")
เบชเบตเปเบเบ, เบชเบตเบเบฝเบง, เบชเบตเบเปเบฒ = 0, 1, 2
เบชเบตเบเบตเปเบเบปเบเบเบฑเบ:
เบเปโเบฅเบฐโเบเบต .RED:
เบเบดเบก ("เบเปเบญเบเปเบซเบฑเบเบชเบตเปเบเบ!")
เบเปโเบฅเบฐโเบเบต .GREEN:
เบเบดเบก("เบซเบเปเบฒเปเบเบฑเบเบชเบตเบเบฝเบง")
เบเปเบฅเบฐเบเบต .BLU
E:
เบเบดเบก(โเบเปเบญเบเบฎเบนเปเบชเบถเบเปเบเบฑเบเบชเบตเบเปเบฒ :(โ)
เบเบธเบเปเบเปเบเบทเบเบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบงเบเบเบทเบ
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru