เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ 4 เจฎเจฟเจฒเฉ€เจ…เจจ เจฒเจพเจˆเจจเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเจพ เจฎเจพเจฐเจ—เฅค เจญเจพเจ— 1

เจ…เฉฑเจœ เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจกเฉ‡ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ‡ เจ…เจจเฉเจตเจพเจฆ เจฆเจพ เจชเจนเจฟเจฒเจพ เจนเจฟเฉฑเจธเจพ เจฒเจฟเจ†เจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจกเฉเจฐเฉŒเจชเจฌเจพเจ•เจธ เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจฆเฉ‡ เจŸเจพเจˆเจช เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ 4 เจฎเจฟเจฒเฉ€เจ…เจจ เจฒเจพเจˆเจจเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเจพ เจฎเจพเจฐเจ—เฅค เจญเจพเจ— 1

เจกเฉเจฐเฉŒเจชเจฌเจพเจ•เจธ เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจ•เฉเจ เจฒเจฟเจ–เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• เจ…เจœเจฟเจนเฉ€ เจญเจพเจธเจผเจพ เจนเฉˆ เจœเจฟเจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจฌเฉˆเจ•-เจเจ‚เจก เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจ•เจฒเจพเจ‡เฉฐเจŸ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจฌเจนเฉเจค เจตเจฟเจ†เจชเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เจธเฉ€เจ‚ Go, TypeScript เจ…เจคเฉ‡ Rust เจฆเฉ€ เจตเฉ€ เจฌเจนเฉเจค เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจชเจฐ เจชเจพเจˆเจฅเจจ เจธเจพเจกเฉ€ เจฎเฉเฉฑเจ– เจญเจพเจธเจผเจพ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจชเฉˆเจฎเจพเจจเฉ‡ 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจฆเฉ€เจ†เจ‚ เจฒเฉฑเจ–เจพเจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚, เจ‡เจน เจชเจคเจพ เจšเจฒเจฟเจ† เจ•เจฟ เจ…เจœเจฟเจนเฉ‡ เจ•เฉ‹เจก เจฆเฉ€ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจจเฉ‡ เจฌเฉ‡เจฒเฉ‹เฉœเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจธเจฎเจ เจจเฉ‚เฉฐ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจฌเจฃเจพ เจฆเจฟเฉฑเจคเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฟเจฐเจค เจ‰เจคเจชเจพเจฆเจ•เจคเจพ เจจเฉ‚เฉฐ เจ—เฉฐเจญเฉ€เจฐเจคเจพ เจจเจพเจฒ เจชเฉเจฐเจญเจพเจตเจฟเจค เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจนเฉŒเจฒเฉ€-เจนเฉŒเจฒเฉ€ เจฎเจพเจˆเจชเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ†เจชเจฃเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจธเจฅเจฟเจฐ เจ•เจฟเจธเจฎ เจฆเฉ€ เจœเจพเจ‚เจš เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค เจ‡เจน เจธเจผเจพเจ‡เจฆ เจชเจพเจˆเจฅเจจ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจชเฉเจฐเจธเจฟเฉฑเจง เจธเจŸเฉˆเจ‚เจกเจ…เจฒเฉ‹เจจ เจŸเจพเจˆเจช เจšเฉˆเจ•เจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจนเฉˆเฅค เจฎเจพเจˆเจชเฉ€ เจ‡เฉฑเจ• เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจนเฉˆ, เจ‡เจธเจฆเฉ‡ เจฎเฉเฉฑเจ– เจกเจฟเจตเฉˆเจฒเจชเจฐ เจกเฉเจฐเฉŒเจชเจฌเจพเจ•เจธ เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

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

โ†’ เจฆเฉ‚เจœเจพ เจญเจพเจ— เจชเฉœเฉเจนเฉ‹

เจŸเจพเจˆเจช เจœเจพเจ‚เจš เจ•เจฟเจ‰เจ‚ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ?

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เจฆเฉ‡ เจกเจพเจ‡เจจเจพเจฎเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจŸเจพเจˆเจช เจ•เฉ€เจคเฉ‡ เจชเจพเจˆเจฅเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจ‰เจฒเจเจฃ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš เจธเจฅเจฟเจฐ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจ…เจคเฉ‡ เจฎเจพเจˆเจชเฉ€ เจฆเฉ‡ เจ†เจฒเฉ‡ เจฆเฉเจ†เจฒเฉ‡ เจ‡เฉฐเจจเฉ€ เจ—เฉœเจฌเฉœ เจ•เจฟเจ‰เจ‚ เจนเฉ‹เจˆ เจนเฉˆเฅค เจœเจพเจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจชเจพเจˆเจฅเจจ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจฆเฉ‡ เจ•เจพเจฐเจจ เจฌเจฟเจฒเจ•เฉเจฒ เจชเจธเฉฐเจฆ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจœเฉ‹ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ เจ‰เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจฐเฉ‡เจธเจผเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจฅเจฟเจฐ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจฆเฉ€ เจ•เฉเฉฐเจœเฉ€ เจนเฉฑเจฒเจพเจ‚ เจฆเจพ เจชเฉˆเจฎเจพเจจเจพ เจนเฉˆ: เจคเฉเจนเจพเจกเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจœเจฟเฉฐเจจเจพ เจตเฉฑเจกเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจคเฉเจธเฉ€เจ‚ เจธเจฅเจฟเจฐ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจตเฉฑเจฒ เจœเจฟเฉฐเจจเจพ เจœเจผเจฟเจ†เจฆเจพ เจเฉเจ•เจพเจ“เจ—เฉ‡, เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

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

  • เจ•เฉ€ เจ‡เจน เจซเฉฐเจ•เจธเจผเจจ เจตเจพเจชเจธ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ 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 เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเจคเจฐ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจ†เจฆเจฐเจธเจผ เจธเฉฐเจธเจพเจฐ เจตเจฟเฉฑเจš, เจ•เฉ‹เจˆ เจ‰เจฎเฉ€เจฆ เจ•เจฐเฉ‡เจ—เจพ เจ•เจฟ เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจธเฉ‚เจ–เจฎเจคเจพเจตเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ (เจกเจพเจ•เจธเจŸเฉเจฐเจฟเฉฐเจ—) เจตเจฟเฉฑเจš เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจชเจฐ เจคเจœเจฐเจฌเจพ เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ€เจ†เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ…เจœเจฟเจนเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ…เจ•เจธเจฐ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจตเฉ‡เจ–เฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจœเจฟเจธ เจจเจพเจฒ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ. เจญเจพเจตเฉ‡เจ‚ เจ…เจœเจฟเจนเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจนเจจ, เจ•เฉ‹เจˆ เจตเฉ€ เจ‡เจธเจฆเฉ€ เจชเฉ‚เจฐเจจ เจธเจผเฉเฉฑเจงเจคเจพ 'เจคเฉ‡ เจญเจฐเฉ‹เจธเจพ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพเฅค เจ‡เจน เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ…เจธเจชเจธเจผเจŸ, เจ—เจฒเจค, เจ…เจคเฉ‡ เจ—เจฒเจคเจซเจนเจฟเจฎเฉ€เจ†เจ‚ เจฒเจˆ เจ–เฉเฉฑเจฒเฉ‡ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจตเฉฑเจกเฉ€เจ†เจ‚ เจŸเฉ€เจฎเจพเจ‚ เจœเจพเจ‚ เจตเฉฑเจกเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš, เจ‡เจน เจธเจฎเฉฑเจธเจฟเจ† เจฌเจนเฉเจค เจ—เฉฐเจญเฉ€เจฐ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจชเจพเจ‡เจฅเจจ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจœเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐเจฒเฉ‡ เจชเฉœเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ‰เฉฑเจคเจฎ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ•เจฟเจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจซเจฒ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจ…เจคเฉ‡ เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ เจœเฉ‹ เจชเจพเจˆเจฅเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจฃ เจธเจตเจพเจฒ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเฉˆ เจธเจ•เจฆเจพ เจนเฉˆ: "เจ•เฉ€ เจธเจพเจจเฉ‚เฉฐ เจธเจญ เจ•เฉเจ เจธเจฅเจฟเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจŸเจพเจˆเจช เจ•เฉ€เจคเฉ€ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ?"เฅค

เจฎเจพเจˆเจชเฉ€ เจตเจฐเจ—เฉ‡ เจŸเจพเจˆเจช เจšเฉˆเจ•เจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจจเฉ‚เฉฐ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจฐเจธเจฎเฉ€ เจญเจพเจธเจผเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจ•เฉ‡, เจ…เจคเฉ‡ เจ‡เจน เจœเจพเจ‚เจš เจ•เฉ‡ เจ•เจฟ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจ˜เฉ‹เจธเจผเจฃเจพเจตเจพเจ‚ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ (เจ…เจคเฉ‡, เจตเจฟเจ•เจฒเจชเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจ•เฉ‡) เจ‰เจชเจฐเฉ‹เจ•เจค เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจ•เจนเจฟ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‡เจน เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจธเจพเจกเฉ‡ เจจเจฟเจชเจŸเจพเจฐเฉ‡ เจตเจฟเฉฑเจš เจ•เฉเจ เจ…เจœเจฟเจนเจพ เจฐเฉฑเจ–เจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจงเจฟเจ†เจจ เจจเจพเจฒ เจœเจพเจ‚เจšเฉ‡ เจ—เจ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฅค

เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ‡ เจนเฉ‹เจฐ เจซเจพเจ‡เจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจ‰เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ—เฉˆเจฐ-เจฎเจพเจฎเฉ‚เจฒเฉ€ เจนเจจ:

  • เจŸเจพเจˆเจช เจšเฉˆเจ•เจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจ•เฉเจ เจ›เฉ‹เจŸเฉ€เจ†เจ‚ (เจ…เจคเฉ‡ เจ‡เฉฐเจจเฉ€เจ†เจ‚ เจ›เฉ‹เจŸเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚) เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจ†เจฎ เจ‰เจฆเจพเจนเจฐเจฃ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ‰เจน เจ‡เฉฑเจ• เจฎเฉเฉฑเจฒ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจจเจพ เจญเฉเฉฑเจฒ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ None เจœเจพเจ‚ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจตเจฟเจธเจผเฉ‡เจธเจผ เจธเจฅเจฟเจคเฉ€เฅค
  • เจ•เฉ‹เจก เจฐเฉ€เจซเฉˆเจ•เจŸเจฐเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจฐเจฒ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจŸเจพเจˆเจช เจšเฉˆเจ•เจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจ…เจ•เจธเจฐ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจฌเจนเฉเจค เจธเจนเฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจนเฉœเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚, เจธเจพเจจเฉ‚เฉฐ เจŸเฉˆเจธเจŸเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ 100% เจ•เฉ‹เจก เจ•เจตเจฐเฉ‡เจœ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจจเจนเฉ€เจ‚ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจ•เจพเจฐเจจ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจธเจŸเฉˆเจ• เจŸเจฐเฉ‡เจธ เจฆเฉ€ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจตเจฟเฉฑเจš เจœเจพเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค
  • เจตเฉฑเจกเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ 'เจคเฉ‡ เจตเฉ€, mypy เจ…เจ•เจธเจฐ เจ‡เฉฑเจ• เจธเจ•เจฟเฉฐเจŸ เจฆเฉ‡ เจ‡เฉฑเจ• เจนเจฟเฉฑเจธเฉ‡ เจตเจฟเฉฑเจš เจชเฉ‚เจฐเฉ€ เจ•เจฟเจธเจฎ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เจˆ เจธเจ•เจฟเฉฐเจŸ เจœเจพเจ‚ เจฎเจฟเฉฐเจŸ เจฒเฉฑเจ—เจฆเฉ‡ เจนเจจเฅค เจŸเจพเจˆเจช เจšเฉˆเจ•เจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐ เจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจซเฉ€เจกเจฌเฉˆเจ• เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจธเจจเฉ‚เฉฐ เจ†เจชเจฃเจพ เจ•เฉฐเจฎ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจ•เจฐเจจ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‰เจธ เจจเฉ‚เฉฐ เจนเฉเจฃ เจ‡เจ•เจพเจˆ เจŸเฉˆเจธเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจ‡เจฎ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจจเจพเจœเจผเฉเจ• เจ…เจคเฉ‡ เจธเจ–เจผเจค เจฒเจฟเจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเฉ‹ เจ•เฉ‹เจก เจŸเฉˆเจธเจŸ เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจ…เจธเจฒ เจ‡เจ•เจพเจˆเจ†เจ‚ เจจเฉ‚เฉฐ เจจเจ•เจฒเฉ€ เจ…เจคเฉ‡ เจชเฉˆเจšเจพเจ‚ เจจเจพเจฒ เจฌเจฆเจฒเจฆเฉ‡ เจนเจจเฅค

IDEs เจ…เจคเฉ‡ เจธเฉฐเจชเจพเจฆเจ• เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ PyCharm เจœเจพเจ‚ เจตเจฟเจœเจผเฉ‚เจ…เจฒ เจธเจŸเฉ‚เจกเฉ€เจ“ เจ•เฉ‹เจก เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉ‹เจก เจธเฉฐเจชเฉ‚เจฐเจจเจคเจพ, เจ—เจฒเจคเฉ€ เจจเฉ‚เฉฐ เจ‰เจœเจพเจ—เจฐ เจ•เจฐเจจ, เจ…เจคเฉ‡ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจญเจพเจธเจผเจพ เจฆเฉ‡ เจจเจฟเจฐเจฎเจพเจฃ เจฒเจˆ เจธเจนเจพเจ‡เจคเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆ เจŸเจพเจˆเจช เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจฆเฉ€ เจธเจผเจ•เจคเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ…เจคเฉ‡ เจ‡เจน เจŸเจพเจˆเจชเจฟเฉฐเจ— เจฆเฉ‡ เจ•เฉเจ เจซเจพเจ‡เจฆเฉ‡ เจนเจจเฅค เจ•เฉเจ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐเจพเจ‚ เจฒเจˆ, เจ‡เจน เจธเจญ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจฆเฉ‡ เจนเฉฑเจ• เจตเจฟเฉฑเจš เจฎเฉเฉฑเจ– เจฆเจฒเฉ€เจฒ เจนเฉˆเฅค เจ‡เจน เจ‰เจน เจšเฉ€เจœเจผ เจนเฉˆ เจœเฉ‹ เจฒเจพเจ—เฉ‚ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจคเฉเจฐเฉฐเจค เจฌเจพเจ…เจฆ เจฒเจพเจญ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ. เจ•เจฟเจธเจฎเจพเจ‚ เจฒเจˆ เจ‡เจธ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ‡ เจ•เฉ‡เจธ เจฒเจˆ 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

เจ‡เฉฑเจ• เจธเจฐเจฒ เจฎเฉ‚เจฒ เจญเจพเจธเจผเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจตเจฟเจ—เจฟเจ†เจจเจ• เจ–เฉ‹เจœ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพเจฃ เจตเจพเจฒเฉ€ เจ‡เฉฑเจ• เจ†เจฎ เจชเจนเฉเฉฐเจš เจนเฉˆเฅค เจ‡เจน เจ‡เจธ เจฒเจˆ เจนเฉˆ, เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจจเจนเฉ€เจ‚ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจชเฉเจฐเจฏเฉ‹เจ— เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ•เจพเจฐเจจ เจตเฉ€ เจ•เจฟ เจ–เฉ‹เจœ เจจเจพเจฒ เจœเจฟเจธเจฆเจพ เจ•เฉ‹เจˆ เจฒเฉˆเจฃเจพ-เจฆเฉ‡เจฃเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ‰เจธเจจเฉ‚เฉฐ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจจเจœเจผเจฐเจ…เฉฐเจฆเจพเจœเจผ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เจธเจฒ-เจธเฉฐเจธเจพเจฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจ…เจฎเจฒเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจตเฉฑเจกเฉ‡ เจชเฉˆเจฎเจพเจจเฉ‡ เจฆเฉ€เจ†เจ‚ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจ…เจคเฉ‡ เจ‡เจน เจชเฉเจฐเจฏเฉ‹เจ— เจจเฉ‚เฉฐ เจนเฉŒเจฒเฉ€ เจ•เจฐ เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เฉฑเจ• เจธเจฐเจฒ เจญเจพเจธเจผเจพ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจ•เฉ‹เจˆ เจตเฉ€ เจจเจคเฉ€เจœเฉ‡ เจฅเฉ‹เฉœเฉ‡ เจธเจผเฉฑเจ•เฉ€ เจฒเฉฑเจ—เจฆเฉ‡ เจนเจจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจนเจจเจพเจ‚ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ–เฉ‹เจœเจ•เจฐเจคเจพ เจจเฉ‡ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฟเจนเจพเจฐเจ• เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจตเจฟเจšเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฐเจฌเจพเจจ เจ•เฉ€เจคเจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ…เจฒเฉ‹เจฐเฉ‡ เจฒเจˆ เจฎเฉ‡เจฐเจพ เจŸเจพเจˆเจช เจšเฉˆเจ•เจฐ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจฒเฉฑเจ— เจฐเจฟเจนเจพ เจธเฉ€, เจชเจฐ เจฎเฉˆเจ‚ เจ…เจธเจฒ เจ•เฉ‹เจก เจจเจพเจฒ เจชเฉเจฐเจฏเฉ‹เจ— เจ•เจฐเจ•เฉ‡ เจ‡เจธเจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจธเฉ€, เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจ•เจนเจฟ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ…เจฒเฉ‹เจฐ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ เจฎเฉ‡เจฐเฉ‡ เจฒเจˆ, เจ…เจฒเฉ‹เจฐ เจญเจพเจธเจผเจพ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจชเจพเจ‡เจฅเจจ เจฆเฉ‡ เจธเจฎเจพเจจ เจตเจฟเจšเจพเจฐเจพเจ‚ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจธเฉ€เฅค เจŸเจพเจˆเจช-เจšเฉˆเจ•เจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ เจ•เจพเจซเจผเฉ€ เจ†เจธเจพเจจ เจธเฉ€ เจคเจพเจ‚ เจœเฉ‹ เจ‡เจน เจชเจพเจˆเจฅเจจ เจฆเฉ‡ เจธเฉฐเจŸเฉˆเจ•เจธ เจ…เจคเฉ‡ เจธเจฟเจฎเฉˆเจ‚เจŸเจฟเจ•เจธ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เฉ‡เฅค เจ‡เจธเจจเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจŸเจพเจˆเจช เจšเฉˆเฉฑเจ• เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฑเจคเฉ€เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฎเฉˆเจ‚ เจ…เจฒเฉ‹เจฐเฉ‡ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจชเจพเจˆเจฅเจจ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฒเจˆ เจ‡เฉฑเจ• เจŸเฉเจฐเจพเจ‚เจธเจชเจพเจˆเจฒเจฐ เจฒเจฟเจ–เจฟเจ† เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฎเฉ‡เจฐเฉ‡ เจŸเจพเจˆเจชเจšเฉˆเจ•เจฐ เจ•เฉ‹เจก เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ†เฅค เจนเฉเจฃ เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ‡เฉฑเจ• เจŸเจพเจˆเจช เจšเฉˆเจ•เจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจธเฉ€ เจœเฉ‹ เจชเจพเจˆเจฅเจจ เจฆเฉ‡ เจ‡เฉฑเจ• เจ‰เจช เจธเจฎเฉ‚เจน เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจธเฉ€, เจ•เจฟเจธเฉ‡ เจ•เจฟเจธเจฎ เจฆเฉ€ เจญเจพเจธเจผเจพ! (เจ•เฉเจ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐเจฒ เจซเฉˆเจธเจฒเฉ‡ เจœเฉ‹ เจ…เจฒเฉ‹เจฐ เจฒเจˆ เจธเจฎเจเจฆเจพเจฐ เจธเจจ, เจชเจพเจˆเจฅเจจ เจฒเจˆ เจฎเจพเฉœเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจธเจจ, เจ…เจคเฉ‡ เจ‡เจน เจ…เจœเฉ‡ เจตเฉ€ เจฎเจพเจˆเจชเฉ€ เจ•เฉ‹เจกเจฌเฉ‡เจธ เจฆเฉ‡ เจ•เฉเจ เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆเฅค)

เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจฎเฉ‡เจฐเฉ‡ เจŸเจพเจˆเจช เจธเจฟเจธเจŸเจฎ เจฆเฉเจ†เจฐเจพ เจธเจฎเจฐเจฅเจฟเจค เจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจชเจพเจ‡เจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฟเจนเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ: เจ‡เจน เจชเจพเจˆเจฅเจจ 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

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