Guido เชตเชพเชจ Rossum เช Python เชฎเชพเช‚ เชชเซ‡เชŸเชฐเซเชจ เชฎเซ‡เชšเชฟเช‚เช— เช“เชชเชฐเซ‡เชŸเชฐเซเชธ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชธเซเชคเชพเชต เชฎเซ‚เช•เซเชฏเซ‹

เช—เชพเช‡เชกเซ‹ เชตเชพเชจ เชฐเซ‹เชธเชฎ เชฐเชœเซ‚เช†เชค เช•เชฐเซ€ เชธเชฎเซเชฆเชพเชฏ เชธเชฎเซ€เช•เซเชทเชพ เชฎเชพเชŸเซ‡ เชกเซเชฐเชพเชซเซเชŸ เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃเซ‹ เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เชชเซ‡เชŸเชฐเซเชจ เชฎเซ‡เชšเชฟเช‚เช— เช“เชชเชฐเซ‡เชŸเชฐเซเชธ (เชฎเซ‡เชš เช…เชจเซ‡ เช•เซ‡เชธ) เชฒเชพเช—เซ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡. เช เชจเซ‹เช‚เชงเชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชชเซ‡เชŸเชฐเซเชจ เชฎเซ‡เชšเชฟเช‚เช— เช“เชชเชฐเซ‡เชŸเชฐเซเชธ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชฆเชฐเช–เชพเชธเซเชคเซ‹ 2001 เช…เชจเซ‡ 2006 เชฎเชพเช‚ เชชเซเชฐเช•เชพเชถเชฟเชค เชฅเชˆ เชšเซ‚เช•เซ€ เช›เซ‡ (pep-0275, pep-3103), เชชเชฐเช‚เชคเซ เชฎเซ‡เชšเชฟเช‚เช— เชšเซ‡เช‡เชจเซเชธ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ โ€œif... elif... elseโ€ เชฐเชšเชจเชพเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพเชจเซ€ เชคเชฐเชซเซ‡เชฃเชฎเชพเช‚ เชจเช•เชพเชฐเซ€ เช•เชพเชขเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€.

เชจเชตเซเช‚ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชธเซเช•เชพเชฒเชพ, เชฐเชธเซเชŸ เช…เชจเซ‡ F# เชฎเชพเช‚ เชชเซ‚เชฐเชพ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ "เชฎเซ‡เชš" เช“เชชเชฐเซ‡เชŸเชฐ เชœเซ‡เชตเซเช‚ เช›เซ‡, เชœเซ‡ "เช•เซ‡เชธ" เช“เชชเชฐเซ‡เชŸเชฐเชจเชพ เช†เชงเชพเชฐเซ‡ เชฌเซเชฒเซ‹เช•เซเชธเชฎเชพเช‚ เชธเซ‚เชšเชฟเชฌเชฆเซเชง เชชเซ‡เชŸเชฐเซเชจเชจเซ€ เชธเซ‚เชšเชฟ เชธเชพเชฅเซ‡ เชจเชฟเชฐเซเชฆเชฟเชทเซเชŸ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเชจเซ€ เชคเซเชฒเชจเชพ เช•เชฐเซ‡ เช›เซ‡. C, Java เช…เชจเซ‡ JavaScript เชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง "เชธเซเชตเชฟเชš" เช“เชชเชฐเซ‡เชŸเชฐเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, "เชฎเซ‡เชš"-เช†เชงเชพเชฐเชฟเชค เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“ เช˜เชฃเซเช‚ เชฌเชงเซเช‚ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เชตเชฟเชถเชพเชณ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ. เช เชจเซ‹เช‚เชงเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชธเซ‚เชšเชฟเชค เช“เชชเชฐเซ‡เชŸเชฐเซ‹ เช•เซ‹เชกเชจเซ€ เชตเชพเช‚เชšเชจเช•เซเชทเชฎเชคเชพ เชธเซเชงเชพเชฐเชถเซ‡, เชฎเชจเชธเซเชตเซ€ เชชเชพเชฏเชฅเซ‹เชจ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เช…เชจเซ‡ เชกเชฟเชฌเช—เชฟเช‚เช—เชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€เชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชถเซ‡, เช…เชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เชฅเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช•เซ‹เชกเชจเซ€ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏเชคเชพ เชชเชฃ เชตเชงเชพเชฐเชถเซ‡. เชธเซเชฅเชฟเชฐ เชชเซเชฐเช•เชพเชฐ เชšเช•เชพเชธเชฃเซ€.

def http_error(เชธเซเชฅเชฟเชคเชฟ):
เชฎเซ‡เชš เชธเซเชฅเชฟเชคเชฟ:
เช•เซ‡เชธ 400:
"เช–เชฐเชพเชฌ เชตเชฟเชจเช‚เชคเซ€" เชชเชฐเชค เช•เชฐเซ‹
เช•เซ‡เชธ 401|403|404:
"เชฎเช‚เชœเซ‚เชฐเซ€ เชจเชฅเซ€" เชชเชฐเชค เช•เชฐเซ‹
เช•เซ‡เชธ 418:
เชชเชพเช›เชพ เชซเชฐเซ‹ "เชนเซเช‚ เชšเชพเชจเซ€ เช•เซ€เชŸเชฒเซ€ เช›เซเช‚"
เช•เซ‡เชธ_:
"เช•เช‚เชˆเช• เชฌเซ€เชœเซเช‚" เชชเชฐเชค เช•เชฐเซ‹

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚เชจเชพ เชฎเซ‚เชฒเซเชฏเซ‹เชจเชพ เช†เชงเชพเชฐเซ‡ เชšเชฒเซ‹เชจเซ‡ เชฌเชพเช‚เชงเชตเชพ เชฎเชพเชŸเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ, เชŸเซเชฏเซเชชเชฒเซเชธ, เชธเซ‚เชšเชฟเช“ เช…เชจเซ‡ เชฎเชจเชธเซเชตเซ€ เชธเชฟเช•เซเชตเชจเซเชธเชจเซ‡ เช…เชจเชชเซ…เช• เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเซ‡เชจเซ‡ เชจเซ‡เชธเซเชŸเซ‡เชก เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸเซเชธเชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡, เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸเชฎเชพเช‚ เชตเชงเชพเชฐเชพเชจเซ€ "เชœเซ‹" เชถเชฐเชคเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เชฎเชพเชธเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ (โ€œ[x, y, *เชฐเซ‡เชธเซเชŸ]โ€), เช•เซ€/เชตเซ‡เชฒเซเชฏเซ เชฎเซ‡เชชเชฟเช‚เช— (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, {โ€œเชฌเซ‡เชจเซเชกเชตเชฟเชกเซเชฅโ€: b, โ€œเชฒเซ‡เชŸเชจเซเชธเซ€ โ€: l} "เชฌเซ‡เชจเซเชกเชตเชฟเชกเซเชฅ" เช…เชจเซ‡ "เชฒเซ‡เชŸเชจเซเชธเซ€" เชฎเซ‚เชฒเซเชฏเซ‹ เช…เชจเซ‡ เชถเชฌเซเชฆเช•เซ‹เชถ เช•เชพเชขเชตเชพ), เชธเชฌเชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸเซเชธ (":=" เช“เชชเชฐเซ‡เชŸเชฐ) เช•เชพเชขเชตเชพ เชฎเชพเชŸเซ‡, เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸเชฎเชพเช‚ เชจเชพเชฎเชจเชพ เชธเซเชฅเชฟเชฐเชพเช‚เช•เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹. เชตเชฐเซเช—เซ‹เชฎเชพเช‚, โ€œ__match__()โ€ เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฎเซ‡เชณ เช–เชพเชคเชพ เชตเชฐเซเชคเชจเชจเซ‡ เช•เชธเซเชŸเชฎเชพเช‡เช เช•เชฐเชตเซเช‚ เชถเช•เซเชฏ เช›เซ‡.

เชกเซ‡เชŸเชพเช•เซเชฒเชพเชธเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพเช•เซเชฒเชพเชธ เช†เชฏเชพเชค เช•เชฐเซ‹

@dataclass
เชตเชฐเซเช— เชฌเชฟเช‚เชฆเซ:
x:int
y:int

def whereis(เชฌเชฟเช‚เชฆเซ):
เชฎเซ‡เชš เชชเซ‹เชˆเชจเซเชŸ:
เช•เซ‡เชธ เชชเซ‹เชˆเชจเซเชŸ(0, 0):
เชชเซเชฐเชฟเชจเซเชŸ("เชฎเซ‚เชณ")
เช•เซ‡เชธ เชชเซ‹เชˆเชจเซเชŸ(0, y):
เช›เชพเชชเซ‹(f"Y={y}")
เช•เซ‡เชธ เชชเซ‹เชˆเชจเซเชŸ(x, 0):
เช›เชพเชชเซ‹(f"X={x}")
เช•เซ‡เชธ เชชเซ‹เชˆเชจเซเชŸ():
เช›เชพเชชเซ‹ ("เช•เซเชฏเชพเช‚เช• เชฌเซ€เชœเซ‡")
เช•เซ‡เชธ_:
เช›เชพเชชเซ‹ ("เชฌเชฟเช‚เชฆเซ เชจเชฅเซ€")

เชฎเซ‡เชš เชชเซ‹เชˆเชจเซเชŸ:
เช•เซ‡เชธ เชชเซ‹เชˆเชจเซเชŸ(x, y) เชœเซ‹ x == y:
เช›เชพเชชเซ‹ (f"Y=X at {x}")
เช•เซ‡เชธ เชชเซ‹เชˆเชจเซเชŸ(x, y):
เช›เชพเชชเซ‹ (f"เช•เชฐเซเชฃ เชชเชฐ เชจเชนเซ€เช‚")

เชฒเชพเชฒ, เชฒเซ€เชฒเซ‹, เชตเชพเชฆเชณเซ€ = 0, 1, 2
เชฎเซ‡เชš เชฐเช‚เช—:
เช•เซ‡เชธ .RED:
เช›เชพเชชเซ‹ ("เชฎเชจเซ‡ เชฒเชพเชฒ เชฆเซ‡เช–เชพเชฏ เช›เซ‡!")
เช•เซ‡เชธ .เช—เซเชฐเซ€เชจ:
เช›เชพเชชเซ‹ ("เช˜เชพเชธ เชฒเซ€เชฒเซ‹ เช›เซ‡")
เช•เซ‡เชธ .BLU
E:
เชชเซเชฐเชฟเชจเซเชŸ("เชนเซเช‚ เชฌเซเชฒเซ‚เช เช…เชจเซเชญเชตเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚ :(")

เชธเชฎเซ€เช•เซเชทเชพ เชฎเชพเชŸเซ‡ เชเช• เชธเซ‡เชŸ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ เชชเซ‡เชšเซ‹ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• เชธเชพเชฅเซ‡ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชธเซ‚เชšเชฟเชค เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃ, เชชเชฐเช‚เชคเซ เช…เช‚เชคเชฟเชฎ เชธเช‚เชธเซเช•เชฐเชฃ เชนเชœเซ เชชเชฃ เช›เซ‡ เชšเชฐเซเชšเชพ เช•เชฐเซ€. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เช“เชซเชฐ เช•เชฐเซ‡ เช›เซ‡ เชกเชฟเชซเซ‰เชฒเซเชŸ เชฎเซ‚เชฒเซเชฏ เชฎเชพเชŸเซ‡ "เช•เซ‡เชธ _:" เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชจเซ‡ เชฌเชฆเชฒเซ‡, "else:" เช…เชฅเชตเชพ "เชกเชฟเชซเซ‰เชฒเซเชŸ:" เช•เซ€เชตเชฐเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เช•เชพเชฐเชฃ เช•เซ‡ เช…เชจเซเชฏ เชธเช‚เชฆเชฐเซเชญเซ‹เชฎเชพเช‚ "_" เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชธเซเชฅเชพเชฏเซ€ เชšเชฒ เชคเชฐเซ€เช•เซ‡ เชฅเชพเชฏ เช›เซ‡. เช†เช‚เชคเชฐเชฟเช• เชธเช‚เชธเซเชฅเชพ เชชเชฃ เชถเช‚เช•เชพเชธเซเชชเชฆ เช›เซ‡, เชœเซ‡ โ€œif... elif... elseโ€ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชถเชจ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชธเชฎเชพเชจ เชฌเชพเชˆเชŸเช•เซ‹เชกเชฎเชพเช‚ เชจเชตเชพ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“เชจเซเช‚ เชญเชพเชทเชพเช‚เชคเชฐ เช•เชฐเชตเชพ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡, เชœเซ‡ เชธเชฐเช–เชพเชฎเชฃเซ€เชจเชพ เช–เซ‚เชฌ เชฎเซ‹เชŸเชพ เชธเซ‡เชŸเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช‡เชšเซเช›เชฟเชค เชชเซเชฐเชฆเชฐเซเชถเชจ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹