Guido van Rossum เจจเฉ‡ Python เจตเจฟเฉฑเจš เจชเฉˆเจŸเจฐเจจ เจฎเฉˆเจšเจฟเฉฐเจ— เจ“เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเจพ เจชเฉเจฐเจธเจคเจพเจต เจ•เฉ€เจคเจพ

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

เจจเจตเจพเจ‚ เจธเจฅเจพเจชเจจ Scala, Rust, เจ…เจคเฉ‡ F# เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ "เจฎเฉˆเจš" เจ“เจชเจฐเฉ‡เจŸเจฐ เจตเจฐเจ—เจพ เจนเฉˆ, เจœเฉ‹ "เจ•เฉ‡เจธ" เจ†เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจฌเจฒเจพเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจชเฉˆเจŸเจฐเจจเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจจเจพเจฒ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจšเจฟเจค เจธเจฎเฉ€เจ•เจฐเจจ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เจฐเจฆเจพ เจนเฉˆเฅค C, Java, เจ…เจคเฉ‡ JavaScript เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง "เจธเจตเจฟเฉฑเจš" เจ“เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ‡ เจ‰เจฒเจŸ, "เจฎเฉ‡เจฒ"-เจ…เจงเจพเจฐเจฟเจค เจธเจฎเฉ€เจ•เจฐเจจ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจ เจชเฉ‡เจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจตเจฟเจ†เจชเจ• เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ. เจ‡เจน เจจเฉ‹เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจ“เจชเจฐเฉ‡เจŸเจฐ เจ•เฉ‹เจก เจฆเฉ€ เจชเฉœเฉเจนเจจเจฏเฉ‹เจ—เจคเจพ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เจฐเจจเจ—เฉ‡, เจ†เจฐเจฌเจฟเจŸเจฐเฉ‡เจฐเฉ€ เจชเจพเจˆเจฅเจจ เจ†เจฌเจœเฉˆเจ•เจŸ เจ…เจคเฉ‡ เจกเฉ€เจฌเฉฑเจ—เจฟเฉฐเจ— เจฆเฉ€ เจคเฉเจฒเจจเจพ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃเจ—เฉ‡, เจ…เจคเฉ‡ เจตเจฟเจธเจคเจพเจฐ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ•เฉ‹เจก เจฆเฉ€ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจตเฉ€ เจตเจงเจพเจ‰เจฃเจ—เฉ‡เฅค เจธเจฅเจฟเจฐ เจ•เจฟเจธเจฎ เจฆเฉ€ เจœเจพเจ‚เจš.

def http_error(เจธเจฅเจฟเจคเฉ€):
เจฎเฉˆเจš เจธเจฅเจฟเจคเฉ€:
เจ•เฉ‡เจธ 400:
"เจฌเฉเจฐเจพ เจฌเฉ‡เจจเจคเฉ€" เจตเจพเจชเจธ เจ•เจฐเฉ‹
เจ•เฉ‡เจธ 401|403|404:
เจตเจพเจชเจธเฉ€ "เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจนเฉˆ"
เจ•เฉ‡เจธ 418:
เจตเจพเจชเจธ เจœเจพเจ“ "เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจšเจพเจน เจตเจพเจฒเจพ เจนเจพเจ‚"
เจ•เฉ‡เจธ_:
"เจ•เฉเจ เจนเฉ‹เจฐ" เจตเจพเจชเจธ เจ•เจฐเฉ‹

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ‡ เจ…เจงเจพเจฐ 'เจคเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเฉฐเจจเฉเจนเจฃ เจฒเจˆ เจตเจธเจคเฉ‚เจ†เจ‚, เจŸเฉ‚เจชเจฒเจพเจ‚, เจธเฉ‚เจšเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจ†เจฐเจฌเจฟเจŸเจฐเจฐเฉ€ เจ•เฉเจฐเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจจเจชเฉˆเจ• เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจธเจจเฉ‚เฉฐ เจจเฉ‡เจธเจŸเจก เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ, เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจตเจฟเฉฑเจš เจตเจพเจงเฉ‚ "เจœเฉ‡" เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ, เจฎเจพเจธเจ• (โ€œ[x, y, *rest]โ€), เจ•เฉเฉฐเจœเฉ€/เจฎเฉเฉฑเจฒ เจฎเฉˆเจชเจฟเฉฐเจ— (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, {โ€œเจฌเฉˆเจ‚เจกเจตเจฟเจกเจฅโ€: 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 เจคเฉ‡ {x}")
เจ•เฉ‡เจธ เจชเฉเจ†เจ‡เฉฐเจŸ(x, y):
เจชเฉเจฐเจฟเฉฐเจŸ (f"เจตเจฟเจ•เจฐเจฃ 'เจคเฉ‡ เจจเจนเฉ€เจ‚")

เจฒเจพเจฒ, เจนเจฐเจพ, เจจเฉ€เจฒเจพ = 0, 1, 2
เจฎเฉ‡เจฒ เจฐเฉฐเจ—:
เจ•เฉ‡เจธ .RED:
เจชเฉเจฐเจฟเฉฐเจŸ ("เจฎเฉˆเจจเฉ‚เฉฐ เจฒเจพเจฒ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ!")
เจ•เฉ‡เจธ .เจ—เฉเจฐเฉ€เจจ:
เจชเฉเจฐเจฟเฉฐเจŸ ("เจ˜เจพเจน เจนเจฐเจพ เจนเฉˆ")
เจ•เฉ‡เจธ .BLU
E:
เจชเฉเจฐเจฟเฉฐเจŸ ("เจฎเฉˆเจ‚ เจฌเจฒเฉ‚เจœเจผ เจฎเจนเจฟเจธเฉ‚เจธ เจ•เจฐ เจฐเจฟเจนเจพ เจนเจพเจ‚ :(")

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

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹