Python เช•เซ‹เชกเชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเซ€เชŸเซ€เช“ เชŸเชพเช‡เชชเชšเซ‡เช• เช•เชฐเชตเชพเชจเซ‹ เชฎเชพเชฐเซเช—. เชญเชพเช— 3

เชชเชพเชฏเชฅเซ‹เชจ เช•เซ‹เชก เชฎเชพเชŸเซ‡ เชŸเชพเช‡เชช เชšเซ‡เช•เชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชคเซ€ เชตเช–เชคเซ‡ เชกเซเชฐเซ‰เชชเชฌเซ‰เช•เซเชธเซ‡ เชœเซ‡ เชชเชพเชฅ เชฒเซ€เชงเซ‹ เชคเซ‡ เชตเชฟเชถเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชจเชพ เช…เชจเซเชตเชพเชฆเชจเซ‹ เชคเซเชฐเซ€เชœเซ‹ เชญเชพเช— เช…เชฎเซ‡ เชคเชฎเชพเชฐเชพ เชงเซเชฏเชพเชจ เชชเชฐ เชฐเชœเซ‚ เช•เชฐเซ€เช เช›เซ€เช.

Python เช•เซ‹เชกเชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเซ€เชŸเซ€เช“ เชŸเชพเช‡เชชเชšเซ‡เช• เช•เชฐเชตเชพเชจเซ‹ เชฎเชพเชฐเซเช—. เชญเชพเช— 3

โ†’ เชชเชพเช›เชฒเชพ เชญเชพเช—เซ‹: เชชเซเชฐเชฅเชฎ ะธ เชฌเซ€เชœเซเช‚

เชŸเชพเช‡เชช เช•เชฐเซ‡เชฒเชพ เช•เซ‹เชกเชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเชพเช‡เชจ เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเชตเซเช‚

เช…เชจเซเชฏ เชฎเซเช–เซเชฏ เชชเชกเช•เชพเชฐ (เช…เชจเซ‡ เช†เช‚เชคเชฐเชฟเช• เชฐเซ€เชคเซ‡ เชธเชฐเซเชตเซ‡เช•เซเชทเชฃ เช•เชฐเชพเชฏเซ‡เชฒเชพ เชฒเซ‹เช•เซ‹เชฎเชพเช‚ เชฌเซ€เชœเซ€ เชธเซŒเชฅเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชšเชฟเช‚เชคเชพ) เชกเซเชฐเซ‹เชชเชฌเซ‰เช•เซเชธเชฎเชพเช‚ เชŸเชพเช‡เชช เชšเซ‡เช• เชฆเซเชตเชพเชฐเชพ เช†เชตเชฐเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เช•เซ‹เชกเชจเซ€ เชฎเชพเชคเซเชฐเชพเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เช•เชฐเชตเชพเชจเซ‹ เชนเชคเซ‹. เช…เชฎเซ‡ เช† เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเชพ เช…เชญเชฟเช—เชฎเซ‹ เช…เชœเชฎเชพเชตเซเชฏเชพ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชŸเชพเชˆเชช เช•เชฐเซ‡เชฒเชพ เช•เซ‹เชกเชฌเซ‡เชเชจเชพ เช•เชฆเชจเซ‡ เช•เซเชฆเชฐเชคเซ€ เชฐเซ€เชคเซ‡ เชตเชงเชพเชฐเชตเชพเชฅเซ€ เชฒเชˆเชจเซ‡ เชธเซเชฅเชฟเชฐ เช…เชจเซ‡ เช—เชคเชฟเชถเซ€เชฒ เชธเซเชตเชšเชพเชฒเชฟเชค เชชเซเชฐเช•เชพเชฐ เช…เชจเซเชฎเชพเชจ เชชเชฐ mypy เชŸเซ€เชฎเชจเชพ เชชเซเชฐเชฏเชคเซเชจเซ‹ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเชตเชพ เชธเซเชงเซ€. เช…เช‚เชคเซ‡, เชเชตเซเช‚ เชฒเชพเช—เชคเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เชœเซ€เชคเชตเชพเชจเซ€ เช•เซ‹เชˆ เชธเชฐเชณ เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เช˜เชฃเชพ เช…เชญเชฟเช—เชฎเซ‹เชจเซ‡ เชœเซ‹เชกเซ€เชจเซ‡ เชเชจเซ‹เชŸเซ‡เชก เช•เซ‹เชกเชจเชพ เชตเซ‹เชฒเซเชฏเซเชฎเชฎเชพเช‚ เชเชกเชชเซ€ เชตเซƒเชฆเซเชงเชฟ เชนเชพเช‚เชธเชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเชคเชพ.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เชฎเชพเชฐเซ€ เชธเซŒเชฅเซ€ เชฎเซ‹เชŸเซ€ เชชเชพเชฏเชฅเซ‹เชจ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ (เชฌเซ‡เช•เชเชจเซเชก เช•เซ‹เชก เชธเชพเชฅเซ‡) เชฒเช—เชญเช— 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเซ€เชŸเซ€เช“ เชเชจเซ‹เชŸเซ‡เชก เช•เซ‹เชก เชงเชฐเชพเชตเซ‡ เช›เซ‡. เชธเซเชŸเซ‡เชŸเชฟเช• เช•เซ‹เชก เชŸเชพเชˆเชชเชฟเช‚เช—เชจเซเช‚ เช•เชพเชฎ เช…เช‚เชฆเชพเชœเซ‡ เชคเซเชฐเชฃ เชตเชฐเซเชทเชฎเชพเช‚ เชชเซ‚เชฐเซเชฃ เชฅเชฏเซเช‚ เชนเชคเซเช‚. Mypy เชนเชตเซ‡ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เชพเชฐเชจเชพ เช•เซ‹เชก เช•เชตเชฐเซ‡เชœ เชฐเชฟเชชเซ‹เชฐเซเชŸเซเชธเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชŸเชพเช‡เชชเชฟเช‚เช—เชจเซ€ เชชเซเชฐเช—เชคเชฟเชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เช…เชฎเซ‡ เชชเซเชฐเช•เชพเชฐเซ‹เชฎเชพเช‚ เช…เชธเซเชชเชทเซเชŸเชคเชพ เชธเชพเชฅเซ‡ เช•เซ‹เชก เชชเชฐ เชฐเชฟเชชเซ‹เชฐเซเชŸเซเชธ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช, เชœเซ‡เชฎ เช•เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซเชฐเช•เชพเชฐเชจเซ‹ เชธเซเชชเชทเซเชŸ เช‰เชชเชฏเซ‹เช— Any เชเชจเซ‹เชŸเซ‡เชถเชจเชฎเชพเช‚ เชœเซ‡ เชšเช•เชพเชธเซ€ เชถเช•เชพเชคเซ€ เชจเชฅเซ€, เช…เชฅเชตเชพ เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เช†เชฏเชพเชค เช•เชฐเชตเชพ เชœเซ‡เชตเซ€ เชฌเชพเชฌเชคเซ‹ เชธเชพเชฅเซ‡ เช•เซ‡ เชœเซ‡เชฎเชพเช‚ เชŸเชพเช‡เชช เชเชจเซ‹เชŸเซ‡เชถเชจ เชจเชฅเซ€. เชกเซเชฐเซ‰เชชเชฌเซ‰เช•เซเชธเชฎเชพเช‚ เชŸเชพเช‡เชช เชšเซ‡เช•เชฟเช‚เช—เชจเซ€ เชธเชšเซ‹เชŸเชคเชพ เชธเซเชงเชพเชฐเชตเชพเชจเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชญเชพเช—เชฐเซ‚เชชเซ‡, เช…เชฎเซ‡ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชฏ Python เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช•เซ‡เชŸเชฒเซ€เช• เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เชฎเชพเชŸเซ‡ เชŸเชพเช‡เชช เชกเซ‡เชซเชฟเชจเซ‡เชถเชจ (เช•เชนเซ‡เชตเชพเชคเซ€ เชธเซเชŸเชฌ เชซเชพเช‡เชฒเซ‹) เชธเซเชงเชพเชฐเชตเชพเชฎเชพเช‚ เชฏเซ‹เช—เชฆเชพเชจ เช†เชชเซเชฏเซเช‚ เช›เซ‡. เชŸเชพเช‡เชชเชถเซ‡เชก.

เช…เชฎเซ‡ เชŸเชพเชˆเชช เชธเชฟเชธเซเชŸเชฎเชจเซ€ เชจเชตเซ€ เชธเซเชตเชฟเชงเชพเช“ เชฒเชพเช—เซ เช•เชฐเซ€ (เช…เชจเซ‡ เช…เชจเซเช—เชพเชฎเซ€ PEPs เชฎเชพเช‚ เชชเซเชฐเชฎเชพเชฃเชฟเชค) เชœเซ‡ เช…เชฎเซเช• เชšเซ‹เช•เซเช•เชธ เชชเชพเชฏเชฅเซ‹เชจ เชชเซ‡เชŸเชฐเซเชจ เชฎเชพเชŸเซ‡ เชตเชงเซ เชšเซ‹เช•เซเช•เชธ เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชคเซ‡เชจเซเช‚ เชเช• เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡ TypeDict, เชœเซ‡ JSON-เชœเซ‡เชตเชพ เชถเชฌเซเชฆเช•เซ‹เชถเซ‹ เชฎเชพเชŸเซ‡เชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชธเซเชŸเซเชฐเชฟเช‚เช— เช•เซ€เชจเซ‹ เชจเชฟเชถเซเชšเชฟเชค เชธเซ‡เชŸ เชนเซ‹เชฏ เช›เซ‡, เชฆเชฐเซ‡เช• เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เชชเซเชฐเช•เชพเชฐเชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชงเชฐเชพเชตเซ‡ เช›เซ‡. เช…เชฎเซ‡ เชŸเชพเช‡เชช เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชตเชฟเชธเซเชคเชพเชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ€เชถเซเช‚. เช…เชฎเชพเชฐเซเช‚ เช†เช—เชฒเซเช‚ เชชเช—เชฒเซเช‚ เช•เชฆเชพเชš เชชเชพเชฏเชฅเซ‹เชจเชจเซ€ เชธเช‚เช–เซเชฏเชพเชคเซเชฎเช• เช•เซเชทเชฎเชคเชพเช“ เชฎเชพเชŸเซ‡เชจเชพ เชธเชฎเชฐเซเชฅเชจเชจเซ‡ เชธเซเชงเชพเชฐเชตเชพเชจเซเช‚ เชนเชถเซ‡.

Python เช•เซ‹เชกเชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเซ€เชŸเซ€เช“ เชŸเชพเช‡เชชเชšเซ‡เช• เช•เชฐเชตเชพเชจเซ‹ เชฎเชพเชฐเซเช—. เชญเชพเช— 3
เชŸเซ€เช•เชพ เช•เชฐเซ‡เชฒ เช•เซ‹เชกเชจเซ€ เชฐเซ‡เช–เชพเช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ: เชธเชฐเซเชตเชฐ

Python เช•เซ‹เชกเชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเซ€เชŸเซ€เช“ เชŸเชพเช‡เชชเชšเซ‡เช• เช•เชฐเชตเชพเชจเซ‹ เชฎเชพเชฐเซเช—. เชญเชพเช— 3
เชŸเซ€เช•เชพ เช•เชฐเซ‡เชฒ เช•เซ‹เชกเชจเซ€ เชฐเซ‡เช–เชพเช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ: เช•เซเชฒเชพเชฏเชจเซเชŸ

Python เช•เซ‹เชกเชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเซ€เชŸเซ€เช“ เชŸเชพเช‡เชชเชšเซ‡เช• เช•เชฐเชตเชพเชจเซ‹ เชฎเชพเชฐเซเช—. เชญเชพเช— 3
เชเชจเซ‹เชŸเซ‡เชก เช•เซ‹เชกเชจเซ€ เชฒเชพเช‡เชจเซ‹เชจเซ€ เช•เซเชฒ เชธเช‚เช–เซเชฏเชพ

เชกเซเชฐเซ‰เชชเชฌเซ‰เช•เซเชธเชฎเชพเช‚ เชเชจเซ‹เชŸเซ‡เชŸเซ‡เชก เช•เซ‹เชกเชจเซ€ เชฎเชพเชคเซเชฐเชพ เชตเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ เช•เชฐเซ‡เชฒเซ€ เชตเชธเซเชคเซเช“เชจเซ€ เชฎเซเช–เซเชฏ เชตเชฟเชถเซ‡เชทเชคเชพเช“เชจเซ€ เช…เชนเซ€เช‚ เชเชพเช‚เช–เซ€ เช›เซ‡:

เชŸเซ€เช•เชพเชจเซ€ เช•เช เซ‹เชฐเชคเชพ. เช…เชฎเซ‡ เชจเชตเชพ เช•เซ‹เชกเชจเซ€ เชŸเซ€เช•เชพ เช•เชฐเชตเชพเชจเซ€ เช•เช เซ‹เชฐเชคเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹ เชงเซ€เชฎเซ‡ เชงเซ€เชฎเซ‡ เชตเชงเชพเชฐเซ€ เช›เซ‡. เช…เชฎเซ‡ เชฒเชฟเช‚เชŸเชฐ เชŸเชฟเชชเซเชธ เชธเชพเชฅเซ‡ เชถเชฐเซ‚เช†เชค เช•เชฐเซ€ เช›เซ‡ เชœเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เช•เซ‡เชŸเชฒเซ€เช• เชŸเซ€เช•เชพเช“ เชงเชฐเชพเชตเชคเซ€ เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚ เชเชจเซ‹เชŸเซ‡เชถเชจ เช‰เชฎเซ‡เชฐเชตเชพเชจเซเช‚ เชธเซ‚เชšเชจ เช•เชฐเซ‡ เช›เซ‡. เช…เชฎเชจเซ‡ เชนเชตเซ‡ เชจเชตเซ€ เชชเชพเชฏเชฅเซ‹เชจ เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚ เช…เชจเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชนเชพเชฒเชจเซ€ เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚ เชŸเชพเชˆเชช เชเชจเซ‹เชŸเซ‡เชถเชจเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชŸเชพเชˆเชชเชฟเช‚เช— เชฐเชฟเชชเซ‹เชฐเซเชŸเซเชธ. เช…เชฎเซ‡ เชŸเซ€เชฎเซ‹เชจเซ‡ เชคเซ‡เชฎเชจเชพ เช•เซ‹เชกเชฎเชพเช‚ เชŸเชพเช‡เชช เช•เชฐเชตเชพเชจเชพ เชธเซเชคเชฐ เชชเชฐ เชธเชพเชชเซเชคเชพเชนเชฟเช• เช…เชนเซ‡เชตเชพเชฒเซ‹ เชฎเซ‹เช•เชฒเซ€เช เช›เซ€เช เช…เชจเซ‡ เชชเชนเซ‡เชฒเชพ เชถเซเช‚ เชŸเซ€เช•เชพ เช•เชฐเชตเซ€ เชœเซ‹เชˆเช เชคเซ‡ เช…เช‚เช—เซ‡ เชธเชฒเชพเชน เช†เชชเซ€เช เช›เซ€เช.

เชฎเชพเชฏเชชเซ€เชจเซเช‚ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏเช•เชฐเชฃ. เช…เชฎเซ‡ เช‡เชตเซ‡เชจเซเชŸเชฎเชพเช‚ mypy เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชŸเชพเชˆเชช เชเชจเซ‹เชŸเซ‡เชถเชจ เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชŸเซ€เชฎเซ‹ เชธเชพเชฅเซ‡ เชตเชพเชค เช•เชฐเซ€เช เช›เซ€เช.

เชฎเชคเชฆเชพเชจ. เช…เชฎเซ‡ เชฎเซเช–เซเชฏ เชธเชฎเชธเซเชฏเชพเช“ เช“เชณเช–เชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชธเชฐเซเชตเซ‡เช•เซเชทเชฃเซ‹ เช•เชฐเซ€เช เช›เซ€เช. เช…เชฎเซ‡ เช† เชธเชฎเชธเซเชฏเชพเช“เชจเชพ เช‰เช•เซ‡เชฒเชฎเชพเช‚ เช–เซ‚เชฌ เช†เช—เชณ เชœเชตเชพ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช›เซ€เช (เชฎเชพเชฏเชชเซ€เชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชจเชตเซ€ เชญเชพเชทเชพ เชชเชฃ เชฌเชจเชพเชตเซ€เช!).

เชชเซเชฐเชฆเชฐเซเชถเชจ. เช…เชฎเซ‡ เชกเชฟเชฎเชจ เช…เชจเซ‡ mypyc เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ mypy เชจเชพ เชชเซเชฐเชฆเชฐเซเชถเชจเชฎเชพเช‚ เช˜เชฃเซ‹ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเซเชฏเซ‹ เช›เซ‡. เช† เชเชจเซ‹เชŸเซ‡เชถเชจ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช‰เชฆเชญเชตเชคเซ€ เช…เชธเซเชตเชฟเชงเชพเช“เชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เช•เซ‹เชก เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเช•เซเชทเชฎ เชฅเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚.

เชธเช‚เชชเชพเชฆเช•เซ‹ เชธเชพเชฅเซ‡ เชเช•เซ€เช•เชฐเชฃ. เช…เชฎเซ‡ เชกเซเชฐเซ‰เชชเชฌเซ‰เช•เซเชธ เชชเชฐ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชเชตเชพ เชธเช‚เชชเชพเชฆเช•เซ‹เชฎเชพเช‚ mypy เชšเชฒเชพเชตเชตเชพเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชธเชพเชงเชจเซ‹ เชฌเชจเชพเชตเซเชฏเชพเช‚ เช›เซ‡. เช†เชฎเชพเช‚ PyCharm, Vim เช…เชจเซ‡ VS เช•เซ‹เชกเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เช†เชจเชพเชฅเซ€ เช•เซ‹เชกเชจเซ€ เชŸเซ€เช•เชพ เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชšเช•เชพเชธเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€. เชนเชพเชฒเชจเชพ เช•เซ‹เชกเชจเซ€ เชŸเซ€เช•เชพ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช† เชชเซเชฐเช•เชพเชฐเชจเซ€ เช•เซเชฐเชฟเชฏเชพเช“ เชธเชพเชฎเชพเชจเซเชฏ เช›เซ‡.

เชธเซเชฅเชฟเชฐ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ. เช…เชฎเซ‡ เชธเซเชŸเซ‡เชŸเชฟเช• เชเชจเชพเชฒเชฟเชธเชฟเชธ เชŸเซ‚เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชซเช‚เช•เซเชถเชจ เชธเชฟเช—เซเชจเซ‡เชšเชฐเชจเซเช‚ เช…เชจเซเชฎเชพเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชธเชพเชงเชจ เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡. เช† เชธเชพเชงเชจ เชฎเชพเชคเซเชฐ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชธเชฐเชณ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชฎเชพเช‚ เชœ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เช…เชฎเชจเซ‡ เช–เซ‚เชฌ เชœ เชชเซเชฐเชฏเชคเซเชจเซ‹ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ เช…เชฎเชพเชฐเชพ เช•เซ‹เชก เชชเซเชฐเช•เชพเชฐ เช•เชตเชฐเซ‡เชœเชจเซ‡ เชตเชงเชพเชฐเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡.

เชคเซƒเชคเซ€เชฏ เชชเช•เซเชท เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹ เชฎเชพเชŸเซ‡ เช†เชงเชพเชฐ. เช…เชฎเชพเชฐเชพ เช˜เชฃเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ SQLAlchemy เชŸเซ‚เชฒเช•เซ€เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡ Python เชจเซ€ เช—เชคเชฟเชถเซ€เชฒ เช•เซเชทเชฎเชคเชพเช“เชจเซ‹ เชฒเชพเชญ เชฒเซ‡ เช›เซ‡ เช•เซ‡ PEP 484 เชชเซเชฐเช•เชพเชฐเซ‹ เชธเซ€เชงเชพ เชฎเซ‹เชกเชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช…เชธเชฎเชฐเซเชฅ เช›เซ‡. เช…เชฎเซ‡, PEP 561 เช…เชจเซเชธเชพเชฐ, เช…เชจเซเชฐเซ‚เชช เชธเซเชŸเชฌ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ€ เช…เชจเซ‡ mypy เชฎเชพเชŸเซ‡ เชชเซเชฒเช—เช‡เชจ เชฒเช–เซเชฏเซเช‚ (เช–เซเชฒเซเชฒเชพ เชธเซเชคเซเชฐเซ‹เชค), เชœเซ‡ SQLAlchemy เชธเชชเซ‹เชฐเซเชŸเชจเซ‡ เชธเซเชงเชพเชฐเซ‡ เช›เซ‡.

เช…เชฎเซ‡ เชœเซ‡ เชฎเซเชถเซเช•เซ‡เชฒเซ€เช“เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซเชฏเซ‹

เชŸเชพเช‡เชช เช•เชฐเซ‡เชฒเชพ เช•เซ‹เชกเชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเชพเช‡เชจเชจเซ‹ เชฎเชพเชฐเซเช— เชนเช‚เชฎเซ‡เชถเชพ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เชจเชฅเซ€ เชนเซ‹เชคเซ‹. เช† เชฎเชพเชฐเซเช— เชชเชฐ เช…เชฎเซ‡ เช˜เชฃเชพ เช–เชพเชกเชพเช“เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซเชฏเซ‹ เช…เชจเซ‡ เช˜เชฃเซ€ เชญเซ‚เชฒเซ‹ เช•เชฐเซ€. เช† เช•เซ‡เชŸเชฒเซ€เช• เชธเชฎเชธเซเชฏเชพเช“ เช›เซ‡ เชœเซ‡เชจเซ‹ เช…เชฎเซ‡ เชธเชพเชฎเชจเซ‹ เช•เชฐเซเชฏเซ‹ เช›เซ‡. เช…เชฎเซ‡ เช†เชถเชพ เชฐเชพเช–เซ€เช เช›เซ€เช เช•เซ‡ เชคเซ‡เชฎเชจเชพ เชตเชฟเชถเซ‡ เชœเชฃเชพเชตเชตเชพเชฅเซ€ เช…เชจเซเชฏ เชฒเซ‹เช•เซ‹เชจเซ‡ เชธเชฎเชพเชจ เชธเชฎเชธเซเชฏเชพเช“ เชŸเชพเชณเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เชฎเชณเชถเซ‡.

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

เชœเซ‚เชจเชพ เช•เซ‹เชกเชจเซ€ เชŸเซ€เช•เชพ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ€เช. เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชถเชฐเซ‚ เช•เชฐเซเชฏเซเช‚, เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชนเชพเชฒเชจเชพ เชชเชพเชฏเชฅเซ‹เชจ เช•เซ‹เชกเชจเซ€ เชฒเช—เชญเช— 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเชพเช‡เชจ เชนเชคเซ€. เชคเซ‡ เชธเซเชชเชทเซเชŸ เชนเชคเซเช‚ เช•เซ‡ เช† เชฌเชงเชพ เช•เซ‹เชกเชจเซ€ เชŸเซ€เช•เชพ เช•เชฐเชตเซ€ เช เชธเชฐเชณ เช•เชพเชฐเซเชฏ เชจเชฅเซ€. เช…เชฎเซ‡ PyAnnotate เชจเชพเชฎเชจเซเช‚ เชเช• เชŸเซ‚เชฒ เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡ เชœเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชšเชพเชฒเชคเซ€ เชนเซ‹เชตเชพเชฅเซ€ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‡เชฒเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเชพ เช†เชงเชพเชฐเซ‡ เชคเชฎเชพเชฐเชพ เช•เซ‹เชกเชฎเชพเช‚ เชŸเชพเชˆเชช เชเชจเซ‹เชŸเซ‡เชถเชจ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชœเซ‹ เช•เซ‡, เช…เชฎเซ‡ เช† เชŸเซ‚เชฒเชจเซ‡ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชตเซเชฏเชพเชชเช• เช…เชชเชจเชพเชตเชตเชพเชจเซ€ เชจเซ‹เช‚เชง เชฒเซ€เชงเซ€ เชจเชฅเซ€. เชชเซเชฐเช•เชพเชฐเชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชญเซ‡เช—เซ€ เช•เชฐเชตเซ€ เชงเซ€เชฎเซ€ เชนเชคเซ€, เช…เชจเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เชœเชจเชฐเซ‡เชŸ เชฅเชฏเซ‡เชฒเซ€ เชŸเซ€เช•เชพเช“ เชฎเชพเชŸเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เช˜เชฃเชพ เชฎเซ‡เชจเซเชฏเซเช…เชฒ เชธเช‚เชชเชพเชฆเชจเซ‹เชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ‡ เช›เซ‡. เช…เชฎเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชชเชฃ เช•เซ‹เชกเชจเซ€ เชธเชฎเซ€เช•เซเชทเชพ เช•เชฐเซ€เช เชคเซเชฏเชพเชฐเซ‡ เช† เชŸเซ‚เชฒเชจเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เชšเชฒเชพเชตเชตเชพ เชตเชฟเชถเซ‡ เช…เชฅเชตเชพ เชตเชพเชธเซเชคเชตเชฟเช• เชจเซ‡เชŸเชตเชฐเซเช• เชตเชฟเชจเช‚เชคเซ€เช“เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เชจเชพเชจเชพ เชœเชฅเซเชฅเชพเชจเชพ เชชเซƒเชฅเซเชฅเช•เชฐเชฃเชจเชพ เช†เชงเชพเชฐเซ‡ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚, เชชเชฐเช‚เชคเซ เชจ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช•เชพเชฐเชฃ เช•เซ‡ เช•เซ‹เชˆเชชเชฃ เช…เชญเชฟเช—เชฎ เช–เซ‚เชฌ เชœเซ‹เช–เชฎเซ€ เชนเชคเซ‹.

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชคเซ‡ เชจเซ‹เช‚เชงเซ€ เชถเช•เชพเชฏ เช›เซ‡ เช•เซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช•เซ‹เชก เชคเซ‡เชจเชพ เชฎเชพเชฒเชฟเช•เซ‹ เชฆเซเชตเชพเชฐเชพ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชŸเซ€เช•เชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ. เช† เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฆเชฟเชถเชพเชฎเชพเช‚ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชจ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เช…เชจเซ‡ เชซเช‚เช•เซเชถเชจเซเชธ เชชเชฐ เช…เชนเซ‡เชตเชพเชฒเซ‹ เชคเซˆเชฏเชพเชฐ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เชœเซ‡เชจเซ€ เชŸเซ€เช•เชพ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชธเซ‡เช‚เช•เชกเซ‹ เชธเซเชฅเชณเซ‹เช เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฎเซ‹เชกเซเชฏเซเชฒ เชฎเชพเชŸเซ‡ เชŸเชพเช‡เชช เชเชจเซ‹เชŸเซ‡เชถเชจ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเซเช‚ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡. เชชเชฐเช‚เชคเซ เชœเซ‚เชจเซ€ เชธเซ‡เชตเชพ เช•เซ‡ เชœเซ‡เชจเซ‡ เชจเชตเซ€ เชธเชพเชฅเซ‡ เชฌเชฆเชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซ€ เช›เซ‡ เชคเซ‡ เชนเชตเซ‡ เชŸเซ€เช•เชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเชŸเชฒเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชจเชฅเซ€. เช…เชฎเซ‡ เชฒเซ‡เช—เชธเซ€ เช•เซ‹เชก เชฎเชพเชŸเซ‡ เชŸเชพเช‡เชช เชเชจเซ‹เชŸเซ‡เชถเชจ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชŸเซ‡เชŸเชฟเช• เชเชจเชพเชฒเชฟเชธเชฟเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‹ เชชเชฃ เชชเซเชฐเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช.

เชšเช•เซเชฐเซ€เชฏ เช†เชฏเชพเชค. เช‰เชชเชฐ, เชฎเซ‡เช‚ เชšเช•เซเชฐเซ€เชฏ เช†เชฏเชพเชค ("เชจเชฟเชฐเซเชญเชฐเชคเชพ เช—เซ‚เช‚เชšเชตเชฃเซ‹") เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€, เชœเซ‡เชจเชพ เช…เชธเซเชคเชฟเชคเซเชตเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชฎเชพเชฏเชชเซ€เชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเชตเซเช‚ เชฎเซเชถเซเช•เซ‡เชฒ เชฌเชจเซเชฏเซเช‚. เช† เชšเช•เซเชฐเซ€เชฏ เช†เชฏเชพเชคเซ‹เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชฅเชคเชพ เชคเชฎเชพเชฎ เชชเซเชฐเช•เชพเชฐเชจเชพ เชฐเซ‚เชขเชฟเชชเซเชฐเชฏเซ‹เช—เซ‹เชจเซ‡ mypy เชธเชฎเชฐเซเชฅเชจ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฃ เช…เชฎเชพเชฐเซ‡ เชธเช–เชค เชฎเชนเซ‡เชจเชค เช•เชฐเชตเซ€ เชชเชกเซ€ เชนเชคเซ€. เช…เชฎเซ‡ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชเช• เชฎเซเช–เซเชฏ เชธเชฟเชธเซเชŸเชฎ เชฐเซ€เชกเชฟเชเชพเช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเซ‚เชฐเซเชฃ เช•เชฐเซเชฏเซ‹ เช›เซ‡ เชœเซ‡เชฃเซ‡ เชชเชฐเชฟเชชเชคเซเชฐ เช†เชฏเชพเชค เชธเช‚เชฌเช‚เชงเชฟเชค mypy เชจเซ€ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เช เซ€เช• เช•เชฐเซ€ เช›เซ‡. เช† เชธเชฎเชธเซเชฏเชพเช“ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชถเชฐเซ‚เช†เชคเชจเชพ เชฆเชฟเชตเชธเซ‹เชฅเซ€ เช‰เชฆเชญเชตเซ€ เชนเชคเซ€, เช…เชฒเซ‹เชฐเชฅเซ€ เชชเชพเช›เชพ, เชถเซˆเช•เซเชทเชฃเชฟเช• เชญเชพเชทเชพ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เชฎเชพเชฏเชชเซ€ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเซ‚เชณ เชฐเซ‚เชชเซ‡ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เชนเชคเซ‹. Alore เชธเชฟเชจเซเชŸเซ‡เช•เซเชธ เชšเช•เซเชฐเซ€เชฏ เช†เชฏเชพเชค เช†เชฆเซ‡เชถเซ‹ เชธเชพเชฅเซ‡ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เช†เชงเซเชจเชฟเช• เชฎเชพเชฏเชชเซ€เชจเซ‡ เชคเซ‡เชจเชพ เช…เช—เชพเช‰เชจเชพ, เชธเชฐเชณ เชตเชฟเชšเชพเชฐเชธเชฐเชฃเซ€เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชฎเชพเช‚เชฅเซ€ เช•เซ‡เชŸเชฒเซ€เช• เชฎเชฐเซเชฏเชพเชฆเชพเช“ เชตเชพเชฐเชธเชพเชฎเชพเช‚ เชฎเชณเซ€ เช›เซ‡ (เชœเซ‡ เช…เชฒเซ‹เชฐ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชนเชคเซ€). Python เช—เซ‹เชณเชพเช•เชพเชฐ เช†เชฏเชพเชค เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชฎเซเชถเซเช•เซ‡เชฒ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชฎเซเช–เซเชฏเชคเซเชตเซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเช“ เช…เชธเซเชชเชทเซเชŸ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เชธเชพเช‡เชจเชฎเซ‡เชจเซเชŸ เช‘เชชเชฐเซ‡เชถเชจ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชชเซเชฐเช•เชพเชฐ เช‰เชชเชจเชพเชฎ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เช†เชฏเชพเชค เชฒเซ‚เชช เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เชจ เช†เชตเซ‡ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ Mypy เชนเช‚เชฎเซ‡เชถเชพ เช†เชจเชพ เชœเซ‡เชตเซ€ เชตเชธเซเชคเซเช“ เชถเซ‹เชงเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€. เช…เชฒเซ‹เชฐเชฎเชพเช‚ เช†เชตเซ€ เช•เซ‹เชˆ เช…เชธเซเชชเชทเซเชŸเชคเชพ เชจเชนเซ‹เชคเซ€. เชธเชฟเชธเซเชŸเชฎ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸเชจเชพ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชคเชฌเช•เซเช•เชพเชฎเชพเช‚ เชฒเซ€เชงเซ‡เชฒเชพ เชจเชฌเชณเชพ เชจเชฟเชฐเซเชฃเชฏเซ‹ เช˜เชฃเชพ เชตเชฐเซเชทเซ‹ เชชเช›เซ€ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐ เชฎเชพเชŸเซ‡ เช…เชชเซเชฐเชฟเชฏ เช†เชถเซเชšเชฐเซเชฏ เชฐเชœเซ‚ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เชชเชฐเชฟเชฃเชพเชฎเซ‹: เช•เซ‹เชกเชจเซ€ 5 เชฎเชฟเชฒเชฟเชฏเชจ เชฐเซ‡เช–เชพเช“ เช…เชจเซ‡ เชจเชตเชพ เช•เซเชทเชฟเชคเชฟเชœเซ‹เชจเซ‹ เชฎเชพเชฐเซเช—

เชฎเชพเชฏเชชเซ€ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช–เซ‚เชฌ เช†เช—เชณ เชตเชงเซ€ เช—เชฏเซ‹ เช›เซ‡ - เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชชเซเชฐเซ‹เชŸเซ‹เชŸเชพเช‡เชชเชฅเซ€ เชฒเชˆเชจเซ‡ เชเชตเซ€ เชธเชฟเชธเซเชŸเชฎ เชธเซเชงเซ€ เช•เซ‡ เชœเซ‡ เช‰เชคเซเชชเชพเชฆเชจ เช•เซ‹เชก เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเชพเช‡เชจเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชœเซ‡เชฎ เชœเซ‡เชฎ เชฎเชพเชฏเชชเซ€เชจเซ‹ เชตเชฟเช•เชพเชธ เชฅเชคเซ‹ เช—เชฏเซ‹ เชคเซ‡เชฎ, เชชเชพเชฏเชฅเซ‹เชจเชจเชพ เชชเซเชฐเช•เชพเชฐเชจเชพ เชธเช‚เช•เซ‡เชคเซ‹เชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ. เช† เชฆเชฟเชตเชธเซ‹เชฎเชพเช‚, เชชเชพเชฏเชฅเซ‹เชจ เช•เซ‹เชก เชŸเชพเช‡เชช เช•เชฐเชตเชพเชจเซ€ เช†เชธเชชเชพเชธ เชเช• เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เช‡เช•เซ‹เชธเชฟเชธเซเชŸเชฎ เชตเชฟเช•เชธเชฟเชค เชฅเชˆ เช›เซ‡. เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชธเชชเซ‹เชฐเซเชŸ เชฎเชพเชŸเซ‡ เชเช• เชธเซเชฅเชพเชจ เช›เซ‡, เชคเซ‡เชฎเชพเช‚ IDE เช…เชจเซ‡ เชธเช‚เชชเชพเชฆเช•เซ‹ เชฎเชพเชŸเซ‡ เชธเชนเชพเชฏเช• เชธเชพเชงเชจเซ‹ เช›เซ‡, เชคเซ‡เชฎเชพเช‚ เช˜เชฃเซ€ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชธเชฟเชธเซเชŸเชฎเซ‹ เช›เซ‡, เชœเซ‡เชฎเชพเช‚เชจเชพ เชฆเชฐเซ‡เช•เชจเชพ เชชเซ‹เชคเชพเชจเชพ เช—เซเชฃเชฆเซ‹เชท เช›เซ‡.

เชกเซเชฐเซ‰เชชเชฌเซ‰เช•เซเชธเชฎเชพเช‚ เชŸเชพเชˆเชช เชšเซ‡เช•เชฟเช‚เช— เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เชนเซเช‚ เชฎเชพเชจเซเช‚ เช›เซเช‚ เช•เซ‡ เช…เชฎเซ‡ เชนเชœเซ เชชเชฃ เชชเชพเชฏเชฅเซ‹เชจ เช•เซ‹เชก เชŸเชพเชˆเชช เช•เชฐเชตเชพเชจเชพ เชถเชฐเซ‚เช†เชคเชจเชพ เชฆเชฟเชตเชธเซ‹เชฎเชพเช‚ เช›เซ€เช. เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชŸเชพเช‡เชช เชšเซ‡เช•เชฟเช‚เช— เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€เช“ เชตเชฟเช•เชธเชฟเชค เช…เชจเซ‡ เชธเซเชงเชพเชฐเชคเซ€ เชฐเชนเซ‡เชถเซ‡.

เชœเซ‹ เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เชฎเซ‹เชŸเชพ เชชเชพเชฏเซ‡ เชชเชพเชฏเชฅเซ‹เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชŸเชพเช‡เชช เชšเซ‡เช•เชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชจเชฅเซ€, เชคเซ‹ เชœเชพเชฃเซ‹ เช•เซ‡ เชธเซเชŸเซ‡เชŸเชฟเช• เชŸเชพเช‡เชชเชฟเช‚เช— เชชเชฐ เชœเชตเชพ เชฎเชพเชŸเซ‡ เชนเชตเซ‡ เช–เซ‚เชฌ เชœ เชธเชพเชฐเซ‹ เชธเชฎเชฏ เช›เซ‡. เชฎเซ‡เช‚ เชคเซ‡ เชฒเซ‹เช•เซ‹ เชธเชพเชฅเซ‡ เชตเชพเชค เช•เชฐเซ€ เช›เซ‡ เชœเซ‡เชฎเชฃเซ‡ เชธเชฎเชพเชจ เชธเช‚เช•เซเชฐเชฎเชฃ เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เชคเซ‡เชฎเชพเช‚เชฅเซ€ เช•เซ‹เชˆเชจเซ‡ เชคเซ‡เชจเซ‹ เช…เชซเชธเซ‹เชธ เชจเชนเซ‹เชคเซ‹. เชชเซเชฐเช•เชพเชฐ เชšเช•เชพเชธเชฃเซ€ เชชเชพเชฏเชฅเซ‹เชจเชจเซ‡ เชเชตเซ€ เชญเชพเชทเชพ เชฌเชจเชพเชตเซ‡ เช›เซ‡ เชœเซ‡ "เชจเชฟเชฏเชฎเชฟเชค เชชเชพเชฏเชฅเซ‹เชจ" เช•เชฐเชคเชพเช‚ เชฎเซ‹เชŸเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชตเชฟเช•เชธเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชงเซ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช…เชจเซเช•เซ‚เชณ เช›เซ‡.

เชชเซเชฐเชฟเชฏ เชตเชพเชšเช•เซ‹! เชถเซเช‚ เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เชชเชพเชฏเชฅเซ‹เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เชŸเชพเช‡เชช เชšเซ‡เช•เชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹?

Python เช•เซ‹เชกเชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเซ€เชŸเซ€เช“ เชŸเชพเช‡เชชเชšเซ‡เช• เช•เชฐเชตเชพเชจเซ‹ เชฎเชพเชฐเซเช—. เชญเชพเช— 3
Python เช•เซ‹เชกเชจเซ€ 4 เชฎเชฟเชฒเชฟเชฏเชจ เชฒเซ€เชŸเซ€เช“ เชŸเชพเช‡เชชเชšเซ‡เช• เช•เชฐเชตเชพเชจเซ‹ เชฎเชพเชฐเซเช—. เชญเชพเช— 3

เชธเซ‹เชฐเซเชธ: www.habr.com

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