เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเดฟเดจเตเดฑเต† 4 เดฆเดถเดฒเด•เตเดทเด‚ เดฒเตˆเดจเตเด•เตพ เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดพเดค. เดญเดพเด—เด‚ 1

เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเต เดคเดฐเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดตเตเดฎเดพเดฏเดฟ เดกเตเดฐเต‹เดชเตเดชเตเดฌเต‹เด•เตเดธเต เดŽเด™เตเด™เดจเต† เด‡เดŸเดชเต†เดŸเตเดจเตเดจเต เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเดฒเดฟเดจเตเดฑเต† เดตเดฟเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† เด†เดฆเตเดฏ เดญเดพเด—เด‚ เดžเด™เตเด™เตพ เด‡เดจเตเดจเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดถเตเดฐเดฆเตเดงเดฏเดฟเตฝเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต.

เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเดฟเดจเตเดฑเต† 4 เดฆเดถเดฒเด•เตเดทเด‚ เดฒเตˆเดจเตเด•เตพ เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดพเดค. เดญเดพเด—เด‚ 1

เดกเตเดฐเต‹เดชเตเดชเตเดฌเต‹เด•เตเดธเต เดชเตˆเดคเตเดคเดฃเดฟเตฝ เดงเดพเดฐเดพเดณเด‚ เดŽเดดเตเดคเตเดจเตเดจเต. เดฌเดพเด•เตเด•เต†เตปเดกเต เดธเต‡เดตเดจเด™เตเด™เตพเด•เตเด•เตเด‚ เดกเต†เดธเตโ€Œเด•เตโ€ŒเดŸเต‹เดชเตเดชเต เด•เตเดฒเดฏเดจเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพเด•เตเด•เตเดฎเดพเดฏเดฟ เดžเด™เตเด™เตพ เดตเดณเดฐเต† เดตเตเดฏเดพเดชเด•เดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดญเดพเดทเดฏเดพเดฃเดฟเดคเต. Go, TypeScript, Rust เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เดžเด™เตเด™เตพ เดงเดพเดฐเดพเดณเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดฑเตเดฃเตเดŸเต, เดชเด•เตเดทเต‡ เดชเตˆเดคเตเดคเตบ เด†เดฃเต เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดงเดพเดจ เดญเดพเดท. เดžเด™เตเด™เดณเตเดŸเต† เดธเตเด•เต†เดฏเดฟเตฝ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดžเด™เตเด™เตพ เดฆเดถเดฒเด•เตเดทเด•เตเด•เดฃเด•เตเด•เดฟเดจเต เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเดพเดฃเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด…เดคเตเดคเดฐเด‚ เด•เต‹เดกเดฟเดจเตเดฑเต† เดกเตˆเดจเดพเดฎเดฟเด•เต เดŸเตˆเดชเตเดชเดฟเด‚เด—เต เด…เดคเดฟเดจเตเดฑเต† เดงเดพเดฐเดฃเดฏเต† เด…เดจเดพเดตเดถเตเดฏเดฎเดพเดฏเดฟ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดคเตŠเดดเดฟเตฝ เด‰เตฝเดชเดพเดฆเดจเด•เตเดทเดฎเดคเดฏเต† เดธเดพเดฐเดฎเดพเดฏเดฟ เดฌเดพเดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต. เดˆ เดชเตเดฐเดถเตโ€Œเดจเด‚ เดฒเด˜เต‚เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, mypy เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เดณเตเดŸเต† เด•เต‹เดกเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เดฟเดฒเต‡เด•เตเด•เต เด•เตเดฐเดฎเต‡เดฃ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เดžเด™เตเด™เตพ เดคเตเดŸเด™เตเด™เดฟ. เดชเตˆเดคเตเดคเดฃเดฟเดจเดพเดฏเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดœเดจเดชเตเดฐเดฟเดฏเดฎเดพเดฏ เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดŸ เดคเดฐเด‚ เดชเดฐเดฟเดถเต‹เดงเดจเดพ เดธเด‚เดตเดฟเดงเดพเดจเดฎเดพเดฃเดฟเดคเต. Mypy เด’เดฐเต เด“เดชเตเดชเตบ เดธเต‹เดดเตเดธเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดพเดฃเต, เด…เดคเดฟเดจเตเดฑเต† เดชเตเดฐเดงเดพเดจ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดกเตเดฐเต‹เดชเตเดชเตเดฌเต‹เด•เตเดธเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดˆ เดธเตเด•เต†เดฏเดฟเดฒเดฟเตฝ เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเดฟเตฝ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏ เด†เดฆเตเดฏเดคเตเดคเต† เด•เดฎเตเดชเดจเดฟเด•เดณเดฟเตฝ เด’เดจเตเดจเดพเดฃเต เดกเตเดฐเต‹เดชเตเดชเตเดฌเต‹เด•เตเดธเต. เดˆ เดฆเดฟเดตเดธเด™เตเด™เดณเดฟเตฝ เด†เดฏเดฟเดฐเด•เตเด•เดฃเด•เตเด•เดฟเดจเต เดชเตเดฐเต‹เดœเด•เตเดŸเตเด•เดณเดฟเตฝ Mypy เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เด‰เดชเด•เดฐเดฃเด‚ เด…เดตเตผ เดชเดฑเดฏเตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดŽเดฃเตเดฃเดฎเดฑเตเดฑ เดคเดตเดฃ "เดฏเตเดฆเตเดงเดคเตเดคเดฟเตฝ เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเต". เด‡เดชเตเดชเต‹เตพ เด‰เดณเตเดณเดฟเดŸเดคเตเดคเต เดŽเดคเตเดคเดพเตป เด’เดฐเตเดชเดพเดŸเต เดฆเต‚เดฐเด‚ เดชเต‹เด•เต‡เดฃเตเดŸเดฟ เดตเดจเตเดจเต. เดตเดฟเดœเดฏเดฟเด•เตเด•เดพเดคเตเดค เดชเดฒ เดถเตเดฐเดฎเด™เตเด™เดณเตเด‚ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸ เดชเดฐเต€เด•เตเดทเดฃเด™เตเด™เดณเตเด‚ เดตเดดเดฟเดฏเดฟเตฝ เด‰เดฃเตเดŸเดพเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เตเด•เดณเตเด‚ เดŸเตˆเดชเตเดชเต เดธเต‚เดšเดจเด•เดณเตเด‚ เดŽเดฃเตเดฃเดฎเดฑเตเดฑ เดชเตˆเดคเตเดคเตบ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดธเตผเดตเดธเดพเดงเดพเดฐเดฃเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดŽเดจเตเดฑเต† เด…เด•เตเด•เดพเดฆเดฎเดฟเด•เต เดฑเดฟเดธเตผเดšเตเดšเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏเดฟ เดชเตˆเดคเตเดคเดฃเดฟเดฒเต† เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เดฟเดจเตเดฑเต† เดšเดฐเดฟเดคเตเดฐเด‚ เดˆ เดญเดพเด—เด‚ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดธเด‚เดตเดฟเดงเดพเดจเด™เตเด™เดณเต† เด‡เดชเตเดชเต‹เตพ IDE-เด•เดณเตเด‚ เด•เต‹เดกเต เด…เดจเดฒเตˆเดธเดฑเตเด•เดณเตเด‚ เดชเต‹เดฒเตเดณเตเดณ เดตเดฟเดตเดฟเดง เดŸเต‚เดณเตเด•เตพ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต.

โ†’ เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เดคเดฐเด‚ เดชเดฐเดฟเดถเต‹เดงเดจ เด†เดตเดถเตเดฏเดฎเดพเดฃเต?

เดจเดฟเด™เตเด™เตพ เดŽเดชเตเดชเต‹เดดเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตโ€Œเดค เดชเตˆเดคเตเดคเตบ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดˆเดฏเดฟเดŸเต†เดฏเดพเดฏเดฟ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดŸเตˆเดชเตเดชเดฟเด‚เด—เดฟเดจเต†เดฏเตเด‚ เดฎเตˆเดชเดฟเดฏเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเต เด‡เดคเตเดฐเดฏเดงเดฟเด•เด‚ เด•เต‹เดฒเดพเดนเดฒเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเดฏเดคเต เดŽเดจเตเดจเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เด…เตฝเดชเตเดชเด‚ เด†เดถเดฏเด•เตเด•เตเดดเดชเตเดชเดคเตเดคเดฟเดฒเดพเดฏเต‡เด•เตเด•เดพเด‚. เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดฑเต† เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏ เดŸเตˆเดชเตเดชเดฟเด‚เด—เต เด•เดพเดฐเดฃเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เด‡เดทเตเดŸเดฎเดพเดฏเต‡เด•เตเด•เดพเด‚, เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดธเตเดตเดธเตเดฅเดจเดพเด•เตเด•เตเดจเตเดจเต. เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดŸเตˆเดชเตเดชเดฟเด‚เด—เดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดคเดพเด•เตเด•เต‹เตฝ เดคเต€เดฐเตเดฎเดพเดจเด™เตเด™เดณเตเดŸเต† เดธเตเด•เต†เดฏเดฟเตฝ เด†เดฃเต: เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดตเดฒเตเดคเดพเด•เตเดฎเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดŸเตˆเดชเตเดชเดฟเด‚เด—เดฟเดฒเต‡เด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดšเดพเดฏเตเดจเตเดจเต, เด†เดคเตเดฏเดจเตเดคเดฟเด•เดฎเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เดถเดฐเดฟเด•เตเด•เตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเตฝ เดชเดคเดฟเดจเดพเดฏเดฟเดฐเด•เตเด•เดฃเด•เตเด•เดฟเดจเต เดฒเตˆเดจเตเด•เดณเดฟเตฝ เดŽเดคเตเดคเดฟเดฏเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดชเดฑเดฏเดพเด‚, เด•เต‚เดŸเดพเดคเต† เดจเดฟเดฐเดตเดงเดฟ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตผเดฎเดพเตผ เด…เดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต†เดจเตเดจเต เด‡เดคเต เดฎเดพเดฑเตเดจเตเดจเต. เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดžเด™เตเด™เดณเตเดŸเต† เด…เดจเตเดญเดตเดคเตเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ, เด…เดคเดฟเดจเตเดฑเต† เด•เต‹เดกเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต เดกเต†เดตเดฒเดชเตเดชเตผ เด‰เตฝเดชเตเดชเดพเดฆเดจเด•เตเดทเดฎเดค เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดชเดฑเดฏเดพเด‚. เดคเดฐเด‚ เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เดณเดฟเดฒเตเดฒเดพเดคเต†, เด’เดฐเต เดซเด‚เด—เตโ€Œเดทเดจเดฟเดฒเต‡เด•เตเด•เต เดŽเดจเตเดคเต เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เตพ เด•เตˆเดฎเดพเดฑเดฃเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดซเด‚เด—เตโ€Œเดทเดจเต เดเดคเต เดคเดฐเด‚ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดพเดฎเต†เดจเตเดจเดคเต เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เดพเตป เดชเตเดฐเดฏเดพเดธเดฎเดพเดฃเต. เดŸเตˆเดชเตเดชเต เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเต† เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เดพเตป เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดณเตเดณ เดธเดพเดงเดพเดฐเดฃ เดšเต‹เดฆเตเดฏเด™เตเด™เตพ เด‡เดคเดพ:

  • เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดพเดฎเต‹ None?
  • เดˆ เดตเดพเดฆเด‚ เดŽเดจเตเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚? items?
  • เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดคเดฐเด‚ เดŽเดจเตเดคเดพเดฃเต id: int เด…เดคเดพเดฃเต‹, str, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดค เดคเดฐเด‚?
  • เดˆ เดตเดพเดฆเด‚ เด’เดฐเต เดชเดŸเตเดŸเดฟเด•เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเดฎเต‹? เด…เดคเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดŸเตเดฏเต‚เดชเตเดชเดฟเตพ เด•เดŸเดคเตเดคเดพเตป เด•เดดเดฟเดฏเตเดฎเต‹?

เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดพเด–เตเดฏเดพเดจ เด•เต‹เดกเต เดธเตโ€Œเดจเดฟเดชเตเดชเต†เดฑเตเดฑเต เดจเต‹เด•เตเด•เตเด•เดฏเตเด‚ เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เดšเต‹เดฆเตเดฏเด™เตเด™เตพเด•เตเด•เต เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเดพเตฝ, เด‡เดคเตŠเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดœเต‹เดฒเดฟเดฏเดพเดฃเต†เดจเตเดจเต เดฎเดพเดฑเตเดจเตเดจเต:

class Resource:
    id: bytes
    ...
    def read_metadata(self, 
                      items: Sequence[str]) -> Dict[str, MetadataItem]:
        ...

  • read_metadata เดคเดฟเดฐเดฟเด•เต† เดตเดฐเตเดจเตเดจเดฟเดฒเตเดฒ Noneเด•เดพเดฐเดฃเด‚ เดฑเดฟเดŸเตเดŸเต‡เตบ เดคเดฐเด‚ เด…เดฒเตเดฒ Optional[โ€ฆ].
  • เดตเดพเดฆเด‚ items เดตเดฐเดฟเด•เดณเตเดŸเต† เด’เดฐเต เด•เตเดฐเดฎเดฎเดพเดฃเต. เด‡เดคเต เด’เดฐเต เด•เตเดฐเดฎเดคเตเดคเดฟเดฒเตเด‚ เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.
  • เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต id เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด†เดฃเต.

เด’เดฐเต เด†เดฆเตผเดถ เดฒเต‹เด•เดคเตเดคเต, เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ (เดกเต‹เด•เตโ€ŒเดธเตเดŸเตเดฐเดฟเด‚เด—เต) เด…เดคเตเดคเดฐเด‚ เดธเต‚เด•เตเดทเตเดฎเดคเด•เดณเต†เดฒเตเดฒเดพเด‚ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เด’เดฐเดพเตพ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เต‡เดฃเตเดŸ เด•เต‹เดกเดฟเตฝ เด…เดคเตเดคเดฐเด‚ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเดฟเดจเต เด…เดจเตเดญเดตเด‚ เดงเดพเดฐเดพเดณเด‚ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต. เด…เดคเตเดคเดฐเด‚ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เด•เต‹เดกเดฟเตฝ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเดฟเดจเตเดฑเต† เดธเดฎเตเดชเต‚เตผเดฃเตเดฃ เด•เตƒเดคเตเดฏเดค เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เดˆ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒเดพเดคเตเดคเดคเตเด‚ เด•เตƒเดคเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดคเดคเตเด‚ เดคเต†เดฑเตเดฑเดฟเดฆเตเดงเดพเดฐเดฃเดฏเตเด•เตเด•เต เด‡เดŸเดฏเตเดณเตเดณเดคเตเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เดตเดฒเดฟเดฏ เดŸเต€เดฎเตเด•เดณเดฟเดฒเต‹ เดตเดฒเดฟเดฏ เดชเตเดฐเต‹เดœเด•เตเดŸเตเด•เดณเดฟเดฒเต‹, เดˆ เดชเตเดฐเดถเตเดจเด‚ เดตเดณเดฐเต† เดฐเต‚เด•เตเดทเดฎเดพเด•เตเด‚.

เด†เดฆเตเดฏเด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเต‹ เดฎเดงเตเดฏเด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเต‹ เด‰เดณเตเดณ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเดฟเตฝ เดชเตˆเดคเตเดคเตบ เดฎเดฟเด•เดตเต เดชเตเดฒเตผเดคเตเดคเตเดจเตเดจเตเดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚, เดšเดฟเดฒ เด˜เดŸเตเดŸเด™เตเด™เดณเดฟเตฝ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เตพเด•เตเด•เตเด‚ เดชเตˆเดคเตเดคเตบ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด•เดฎเตเดชเดจเดฟเด•เตพเด•เตเด•เตเด‚ เด’เดฐเต เดธเตเดชเตเดฐเดงเดพเดจ เดšเต‹เดฆเตเดฏเด‚ เดจเต‡เดฐเดฟเดŸเต‡เดฃเตเดŸเดฟ เดตเดจเตเดจเต‡เด•เตเด•เดพเด‚: โ€œเดžเด™เตเด™เตพ เดŽเดฒเตเดฒเดพเด‚ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เตเด•เดฒเดฟ เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตโ€Œเดค เดญเดพเดทเดฏเดฟเตฝ เดฎเดพเดฑเตเดฑเดฟเดฏเต†เดดเตเดคเดฃเต‹?โ€

mypy เดชเต‹เดฒเตเดณเตเดณ เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดกเดตเดฒเดชเตเดชเตผเด•เตเด•เต เดคเดฐเด™เตเด™เตพ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เด”เดชเดšเดพเดฐเดฟเด• เดญเดพเดท เดจเตฝเด•เดฟเด•เตเด•เตŠเดฃเตเดŸเต เดฎเตเด•เดณเดฟเตฝ เดชเดฑเดžเตเดž เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด† เดคเดฐเด‚ เดกเดฟเด•เตเดฒเดฑเต‡เดทเดจเตเด•เตพ เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฒเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเตเดฃเตเดŸเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต (เด“เดชเตเดทเดฃเดฒเดพเดฏเดฟ, เด…เดตเดฏเตเดŸเต† เดจเดฟเดฒเดจเดฟเตฝเดชเตเดชเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•). เดชเตŠเดคเตเดตเต‡, เดˆ เดธเด‚เดตเดฟเดงเดพเดจเด™เตเด™เตพ เดจเดฎเตเด•เตเด•เต เดถเตเดฐเดฆเตเดงเดพเดชเต‚เตผเดตเตเดตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเตเดฑเดชเตเดชเดฟเดšเตเดš เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเตฝเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดชเดฑเดฏเดพเด‚.

เด…เดคเตเดคเดฐเด‚ เดธเด‚เดตเดฟเดงเดพเดจเด™เตเด™เดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเต เดฎเดฑเตเดฑเต เด—เตเดฃเด™เตเด™เดณเตเดฃเตเดŸเต, เด…เดต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดฟเดธเตเดธเดพเดฐเดฎเดฒเตเดฒ:

  • เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เดšเดฟเดฒ เดšเต†เดฑเดฟเดฏ (เด…เดคเตเดฐ เดšเต†เดฑเตเดคเดฒเตเดฒเดพเดคเตเดค) เดชเดฟเดถเด•เตเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚. เด’เดฐเต เดฎเต‚เดฒเตเดฏเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเดพเตป เด…เดตเตผ เดฎเดฑเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เด‰เดฆเดพเดนเดฐเดฃเด‚ None เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดคเตเดฏเต‡เด• เด…เดตเดธเตเดฅ.
  • เดฑเต€เดซเดพเด•เตโ€ŒเดŸเดฑเดฟเด‚เด—เต เด•เต‹เดกเต เดตเดณเดฐเต† เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚ เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เตผ เดŽเดจเตเดคเต เด•เต‹เดกเต เดฎเดพเดฑเตเดฑเดฃเดฎเต†เดจเตเดจเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต. เด…เดคเต‡ เดธเดฎเดฏเด‚, เดžเด™เตเด™เตพ เด•เต‹เดกเดฟเดจเตเดฑเต† 100% เดŸเต†เดธเตเดฑเตเดฑเต เด•เดตเดฑเต‡เดœเดฟเตฝ เด†เดถเตเดฐเดฏเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ, เด…เดคเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดเดคเต เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเดฒเตเด‚ เด…เดธเดพเดงเตเดฏเดฎเดพเดฃเต. เดŽเดจเตเดคเดพเดฃเต เดคเต†เดฑเตเดฑเต เดŽเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดธเตเดฑเตเดฑเดพเด•เตเด•เต เดŸเตเดฐเต‡เดธเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เตพ เด†เดดเดคเตเดคเดฟเตฝ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ.
  • เดตเดฒเดฟเดฏ เดชเตเดฐเตŠเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเดฟเตฝ เดชเต‹เดฒเตเด‚, เดฎเตˆเดชเดฟเดฏเตโ€Œเด•เตเด•เต เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเต†เด•เตเด•เตปเดกเดฟเดจเตเดฑเต† เด’เดฐเต เด…เด‚เดถเด‚ เด•เตŠเดฃเตเดŸเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดคเดฐเด‚ เดชเดฐเดฟเดถเต‹เดงเดจ เดจเดŸเดคเตเดคเดพเตป เด•เดดเดฟเดฏเตเด‚. เด•เต‚เดŸเดพเดคเต† เดฑเดฃเตเดฃเดฟเด‚เด—เต เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดชเดคเดฟเดจเดพเดฏเดฟเดฐเด•เตเด•เดฃเด•เตเด•เดฟเดจเต เดธเต†เด•เตเด•เตปเดกเตเด•เดณเต‹ เดฎเดฟเดจเดฟเดฑเตเดฑเตเด•เดณเต‹ เดŽเดŸเตเด•เตเด•เตเด‚. เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตผเด•เตเด•เต เดคเตฝเด•เตเดทเดฃ เดซเต€เดกเตโ€Œเดฌเดพเด•เตเด•เต เดจเตฝเด•เตเด•เดฏเตเด‚ เด…เดตเดจเตเดฑเต† เดœเต‹เดฒเดฟ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดšเต†เดฏเตเดฏเดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดตเต‡เด—เดคเตเดคเดฟเดฒเตเดณเตเดณ เด•เต‹เดกเต เดŸเต†เดธเตเดฑเตเดฑเต เดซเดฒเด™เตเด™เตพ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดฏเดฅเดพเตผเดคเตเดฅ เดŽเดจเตเดฑเดฟเดฑเตเดฑเดฟเด•เดณเต† เดฎเต‹เด•เตเด•เตเด•เดณเตเด‚ เดชเดพเดšเตเดšเตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจ เดฆเตเตผเดฌเดฒเดตเตเด‚ เดชเดฐเดฟเดชเดพเดฒเดฟเด•เตเด•เดพเตป เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดณเตเดณเดคเตเดฎเดพเดฏ เดฏเต‚เดฃเดฟเดฑเตเดฑเต เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เด…เดฆเตเดฆเต‡เดนเดคเตเดคเดฟเดจเต เด‡เดจเดฟ เดŽเดดเตเดคเต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ.

PyCharm เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Visual Studio Code เดชเต‹เดฒเตเดณเตเดณ IDE-เด•เดณเตเด‚ เดŽเดกเดฟเดฑเตเดฑเตผเดฎเดพเดฐเตเด‚ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เต เดธเตเดตเดฏเดฎเต‡เดตเดฏเตเดณเตเดณ เด•เต‹เดกเต เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚, เดชเดฟเดถเด•เต เดนเตˆเดฒเตˆเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตฝ, เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดญเดพเดทเดพ เดจเดฟเตผเดฎเตเดฎเดพเดฃเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดŽเดจเตเดจเดฟเดต เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเต เดคเดฐเด‚ เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เดณเตเดŸเต† เดถเด•เตเดคเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดŸเตˆเดชเตเดชเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เดจเตฝเด•เตเดจเตเดจ เดšเดฟเดฒ เด—เตเดฃเด™เตเด™เตพ เด‡เดตเดฏเดพเดฃเต. เดšเดฟเดฒ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตผเดฎเดพเตผเด•เตเด•เต, เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดŸเตˆเดชเตเดชเดฟเด‚เด—เดฟเดจเต เด…เดจเตเด•เต‚เดฒเดฎเดพเดฏ เดชเตเดฐเดงเดพเดจ เดตเดพเดฆเดฎเดพเดฃเต. เด‡เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏ เด‰เดŸเตป เดคเดจเตเดจเต† เดจเต‡เดŸเตเดŸเด™เตเด™เตพ เด•เตŠเดฃเตเดŸเตเดตเดฐเตเดจเตเดจ เด’เดจเตเดจเดพเดฃเต. เดคเดฐเด™เตเด™เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เดˆ เด‰เดชเดฏเต‹เด— เด•เต‡เดธเดฟเดจเต mypy เดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดคเดฐเด‚ เดชเดฐเดฟเดถเต‹เดงเดจ เดธเด‚เดตเดฟเดงเดพเดจเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เด•เต‹เดกเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เตพ เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเดพเตป mypy เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต.

Mypy เดชเดถเตเดšเดพเดคเตเดคเดฒเด‚

เดžเดพเตป เดกเตเดฐเต‹เดชเตเดชเตเดฌเต‹เด•เตเดธเดฟเตฝ เดšเต‡เดฐเตเดจเตเดจเดคเดฟเดจเต เด•เตเดฑเดšเตเดšเต เดตเตผเดทเด™เตเด™เตพเด•เตเด•เต เดฎเตเดฎเตเดชเต เดฏเตเด•เต†เดฏเดฟเตฝ, เด•เต‡เด‚เดฌเตเดฐเดฟเดกเตเดœเดฟเตฝ, เดฎเตˆเดชเดฟ เดธเตเดฑเตเดฑเต‹เดฑเดฟ เด†เดฐเด‚เดญเดฟเดšเตเดšเต. เดŽเดจเตเดฑเต† เดกเต‹เด•เตเดŸเดฑเตฝ เด—เดตเต‡เดทเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏเดฟ, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เตเด•เดฒเดฟ เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดคเดคเตเด‚ เดšเดฒเดจเดพเดคเตเดฎเด•เดตเตเดฎเดพเดฏ เดญเดพเดทเด•เดณเต† เดเด•เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เดžเดพเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเต. เดœเต†เดฑเดฎเดฟ เดธเต€เด•เตเด•เดฟเดจเตเดฑเต†เดฏเตเด‚ เดตเดพเดฒเดฟเดฆเต เดคเดพเดนเดฟเดจเตเดฑเต†เดฏเตเด‚ เด‡เตปเด•เตเดฐเดฟเดฎเต†เดจเตเดฑเตฝ เดŸเตˆเดชเตเดชเดฟเด‚เด—เดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด’เดฐเต เดฒเต‡เด–เดจเดตเตเด‚ เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดค เดฑเดพเด•เตเด•เดฑเตเดฑเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด‚ เดŽเดจเดฟเด•เตเด•เต เดชเตเดฐเดšเต‹เดฆเดจเดฎเดพเดฏเดฟ. เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เด’เดฐเต‡ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดท เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเดดเดฟเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เดžเดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเต - เดšเต†เดฑเดฟเดฏ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เดฎเตเดคเตฝ เดฆเดถเดฒเด•เตเดทเด•เตเด•เดฃเด•เตเด•เดฟเดจเต เดตเดฐเดฟเด•เตพ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เต‹เดกเตเดฌเต‡เดธเตเด•เตพ เดตเดฐเต†. เด…เดคเต‡ เดธเดฎเดฏเด‚, เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเตเด•เต†เดฏเดฟเดฒเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเตฝ เดžเดพเตป เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดตเดฟเดŸเตเดŸเตเดตเต€เดดเตเดšเด•เตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเต. เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเดพเดคเตเดค เด’เดฐเต เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเดฎเด—เตเดฐเดฎเดพเดฏเดฟ เดชเดฐเต€เด•เตเดทเดฟเดšเตเดš, เดธเตเดฅเดฟเดฐเดฎเดพเดฏเดฟ เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตโ€Œเดค เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏ เด‰เตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เตเดฐเดฎเต‡เดฃ เดฎเดพเดฑเตเด• เดŽเดจเตเดจ เด†เดถเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต เด‡เดคเดฟเดจเตเดฑเต†เดฏเต†เดฒเตเดฒเดพเด‚ เด’เดฐเต เดชเตเดฐเดงเดพเดจ เดญเดพเด—เด‚. เดˆ เด†เดถเดฏเด™เตเด™เตพ เดˆ เดฆเดฟเดตเดธเด™เตเด™เดณเดฟเตฝ เดตเดฒเดฟเดฏเดคเต‹เดคเดฟเตฝ เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ 2010-เตฝ เด‡เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดธเดœเต€เดตเดฎเดพเดฏเดฟ เด—เดตเต‡เดทเดฃเด‚ เดจเดŸเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเดถเตเดจเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต.

เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เดฟเดฒเต† เดŽเดจเตเดฑเต† เดชเตเดฐเดพเดฐเด‚เดญ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดชเตˆเดคเตเดคเดฃเดฟเดจเต† เดฒเด•เตเดทเตเดฏเด‚ เดตเดšเตเดšเตเดณเตเดณเดคเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ. เดชเด•เดฐเด‚ เดžเดพเตป เด’เดฐเต เดšเต†เดฑเดฟเดฏ "เดตเต€เดŸเตเดŸเดฟเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดš" เดญเดพเดท เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดฒเต‹เตผ. เดžเด™เตเด™เตพ เดŽเดจเตเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเดพเดฃเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด†เดถเดฏเด‚ เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดคเดพ (เดคเดฐเด‚ เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เตพ เด“เดชเตเดทเดฃเดฒเดพเดฃเต):

def Fib(n as Int) as Int
  if n <= 1
    return n
  else
    return Fib(n - 1) + Fib(n - 2)
  end
end

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจเดฏเตเดŸเต† เดฒเดณเดฟเดคเดฎเดพเดฏ เดญเดพเดท เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดถเดพเดธเตเดคเตเดฐเต€เดฏ เด—เดตเต‡เดทเดฃเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดธเดฎเต€เดชเดจเดฎเดพเดฃเต. เด‡เดคเต เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เด‡เดคเต เดตเต‡เด—เดคเตเดคเดฟเตฝ เดชเดฐเต€เด•เตเดทเดฃเด™เตเด™เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด—เดตเต‡เดทเดฃเดคเตเดคเดฟเดจเต เดชเตเดฐเดธเด•เตเดคเดฎเดฒเตเดฒเดพเดคเตเดคเดคเต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เด…เดตเด—เดฃเดฟเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเดฟเดจเดพเดฒเตเด‚. เดฏเดฅเดพเตผเดคเตเดฅ เดœเต€เดตเดฟเดค เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเด•เตพ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เดจเดฟเตผเดตเตเดตเดนเดฃเด™เตเด™เดณเตเดณเตเดณ เดตเดฒเดฟเดฏ เดคเต‹เดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเดคเดฟเดญเดพเดธเด™เตเด™เดณเดพเดฃเต, เด‡เดคเต เดชเดฐเต€เด•เตเดทเดฃเด™เตเด™เดณเต† เดฎเดจเตเดฆเด—เดคเดฟเดฏเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฒเดณเดฟเดคเดฎเดพเดฏ เดญเดพเดทเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดเดคเตŠเดฐเต เดซเดฒเดตเตเด‚ เดธเด‚เดถเดฏเดพเดธเตเดชเดฆเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เดˆ เดซเดฒเด™เตเด™เตพ เดจเต‡เดŸเตเดจเตเดจเดคเดฟเตฝ เด—เดตเต‡เดทเด•เตป เดญเดพเดทเด•เดณเตเดŸเต† เดชเตเดฐเดพเดฏเต‹เด—เดฟเด• เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเต เดชเตเดฐเดงเดพเดจเดชเตเดชเต†เดŸเตเดŸ เดชเดฐเดฟเด—เดฃเดจเด•เตพ เดคเตเดฏเดœเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เดพเด‚.

Alore-เดจเตเดณเตเดณ เดŽเดจเตเดฑเต† เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เตผ เดตเดณเดฐเต† เดชเตเดฐเดคเต€เด•เตเดท เดจเตฝเด•เตเดจเตเดจเดคเดพเดฏเดฟ เด•เดพเดฃเดชเตเดชเต†เดŸเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ Alore-เตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเดพเดคเตเดค เดฏเดฅเดพเตผเดคเตเดฅ เด•เต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดคเต เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเต. เดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เด…เดฒเต‹เตผ เดญเดพเดท เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดฑเต† เด…เดคเต‡ เด†เดถเดฏเด™เตเด™เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดชเตˆเดคเตเดคเตบ เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเดฟเดฒเตเด‚ เดธเต†เดฎเดพเดจเตเดฑเดฟเด•เตโ€Œเดธเดฟเดฒเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดคเดฐเดคเตเดคเดฟเตฝ เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เตผ เดชเตเดจเตผเดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดตเดณเดฐเต† เดŽเดณเตเดชเตเดชเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต. เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเดฟเตฝ เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เต เดจเดŸเดคเตเดคเดพเตป เด‡เดคเต เดžเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเดšเตเดšเต. เด…เดฒเต‹เตผ เด•เต‹เดกเต เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเดพเด•เตเด•เดฟ เดฎเดพเดฑเตเดฑเดพเตป เดžเดพเตป เด’เดฐเต เดŸเตเดฐเดพเตปเดธเตโ€Œเดชเตˆเดฒเดฑเตเด‚ เดŽเดดเตเดคเดฟ, เด…เดคเต เดŽเดจเตเดฑเต† เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เตผ เด•เต‹เดกเต เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เด‡เดชเตเดชเต‹เตพ เดŽเดจเดฟเด•เตเด•เต เดชเตˆเดคเตเดคเดฃเดฟเตฝ เดŽเดดเตเดคเดฟเดฏ เด’เดฐเต เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดคเต เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดฑเต† เด’เดฐเต เด‰เดชเดตเดฟเดญเดพเด—เดคเตเดคเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต, เด† เดญเดพเดทเดฏเตเดŸเต† เดšเดฟเดฒ เดตเตเดฏเดคเดฟเดฏเดพเดจเด™เตเด™เตพ! (เด…เดฒเต‹เดฑเดฟเดจเต เด…เตผเดคเตเดฅเดฎเตเดณเตเดณ เดšเดฟเดฒ เดตเดพเดธเตเดคเตเดตเดฟเดฆเตเดฏเดพ เดคเต€เดฐเตเดฎเดพเดจเด™เตเด™เตพ เดชเตˆเดคเตเดคเดฃเดฟเดจเต เดตเดณเดฐเต† เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดฒเตเดฒ; เดฎเตˆเดชเดฟ เด•เต‹เดกเตเดฌเต‡เดธเดฟเดจเตเดฑเต† เดšเดฟเดฒ เดญเดพเด—เด™เตเด™เดณเดฟเตฝ เด‡เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดชเตเดฐเด•เดŸเดฎเดพเดฃเต.)

เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดŽเดจเตเดฑเต† เดŸเตˆเดชเตเดชเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ เดญเดพเดทเดฏเต† เด‡เดชเตเดชเต‹เตพ เดชเตˆเดคเตเดคเตบ เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ: เดชเตˆเดคเตเดคเตบ 3-เดจเตเดฑเต† เดŸเตˆเดชเตเดชเต เดตเตเดฏเดพเด–เตเดฏเดพเดจ เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเตเดŸเต† เดšเดฟเดฒ เดชเดฐเดฟเดฎเดฟเดคเดฟเด•เตพ เด•เดพเดฐเดฃเด‚ เด‡เดคเต เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดฑเต† เด’เดฐเต เดตเด•เดญเต‡เดฆเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต.

เด‡เดคเต เดœเดพเดตเดฏเตเดŸเต†เดฏเตเด‚ เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดฑเต†เดฏเตเด‚ เดฎเดฟเดถเตเดฐเดฟเดคเด‚ เดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดŸเต:

int fib(int n):
    if n <= 1:
        return n
    else:
        return fib(n - 1) + fib(n - 2)

เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดฑเต† เดˆ เดซเตเดฒเต‡เดตเตผ เดธเดฟเดฏเดฟเดฒเต‡เดฏเตเด•เตเด•เต‹ เด’เดฐเตเดชเด•เตเดทเต‡ เดœเต†เดตเดฟเดŽเด‚ เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเดฟเดฒเต‡เด•เตเด•เต‹ เดธเดฎเดพเดนเดฐเดฟเดšเตเดšเต เดชเตเดฐเด•เดŸเดจเด‚ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดŸเตˆเดชเตเดชเต เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต เด…เด•เตเด•เดพเดฒเดคเตเดคเต† เดŽเดจเตเดฑเต† เด†เดถเดฏเด™เตเด™เดณเดฟเดฒเตŠเดจเตเดจเต. เดžเดพเตป เด’เดฐเต เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด•เด‚เดชเตˆเดฒเตผ เดŽเดดเตเดคเตเดจเตเดจ เด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเต†เดคเตเดคเดฟ, เดชเด•เตเดทเต‡ เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เดฟเด‚เด—เต เดคเดจเตเดจเต† เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเดฟเดฏเดคเดฟเดจเดพเตฝ เดˆ เด†เดถเดฏเด‚ เด‰เดชเต‡เด•เตเดทเดฟเดšเตเดšเต.

เดธเดพเดจเตเดคเดพ เด•เตเดฒเดพเดฐเดฏเดฟเดฒเต† PyCon 2013-เตฝ เดžเดพเตป เดŽเดจเตเดฑเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเต. เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดฑเต† เดœเต€เดตเด•เดพเดฐเตเดฃเตเดฏ เดธเตเดตเต‡เดšเตเด›เดพเดงเดฟเดชเดคเดฟเดฏเดพเดฏ เด—เตˆเดกเต‹ เดตเดพเตป เดฑเต‹เดธเตเดธเตเดฎเดพเดฏเตเด‚ เดžเดพเตป เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดธเด‚เดธเดพเดฐเดฟเดšเตเดšเต. เดŽเดจเตเดฑเต† เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดค เดตเดพเด•เตเดฏเด˜เดŸเดจ เด’เดดเดฟเดตเดพเด•เตเด•เดฟ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดชเตˆเดคเตเดคเตบ 3 เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเดฟเตฝ เด‰เดฑเดšเตเดšเตเดจเดฟเตฝเด•เตเด•เดพเตป เด…เดฆเตเดฆเต‡เดนเด‚ เดŽเดจเตเดจเต† เดฌเต‹เดงเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ. เดชเตˆเดคเตเดคเตบ 3 เดซเด‚เด—เตโ€Œเดทเตป เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดŽเดจเตเดฑเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดตเต€เดฃเตเดŸเตเด‚ เดŽเดดเตเดคเดพเด‚, เด…เดคเดฟเดจเตเดฑเต† เดซเดฒเดฎเดพเดฏเดฟ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดชเตˆเดคเตเดคเตบ เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚:

def fib(n: int) -> int:
    if n <= 1:
        return n
    else:
        return fib(n - 1) + fib(n - 2)

เดŽเดจเดฟเด•เตเด•เต เดšเดฟเดฒ เดตเดฟเดŸเตเดŸเตเดตเต€เดดเตเดšเด•เตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดฟ เดตเดจเตเดจเต (เด†เดฆเตเดฏเดฎเดพเดฏเดฟ, เดžเดพเตป เดŽเดจเตเดฑเต† เดธเตเดตเดจเตเดคเด‚ เดตเดพเด•เตเดฏเด˜เดŸเดจ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเดšเตเดšเดคเต เด…เดคเดฟเดจเดพเดฒเดพเดฃเต เดŽเดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต). เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚, เด…เด•เตเด•เดพเดฒเดคเตเดคเต† เดญเดพเดทเดฏเตเดŸเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดพเดฏ เดชเตˆเดคเตเดคเตบ 3.3, เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เดณเต† เดชเดฟเดจเตเดคเตเดฃเดšเตเดšเดฟเดฒเตเดฒ. เด…เดคเตเดคเดฐเด‚ เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดตเดฟเดตเดฟเดง เดตเดพเด•เตเดฏเด˜เดŸเดจ เด“เดชเตเดทเดจเตเด•เตพ เดžเดพเตป เด—เตˆเดกเต‹เดฏเตเดฎเดพเดฏเดฟ เด‡เดฎเต†เดฏเดฟเตฝ เดตเดดเดฟ เดšเตผเดšเตเดš เดšเต†เดฏเตเดคเต. เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดŸเตˆเดชเตเดชเต เด•เดฎเดจเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เด‡เดคเต เดฒเด•เตเดทเตเดฏเด‚ เดจเต‡เดŸเดฟ, เดชเด•เตเดทเต‡ เด…เตฝเดชเตเดชเด‚ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดณเตเดณเดคเดพเดฏเดฟ เด•เดพเดฃเดชเตเดชเต†เดŸเตเดŸเต (เดชเตˆเดคเตเดคเตบ 3.6 เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดจเดฒเตเดฒ เดตเดพเด•เตเดฏเด˜เดŸเดจ เดจเตฝเด•เดฟ):

products = []  # type: List[str]  # Eww

เดŸเตˆเดชเตเดชเต เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดชเดฟเดจเตเดคเตเดฃเดฏเดฟเดฒเตเดฒเดพเดคเตเดค เดชเตˆเดคเตเดคเตบ 2-เดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดŸเตˆเดชเตเดชเต เด•เดฎเดจเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต:

f fib(n):
    # type: (int) -> int
    if n <= 1:
        return n
    else:
        return fib(n - 1) + fib(n - 2)

เดˆ (เดฎเดฑเตเดฑเต) เดตเดฟเดŸเตเดŸเตเดตเต€เดดเตเดšเด•เตพ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดชเตเดฐเดถเตเดจเดฎเดฒเตเดฒเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดฏเดฟ - เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดŸเตˆเดชเตเดชเดฟเด‚เด—เดฟเดจเตเดฑเต† เดชเตเดฐเดฏเต‹เดœเดจเด™เตเด™เตพ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเดณเดฐเต† เด•เตเดฑเดตเตเดณเตเดณ เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด‰เดŸเตป เดฎเดฑเดจเตเดจเต เดŽเดจเตเดจเดพเดฃเต. เดคเดฐเด™เตเด™เดณเต† เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเต เดชเตเดฐเดคเตเดฏเต‡เด• เดตเดพเด•เตเดฏเด˜เดŸเดจ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเตเดคเดคเดฟเดจเดพเตฝ, เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดชเตˆเดคเตเดคเตบ เดŸเต‚เดณเตเด•เดณเตเด‚ เด•เต‹เดกเต เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เดณเตเด‚ เดธเดพเดงเดพเดฐเดฃ เดจเดฟเดฒเดฏเดฟเตฝ เดคเตเดŸเตผเดจเตเดจเต, เดชเตเดคเดฟเดฏ เดŸเต‚เตพ เดชเด เดฟเด•เตเด•เตเดจเตเดจเดคเต เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เต เดตเดณเดฐเต† เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด•เดฟ.

เดŽเดจเตเดฑเต† เดธเต€เดจเดฟเดฏเตผ เดคเต€เดธเดฟเดธเต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟเดฏ เดถเต‡เดทเด‚ เดกเตเดฐเต‹เดชเตเดชเตเดฌเต‹เด•เตเดธเดฟเตฝ เดšเต‡เดฐเดพเตป เด—เตˆเดกเต‹ เดŽเดจเตเดจเต† เดฌเต‹เดงเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ. เดฎเตˆเดชเดฟเดฏเตเดŸเต† เดšเดฐเดฟเดคเตเดฐเดคเตเดคเดฟเดฒเต† เดเดฑเตเดฑเดตเตเด‚ เดฐเดธเด•เดฐเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด‚ เด‡เดตเดฟเดŸเต† เดคเตเดŸเด™เตเด™เตเดจเตเดจเต.

เดคเตเดŸเดฐเต‡เดฃเตเดŸเดคเต ...

เดชเตเดฐเดฟเดฏ เดตเดพเดฏเดจเด•เตเด•เดพเตผ! เดจเดฟเด™เตเด™เตพ เดชเตˆเดคเตเดคเตบ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดˆ เดญเดพเดทเดฏเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดธเตเด•เต†เดฏเดฟเดฒเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•.

เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเดฟเดจเตเดฑเต† 4 เดฆเดถเดฒเด•เตเดทเด‚ เดฒเตˆเดจเตเด•เตพ เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดพเดค. เดญเดพเด—เด‚ 1
เดชเตˆเดคเตเดคเตบ เด•เต‹เดกเดฟเดจเตเดฑเต† 4 เดฆเดถเดฒเด•เตเดทเด‚ เดฒเตˆเดจเตเด•เตพ เดŸเตˆเดชเตเดชเต เดšเต†เด•เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดพเดค. เดญเดพเด—เด‚ 1

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

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