เด—เตˆเดกเต‹ เดตเดพเตป เดฑเต‹เดธเตเดธเด‚ เดชเตˆเดคเตเดคเดฃเดฟเดฒเต‡เด•เตเด•เต เดชเดพเดฑเตเดฑเต‡เตบ เดฎเดพเดšเตเดšเดฟเด‚เด—เต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเดฐเต† เดšเต‡เตผเด•เตเด•เดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเดšเตเดšเต

เด—เตˆเดกเต‹ เดตเดพเตป เดฑเต‹เดธเตเดธเด‚ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเต เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เด…เดตเดฒเต‹เด•เดจเดคเตเดคเดฟเดจเตเดณเตเดณ เด•เดฐเดŸเต เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดชเตˆเดคเตเดคเดฃเดฟเตฝ เดชเดพเดฑเตเดฑเต‡เตบ เดฎเดพเดšเตเดšเดฟเด‚เด—เต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเตเด•เตพ (เดฎเดพเดšเตเดšเต, เด•เต‡เดธเต) เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ. เดชเดพเดฑเตเดฑเต‡เตบ เดฎเดพเดšเตเดšเดฟเด‚เด—เต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเดฐเต† เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ 2001-เดฒเตเด‚ 2006-เดฒเตเด‚ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต (pep-0275, pep-3103), เดŽเดจเตเดจเดพเตฝ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจ เดถเตƒเด‚เด–เดฒเด•เตพ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ "if ... elif ... else" เดจเดฟเตผเดฎเตเดฎเดพเดฃเด‚ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด…เดจเตเด•เต‚เดฒเดฎเดพเดฏเดฟ เดจเดฟเดฐเดธเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเต.

Scala, Rust, F# เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ "เดฎเดพเดšเตเดšเต" เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ เดชเต‹เดฒเต†เดฏเดพเดฃเต เดชเตเดคเดฟเดฏ เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ, "เด•เต‡เดธเต" เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเดฟเตฝ เดฒเดฟเดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเตเดฎเดพเดฏเดฟ เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโ€ŒเดŸ เดชเดฆเดชเตเดฐเดฏเต‹เด—เดคเตเดคเดฟเดจเตเดฑเต† เดซเดฒเดคเตเดคเต† เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดธเดฟ, เดœเดพเดต, เดœเดพเดตเดพเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฏ "เดธเตเดตเดฟเดšเตเดšเต" เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, "เดฎเดพเดšเตเดšเต" เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเด•เตพ เด•เต‚เดŸเตเดคเตฝ เดจเตฝเด•เตเดจเตเดจเต เดตเดฟเดถเดพเดฒเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚. เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเตผ เด•เต‹เดกเดฟเดจเตเดฑเต† เดตเดพเดฏเดจเดพเด•เตเดทเดฎเดค เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดฎเต†เดจเตเดจเตเด‚ เด…เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดชเตˆเดคเตเดคเตบ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดคเดพเดฐเดคเดฎเตเดฏเดตเตเด‚ เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เตเด‚ เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เด•เต‹เดกเดฟเดจเตเดฑเต† เดตเดฟเดถเตเดตเดพเดธเตเดฏเดค เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดฎเต†เดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเต‡เดฏเดฎเดพเดฃเต. เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดคเดฐเด‚ เดชเดฐเดฟเดถเต‹เดงเดจ.

def http_error(status):
เดชเตŠเดฐเตเดคเตเดคเด‚ เดจเดฟเดฒ:
เด•เต‡เดธเต 400:
"เดฎเต‹เดถเดฎเดพเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจ" เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•
เด•เต‡เดธเต 401|403|404:
เดคเดฟเดฐเดฟเด•เต† "เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดฒเตเดฒ"
เด•เต‡เดธเต 418:
"เดžเดพเดจเตŠเดฐเต เดšเดพเดฏเด•เตเด•เดŸเตเดŸเดฟ"
เด•เต‡เดธเต_:
"เดฎเดฑเตเดฑเต†เดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚" เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ, เดŸเตเดฏเต‚เดชเตเดชเดฟเดณเตเด•เตพ, เดฒเดฟเดธเตเดฑเตเดฑเตเด•เตพ, เด…เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดธเต€เด•เตเดตเตปเดธเตเด•เตพ เดŽเดจเตเดจเดฟเดต เด…เตบเดชเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เดจเต†เดธเตเดฑเตเดฑเดกเต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดจเตเด‚ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเดฟเดฒเต† เด…เดงเดฟเด• "if" เดตเตเดฏเดตเดธเตเดฅเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ เดฎเดพเดธเตเด•เตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ ("[x, y, *rest]"), เด•เต€/เดฎเต‚เดฒเตเดฏเด‚ เดฎเดพเดชเตเดชเดฟเด‚เด—เตเด•เตพ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, {"bandwidth": b, "latency โ€: l} "เดฌเดพเตปเดกเตโ€Œเดตเดฟเดกเตเดคเตเดคเต", "เดฒเต‡เดฑเตเดฑเตปเดธเดฟ" เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเด‚ เดจเดฟเด˜เดฃเตเดŸเตเดตเตเด‚ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเตป, เด‰เดชเดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เตพ เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเด• (":=" เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ), เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเดฟเตฝ เดชเต‡เดฐเตเดณเตเดณ เดธเตเดฅเดฟเดฐเดพเด™เตเด•เด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•. เด•เตเดฒเดพเดธเตเด•เดณเดฟเตฝ, "__match__()" เดฐเต€เดคเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจ เดธเตเดตเดญเดพเดตเด‚ เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดพเตป เดธเดพเดงเดฟเด•เตเด•เตเด‚.

เดกเดพเดฑเตเดฑเดพเด•เตเดฒเดพเดธเตเดธเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑเดพเด•เตเดฒเดพเดธเต เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•

@เดกเดพเดฑเตเดฑเดพเด•เตเดฒเดพเดธเต
เด•เตเดฒเดพเดธเต เดชเต‹เดฏเดฟเดจเตเดฑเต:
x:int
y:int

เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต (เดชเต‹เดฏเดฟเดจเตเดฑเต):
เดฎเดพเดšเตเดšเต เดชเต‡เดพเดฏเดฟเดจเตเดฑเต:
เด•เต‡เดธเต เดชเต‹เดฏเดฟเดจเตเดฑเต(0, 0):
เดชเตเดฐเดฟเดจเตเดฑเต ("เด‰เดคเตเดญเดตเด‚")
เด•เต‡เดธเต เดชเต‹เดฏเดฟเดจเตเดฑเต(0, y):
เดชเตเดฐเดฟเดจเตเดฑเต(f"Y={y}")
เด•เต‡เดธเต เดชเต‹เดฏเดฟเดจเตเดฑเต(x, 0):
เดชเตเดฐเดฟเดจเตเดฑเต(f"X={x}")
เด•เต‡เดธเต เดชเต‹เดฏเดฟเดจเตเดฑเต():
เดชเตเดฐเดฟเดจเตเดฑเต ("เดฎเดฑเตเดฑเต†เดตเดฟเดŸเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚")
เด•เต‡เดธเต_:
เดชเตเดฐเดฟเดจเตเดฑเต ("เด’เดฐเต เดชเต‹เดฏเดฟเดจเตเดฑเต เด…เดฒเตเดฒ")

เดฎเดพเดšเตเดšเต เดชเต‡เดพเดฏเดฟเดจเตเดฑเต:
x == y เด†เดฃเต†เด™เตเด•เดฟเตฝ เด•เต‡เดธเต เดชเต‹เดฏเดฟเดจเตเดฑเต(x, y):
เดชเตเดฐเดฟเดจเตเดฑเต (f"Y=X {x}"-เดจเต)
เด•เต‡เดธเต เดชเต‹เดฏเดฟเดจเตเดฑเต(x, y):
เดชเตเดฐเดฟเดจเตเดฑเต (f"เดกเดฏเด—เดฃเดฒเดฟเตฝ เด…เดฒเตเดฒ")

เดšเตเดตเดชเตเดชเต, เดชเดšเตเดš, เดจเต€เดฒ = 0, 1, 2
เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจ เดจเดฟเดฑเด‚:
เด•เต‡เดธเต .RED:
เดชเตเดฐเดฟเดจเตเดฑเต ("เดžเดพเตป เดšเตเดตเดชเตเดชเต เด•เดพเดฃเตเดจเตเดจเต!")
เด•เต‡เดธเต .เดชเดšเตเดš:
เดชเตเดฐเดฟเดจเตเดฑเต ("เดชเตเดฒเตเดฒเต เดชเดšเตเดšเดฏเดพเดฃเต")
เด•เต‡เดธเต .BLU
E:
เดชเตเดฐเดฟเดจเตเดฑเต ("เดŽเดจเดฟเด•เตเด•เต เดฌเตเดฒเต‚เดธเต เดคเต‹เดจเตเดจเตเดจเตเดจเต :(")

เด…เดตเดฒเต‹เด•เดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดธเต†เดฑเตเดฑเต เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต เดชเดพเดšเตเดšเตเด•เตพ เดชเดฐเต€เด•เตเดทเดฃเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเตป, เดชเด•เตเดทเต‡ เด…เดจเตเดคเดฟเดฎ เดชเดคเดฟเดชเตเดชเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดšเตผเดšเตเดš เดšเต†เดฏเตเดคเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดคเต เดธเตเดฅเดฟเดฐ เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดจเต "case _:" เดŽเดจเตเดจ เดชเดฆเดชเตเดฐเดฏเต‹เด—เดคเตเดคเดฟเดจเต เดชเด•เดฐเด‚ "else:" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "default:" เดŽเดจเตเดจ เด•เต€เดตเต‡เดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•, เด•เดพเดฐเดฃเด‚ เดฎเดฑเตเดฑเต เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ "_" เด’เดฐเต เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด• เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดตเดณเดฐเต† เดตเดฒเดฟเดฏ เดคเดพเดฐเดคเดฎเตเดฏเด™เตเด™เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดชเตเดฐเด•เดŸเดจเด‚ เดจเตฝเด•เดพเดคเตเดค "if ... elif ... else" เด•เตบเดธเตเดŸเตเดฐเด•เตโ€Œเดฑเตเดฑเตเด•เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฏ เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเดฟเดฒเต‡เด•เตเด•เต เดชเตเดคเดฟเดฏ เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเด•เตพ เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด†เดจเตเดคเดฐเดฟเด• เด“เตผเด—เดจเตˆเดธเต‡เดทเดจเตเด‚ เดธเด‚เดถเดฏเดพเดธเตเดชเดฆเดฎเดพเดฃเต.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•