ΠΒ Π²ΠΎΡ Π±Π΅Π΄Π° ΠΈΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π°Β β ΠΎΡΠΊΠ°Π· Π΄Π°ΡΡΠΈΠΊΠ° ΠΏΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ΅. ΠΠ΄Π΅ΡΡ Π²ΡΡΠ΄ Π»ΠΈΒ ΠΎΠ±ΠΎΠΉΠ΄Π΅ΡΠ΅ΡΡ Π±Π΅Π· ΠΏΠΎΠ΅Π·Π΄ΠΊΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΒ Ρ
ΠΎΡΠΎΡΠ΅ΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ (ΡΡΠΎΡΠ½ΠΈΠ΅ Π²Β ΠΏΡΠΎΠ±ΠΊΠ΅ Π½Π΅Β Π³ΠΎΠ΄ΠΈΡΡΡ!). Π§Π΅ΠΌ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΡΠΈΠ³Π½Π°Π»? ΠΡΠΆΠ΅Π½ ΡΠΊΠ°Π½Π΅Ρ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ½ΠΎΠΉ ΠΌΠΎΡΠΎΡ-ΡΠ΅ΡΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°Ρ. ΠΠ°Β Ρ
ΡΠ΄ΠΎΠΉ ΠΊΠΎΠ½Π΅Ρ, ΠΌΡΠ»ΡΡΠΈΠΌΠ΅ΡΡ ΡΒ Π²ΡΡΠΎΠΊΠΈΠΌ Π²Ρ
ΠΎΠ΄Π½ΡΠΌ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ°ΠΊ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠ°ΠΊ Π½Π°Β ΡΠΈΡ. 2: ΡΠΈΠ³Π½Π°Π» ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΠΊΠ°Π· Π΄Π°ΡΡΠΈΠΊΠ°. ΠΒ Π½Π°Β ΡΠΈΡ. 3Β Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ: Π²Β Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠ»ΠΎΒ β ΠΏΡΠΈΠ·Π½Π°ΠΊ ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ Π²Β ΡΠΈΠ³Π½Π°Π»Π΅ ΡΒ Π΄Π°ΡΡΠΈΠΊΠ°. ΠΡΠ°Π²Π΅Π΅Β β ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π³Π°Π·ΠΎΠ²ΠΊΠ°Ρ
. ΠΠ΄Π΅ΡΡ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡ Π²Β Β«ΠΏΠ»ΡΡΒ» ΠΈΒ Β«ΠΌΠΈΠ½ΡΡΒ» ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠ»ΡΒ β ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ Π½Π΅Ρ! Π―ΡΠ½ΠΎ, ΡΡΠΎ Π΄Π°ΡΡΠΈΠΊ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΠΎΠ½Β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΡΡΡΡ ΡΡΠΎ Π²Π°Ρ Π½Π΅ ΡΠΌΡΡΠ°Π΅Ρ.
ΠΠ°ΠΊ ΡΠ°ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ? Π£Π²Ρ, ΠΎΠ½ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 20% Π²ΡΠ΅Ρ
ΠΎΡΠΊΠ°Π·ΠΎΠ²Β β Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΈΡ
Β ΡΠΈΠΌΠΏΡΠΎΠΌΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ°Π½Ρ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°.
ΠΒ ΡΠ΅ΠΏΠ΅ΡΡΒ β ΠΎΒ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π΄Π°ΡΡΠΈΠΊΠ° Π½Π°Β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π° ΠΎΡΡΠ°Π±ΠΎΡΠ°Π²ΡΠΈΡ
Π³Π°Π·ΠΎΠ². ΠΠ½Π°, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡΒ ΠΌΠ΅ΡΡΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π°ΡΡΠΈΠΊΠ° Π²Β Π²ΡΠΏΡΡΠΊΠ½ΠΎΠΌ ΡΡΠ°ΠΊΡΠ΅. ΠΠΎΒ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π°Β Π±ΡΡΡΡΠΎΡΡ ΡΠ΅Π°ΠΊΡΠΈΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π°Β ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°Β Π½Π΅ΠΌ ΠΈΠ»ΠΈ Π²Β ΠΎΠΊΠ½Π°Ρ
Π·Π°ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΏΠ°ΡΠΊΠ° ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΡΠ³ΠΎΡΠ°Π½ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΌΠ°ΡΠ»Π°.
Π§ΡΠΎΠ±Ρ ΡΡΠΎΡΠ½ΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π΄Π°ΡΡΠΈΠΊΠ°, ΠΏΡΠΎΠ³ΡΠ΅Π΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ ΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ² ΠΊΒ Π΄Π°ΡΡΠΈΠΊΡ ΠΌΠΎΡΠΎΡ-ΡΠ΅ΡΡΠ΅Ρ, ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΠΌ Π·Π°Β ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡΠΌΠΈ ΠΏΡΠΈ ΡΠ΅Π·ΠΊΠΎΠΌ ΠΎΡΠΊΡΡΡΠΈΠΈ Π΄ΡΠΎΡΡΠ΅Π»Ρ (ΡΠΈΡ. 4). ΠΡΠ»ΠΈ ΠΎΡΡΡΠ°Π²Π°Π½ΠΈΠ΅ Π²Π΅Π»ΠΈΠΊΠΎ (Π±ΠΎΠ»ΡΡΠ΅ 0,2Β Ρ), ΡΡΠΎΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΡΠ°Π² ΠΎΡΡΠ°Π±ΠΎΡΠ°Π²ΡΠΈΡ
Π³Π°Π·ΠΎΠ² ΡΠ΅ΡΡΡΠ΅Ρ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠΌ Π³Π°Π·ΠΎΠ°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ (ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½Β ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ±Β ΡΡΠΎΠΌ ΡΡΠ΄ΠΈΡΡ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΠΏΠΎΠ΄ΡΠΎΡ Π²ΠΎΠ·Π΄ΡΡ
Π° ΠΈΒ Ρ.ΠΏ.). ΠΒ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π΄Π°ΡΡΠΈΠΊΠ° Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ, Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΊΒ ΡΡΠ΅Ρ
ΠΈΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΠΎΡΡΠ°Π² ΡΠΌΠ΅ΡΠΈ ΠΊΠ°ΠΊ Π½Π°Β Ρ
ΠΎΠ»ΠΎΡΡΠΎΠΌ Ρ
ΠΎΠ΄Ρ, ΡΠ°ΠΊ ΠΈΒ ΠΏΡΠΈ 3000 ΠΎΠ±/ΠΌΠΈΠ½. ΠΠ°ΠΊ ΡΠ°Π½Π΅Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ, Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ lΒ β Π½Π΅Β Π±ΠΎΠ»Π΅Π΅ Β±1%. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΎΡΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ, ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°Π»ΡΠ½Π°Ρ, Π½ΠΎΒ ΡΠΎΡΡΠ°Π² ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΈΠ»ΡΠ½Π΅Π΅Β β Π·Π½Π°ΡΠΈΡ, Π΄Π°ΡΡΠΈΠΊ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π΅Π½.
ΠΒ ΠΊΠ°ΠΊΠΎΠ² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ l-ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ? Π―ΡΠ½ΠΎ, ΡΡΠΎ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΡΠΈΡΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²ΠΎΡΠΏΠ»Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΠΈ ΡΠΌΠ΅ΡΠΈ. Π Π΅Π°Π»ΡΠ½ΠΎ Π²Β ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΎΠ½Β ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΡΡΡ Π½Π΅Β Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π°Β Β±25% ΠΈΠ·Β ΡΡΠ»ΠΎΠ²ΠΈΡ, ΡΡΠΎ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΌΠ°ΡΠΈΠ½Ρ (ΠΌΠΎΡΠ½ΠΎΡΡΡ, ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΠΎΡΡΡ ΠΈΒ Π΄Ρ.) ΠΎΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌΠΈ. ΠΠΎΒ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΎΒ β ΠΈΒ Π½Π°Β Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ΅ΠΆΠΈΠΌΠ°Ρ
, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ ΡΡΠ΅Ρ
ΠΈΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΡΠ°Π², ΠΎΠ½Β Π½Π΅ Π²ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ. Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π°ΡΡΠΈΠΊΡ? ΠΒ ΡΡΠ°ΡΡΡ
ΠΌΠ°ΡΠΈΠ½Π°Ρ
Π΅Π³ΠΎ ΡΠΈΠ³Π½Π°Π» Π·Π°Π²ΠΈΡΠ°Π», Π²Β Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡΒ ΡΠΎΡΡΠ°Π²Π° ΡΠΌΠ΅ΡΠΈ, Π½Π°Β ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ·Β Π³ΡΠ°Π½ΠΈΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉΒ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0,2Β ΠΈΠ»ΠΈ 0,8 Π. ΠΒ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠΠ£ ΡΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ; ΠΎΠ½Β ΡΠΎΠΎΠ±ΡΠΈΡ, ΡΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΏΡΠ΅Π΄Π΅Π» ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠ°Π²Π° ΡΠΌΠ΅ΡΠΈ, Π°Β Π½Π°Β ΠΏΠ°Π½Π΅Π»ΠΈ Π²ΡΠΏΡΡ
Π½Π΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Check Engine (Β«ΠΏΡΠΎΠ²Π΅ΡΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΒ»).
Π§ΡΠΎΠ±Ρ Π½Π΅Β ΠΌΠ΅Π½ΡΡΡ Π΄Π°ΡΡΠΈΠΊΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎΒ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠ΅ΠΉ. ΠΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΠΠ£ Π²ΡΠ΄Π°Π» ΠΊΠΎΠ΄ Β«Π½Π΅Ρ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π΄Π°ΡΡΠΈΠΊΠ°Β». Π‘Π½Π°ΡΠ°Π»Π° ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ Π΄Π°ΡΡΠΈΠΊ Π½Π°Β Ρ
ΠΎΠ»ΠΎΡΡΠΎΠΌ Ρ
ΠΎΠ΄ΡΒ β Π΅ΡΠ»ΠΈ ΠΎΠ½Β Π²Β Π΄ΠΎΠ±ΡΠΎΠΌ Π·Π΄ΡΠ°Π²ΠΈΠΈ, ΡΡΠΎ Π½Π΅Β ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΠΠ£ ΠΎΡΠΈΠ±ΡΡ. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΈΠ³Π½Π°Π» Π½Π°Β Π²ΡΠ΅Ρ
ΡΠ΅ΠΆΠΈΠΌΠ°Ρ
Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΒ β ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π°Β ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π΅ ΡΠΌΠΎΠ³Π»Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΡΠ΅Ρ
ΠΈΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΡΠ°Π² ΡΠΌΠ΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΎ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΏΠ»ΠΈΠ²Π° Π²Β ΡΠ°ΠΌΠΏΠ΅ ΡΠΎΡΡΡΠ½ΠΎΠΊΒ β ΠΎΡΡΠΎΠ³ΠΎ Π½Π°Β ΠΌΠΎΡΠ½ΠΎΡΡΠ½ΡΡ
ΡΠ΅ΠΆΠΈΠΌΠ°Ρ
ΡΠΌΠ΅ΡΡ Π±Π΅Π΄Π½Π°. Π‘ΠΈΠ³Π½Π°Π» Π΄Π°ΡΡΠΈΠΊΠ° Π·Π°Π²ΠΈΡΠ½Π΅Ρ ΠΈΒ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°ΠΆΠ°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ. ΠΠΠ£ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΡΡΠ°Π² ΡΠΆΠ΅ Π½Π΅Β ΠΌΠΎΠΆΠ΅ΡΒ β Π²ΠΎΡ ΠΈΒ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ.
ΠΡΒ Π°Β ΠΌΠ°ΡΡΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π΅Β ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Β«ΠΌΠ°ΡΡΠ°ΡΡΠΈΒ», Π½ΠΎΒ ΠΈΒ ΠΏΡΠΈΡ
ΠΎΠ»ΠΎΠ³ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ. Π‘ΠΏΠΎΠΊΠΎΠΉΠ½ΡΠΉ, ΡΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΉ Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ, ΡΠ²ΠΈΠ΄Π΅Π² ΡΠΈΠΌΠ²ΠΎΠ» Β«ΠΏΡΠΎΠ²Π΅ΡΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΒ», Π·Π°ΡΠ°ΡΡΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Β Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅, ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Π° ΡΠΎΠΏΠ»ΠΈΠ²Π°. ΠΠ»Ρ Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Β«ΡΠΏΠΎΡΡΠΈΠ²Π½ΠΎΠ³ΠΎΒ» ΡΠΎΠ»ΠΊΠ° Π³Π»Π°Π²Π½ΡΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΒ β Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ° ΡΠ°Π·Π³ΠΎΠ½Π°, ΡΠΊΠΎΡΠΎΡΡΡ, ΠΏΡΡΡΡ ΡΠ΅Π½ΠΎΠΉ ΡΡ
ΡΠ΄ΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠ΅ΠΉ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ, Π°Β ΠΈΡ
Β ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½Ρ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΌΡΒ ΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ Π½Π΅ ΡΡΠ°Π»ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΈΒ ΠΎΡΒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π»ΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΒ ΠΎΠΏΡΡΡ-ΡΠ°ΠΊΠΈ ΠΎΡΒ ΠΏΡΠΈΡ
ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ. ΠΠ΄Π½ΠΈ ΠΈΒ ΡΠ΅Β ΠΆΠ΅Β ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎΡΡΠΈ Π΄Π°ΡΡΠΈΠΊΠ° ΠΊΠΈΡΠ»ΠΎΡΠΎΠ΄Π° Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡΒ β ΡΠ°ΠΊΠ°Ρ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΡΠ°Π΅Ρ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ, ΡΠ΅Π³ΠΎ Π°Π²ΡΠΎΡ ΡΡΠ°ΡΠ°Π»ΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ.
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Python (Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ)
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Python.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python, ΡΠΎ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π°.
ΠΡΠΌΠ±Π΄Π° Python — ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Python.
ΠΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡ
ΠΎΠ΄ΠΈΡΡ Π½Π° ΠΎΡΠΎΠ±ΡΠΉ ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ π
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π³Π»ΡΠ±ΠΆΠ΅ ΠΈ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π»ΡΠΌΠ±Π΄Π°Ρ
ΠΈ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² Python, ΡΠΎ ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ.
ΠΠΎΡ ΠΎ ΡΠ΅ΠΌ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π° Python?
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π° Python, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Python, Π½Π° Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
ΠΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ.
ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, Π²ΡΠ΅ Π² Python — ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ .
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΡΡ ΠΏΡΠΎΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°.
x = 5
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠΎ, ΡΡΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Python ΡΠΈΠΏΠ° int, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 5.
x — ΡΡΠΎ, ΠΏΠΎ ΡΡΡΠΈ, ΡΠΈΠΌΠ²ΠΎΠ», ΠΎΡΠ½ΠΎΡΡΡΠΈΠΉΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠΈΠΏ x ΠΈ Π°Π΄ΡΠ΅Ρ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΡΡΡΠ»Π°Π΅ΡΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ type ΠΈ id.
>>> ΡΠΈΠΏ (x)
<ΠΊΠ»Π°ΡΡ 'int'>
>>> id (x)
4308964832
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, x ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° int , ΠΈ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΆΠΈΠ²Π΅Ρ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π».
Π ΡΠ΅ΠΏΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ°ΠΊΡΡ ββΡΡΠ½ΠΊΡΠΈΡ:
>>> def f (x):
... Π²Π΅ΡΠ½ΡΡΡ x * x
...
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π²ΡΡΠ΅, ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠΈΠΏ ΠΈΠ· f ΠΈ Π΅Π³ΠΎ id .
>>> def f (x):
... Π²Π΅ΡΠ½ΡΡΡ x * x
...
>>> ΡΠΈΠΏ (f)
<ΠΊΠ»Π°ΡΡ 'ΡΡΠ½ΠΊΡΠΈΡ'>
>>> id (f)
4316798080
Ρ
ΠΌ, ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.
ΠΡΠ°ΠΊ, ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Π² Python Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ , ΠΈ ΡΡΠ½ΠΊΡΠΈΡ f, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ x Π±ΡΠ» ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° integer .
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ
ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ
ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅, Π° ΡΡΠ½ΠΊΡΠΈΡ — ΠΊΠΎΠ΄.
ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ f Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
def f (x):
Π²Π΅ΡΠ½ΡΡΡ Ρ
* Ρ
def modify_list (L, fn):
Π΄Π»Ρ idx, v Π² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠΈ (L):
L [idx] = fn (v)
L = [1, 3, 2]
ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ_Π»ΠΈΡΡ (L, f)
ΠΏΠ΅ΡΠ°ΡΡ (L)
#output: [1, 9, 4]
ΠΠ°ΠΉΡΠ΅ ΡΠ΅Π±Π΅ ΠΌΠΈΠ½ΡΡΡ ΠΈ ββΠΏΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΈΡΠ°ΡΡ Π΄Π°Π»ΡΡΠ΅β¦
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, modify_list — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ L ΠΈ ΡΡΠ½ΠΊΡΠΈΡ fn Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· Π½ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΡ fn .
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΎΠ±ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΡΡ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅.
Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ f Π² modify_list , ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ.
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π»ΡΠ±ΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ!
Π₯ΠΎΡΠΎΡΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°Π»ΠΎΠΆΠΈΠ» ΠΎΡΠ½ΠΎΠ²Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π»ΡΠΌΠ±Π΄Π°Ρ
.
ΠΡΠΌΠ±Π΄Π° Python — ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ .
ΠΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Python:
Π»ΡΠΌΠ±Π΄Π°-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ .
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ — ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ f , ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π»ΡΠΌΠ±Π΄Π°, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
>>> f = lambda x: x * x
>>> ΡΠΈΠΏ (f)
ΠΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠΎΡΠΈΡΡ ΡΠ΅Π±Ρ, Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΡΠΆΠ½Ρ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ?
Π‘ΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ!
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π»ΡΠΌΠ±Π΄Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ .
ΠΠ°ΠΊ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅, Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
.
ΠΡΠΌΠ±Π΄Π° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅, Π±ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ.
>>> f = Π»ΡΠΌΠ±Π΄Π° x: x * x
>>> f (5)
25
ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π»ΡΠΌΠ±Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡ
ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
>>> f = Π»ΡΠΌΠ±Π΄Π° x, y: x * y
>>> f (5, 2)
10
ΠΡΠ°ΡΠΈΠ²ΠΎ!
ΠΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π»ΡΠΌΠ±Π΄Π° Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»Π° Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²?
ΠΡΠΌΠ±Π΄Π° Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True .
ΠΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
>>> f = Π»ΡΠΌΠ±Π΄Π°: ΠΡΡΠΈΠ½Π°
>>> f ()
ΠΠ΅ΡΠ½ΠΎ
ΠΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ Π»ΡΠΌΠ±Π΄Ρ
ΠΠ°, Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π°ΡΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠΌΠ΅ΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
Π ΠΎΡΠ²Π΅Ρ:
ΠΠ΅Ρ, Π½Π΅Π»ΡΠ·Ρ π
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Python ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ / ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π»ΡΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠΌΠ±Π΄Ρ.
ΠΡΠΈΠΌΠ΅ΡΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΠΌΠ΅ΡΡ, Π³Π΄Π΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Python ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΊΠ°ΡΡΠΎΠΉ
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ ΡΠΏΠΈΡΠΊΠ°ΠΌ Python, — ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΠ°ΡΡΠ° — ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Python, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ , Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π», ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ Π²ΠΎΠ·Π²Π΅ΡΡΠΈ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ map .
>>> L = [1, 2, 3, 4]
>>> ΡΠΏΠΈΡΠΎΠΊ (ΠΊΠ°ΡΡΠ° (Π»ΡΠΌΠ±Π΄Π° x: x ** 2, L))
[1, 4, 9, 16]
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Python3 ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Map , ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² Python2 ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ .
ΠΠΈΠ΄ΠΈΡΠ΅ Π»ΠΈ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΅Π΅ Π² map Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠΌΠ±Π΄Ρ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ ΠΊΠ°ΡΡΡ.
ΠΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ», ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° Π»ΡΠΌΠ±Π΄Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΡΠΈΠ»ΡΡΡΠΎΠΌ
ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, filter — ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠ»ΡΡΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠΈΡΠΊΠ°) ΡΡΠ½ΠΊΡΠΈΡ filter filter ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²ΡΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠΎΡ
ΡΠ°Π½ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π².
ΠΡΠΎΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΌ ΡΠΈΠ»ΡΡΡΠΎΠΌ ΠΏΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ — ΠΡΡΠΈΠ½Π½ΠΎ , ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ.
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True Π΄Π»Ρ ΡΠ΅ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π» ΠΈ False Π΄Π»Ρ Π½Π΅ΡΠ΅ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π»:
def even_fn (x):
Π΅ΡΠ»ΠΈ x% 2 == 0:
Π²Π΅ΡΠ½ΡΡΡ True
return False
print (ΡΠΏΠΈΡΠΎΠΊ (ΡΠΈΠ»ΡΡΡ (even_fn, [1, 3, 2, 5, 20, 21])))
#output: [2, 20]
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°Π³ΠΈΠΈ Π»ΡΠΌΠ±Π΄ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΊΠΎ.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΡΠΎΡ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΉ
print (list (filter (lambda x: x% 2 == 0, [1, 3, 2, 5, 20, 21])))
Π ΡΡΠΎ, Π΄ΡΡΠ³ ΠΌΠΎΠΉ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π»ΡΠΌΠ±Π΄ .
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ²
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠΏΠΈΡΠΊΠ° Python — ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ΅Π»Π°Ρ ΡΡΠ°ΡΡΡ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½Π°Ρ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π» ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊ, ΡΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ key Π»ΠΈΠ±ΠΎ Π² sort , Π»ΠΈΠ±ΠΎ Π² sorted .
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ»ΡΡΠ° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΠΏΠ° .
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΏΠΈΡΠΊΠ°, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ — ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ Employee, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
class Employee:
def __init __ (Ρ, ΠΈΠΌΡ, Π²ΠΎΠ·ΡΠ°ΡΡ):
self.name = ΠΈΠΌΡ
self.age = age
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Employee ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΡ
Π² ΡΠΏΠΈΡΠΎΠΊ.
ΠΠ»Π΅ΠΊΡ = Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ (Β«ΠΠ»Π΅ΠΊΡΒ», 20)
ΠΠΌΠ°Π½Π΄Π° = Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ (Β«ΠΠΌΠ°Π½Π΄Π°Β», 30)
ΠΡΠ²ΠΈΠ΄ = Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ ('ΠΡΠ²ΠΈΠ΄', 15)
L = [ΠΠ»Π΅ΠΊΡ, ΠΠΌΠ°Π½Π΄Π°, ΠΡΠ²ΠΈΠ΄]
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ². ΠΠΎΡ ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ:
L.sort (ΠΊΠ»ΡΡ = Π»ΡΠΌΠ±Π΄Π° x: x.age)
print ([ΠΈΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² L])
# output: ['David', 'Alex', 'Amanda']
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° key Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·Π²Π½Π΅ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ sort .
ΠΠ΄Π½ΠΎ ΡΠ»ΠΎΠ²ΠΎ ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ
ΠΠ°ΠΊ Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» ΡΠ°Π½Π΅Π΅, Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π»Π° Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π» ΠΎΠ΄Π½ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ .
Π£ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ — ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ.
Π ΡΠ·ΡΠΊΠ°Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ — ΡΡΠΎ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ, Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if , ΡΠΈΠΊΠ» for , ΡΠΈΠΊΠ» while , Π²ΡΠ΅ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π½Π΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π²Π°ΡΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΈ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
3 + 5 — ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ 8
10> 5 — ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ True
True ΠΈ (5 <3) - ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ to False
Π’Π΅Π»ΠΎ Π»ΡΠΌΠ±Π΄Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ π
Learning Python?
ΠΠ°Π³Π»ΡΠ½ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π» ΠΡΡΡΡ!
ΠΠ·Π±ΡΠ°Π½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
ΠΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΠΊΠ°ΡΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°?
Π― ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ²ΠΎΠΉ Π»ΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ Π±ΡΠ»Π»Π΅ΡΠ΅Π½Π΅.
- Π‘ΠΎΠ²Π΅ΡΡ ΠΏΠΎ Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
, ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ.
- CS Π‘ΠΎΠ²Π΅ΡΡ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠ°ΡΡΠ΅ΡΠ΅.
- Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΊΠΈΠ΄ΠΊΠΈ Π½Π° ΠΌΠΎΠΈ ΠΏΡΠ΅ΠΌΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΡΡΡΡ ΠΏΡΠΈ ΠΈΡ
Π·Π°ΠΏΡΡΠΊΠ΅.
Π ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅β¦
ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ ΡΠ΅ΠΉΡΠ°Ρ. ΠΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ Lambda
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² [1] ΠΏΠΎ Python lambda . ΠΠ΄Π½Π° ΠΈΠ· ΡΠ΅Ρ
, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΈ ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, — ΡΡΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΠ°ΠΉΠΊΠΎΠΌ ΠΡΠΈΡΠΊΠΎΠ»Π»ΠΎΠΌ Π»ΡΠΌΠ±Π΄Π° Π² Π±Π»ΠΎΠ³Π΅ Mouse vs Python.
ΠΠΎΠ³Π΄Π° Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π» ΠΈΠ·ΡΡΠ°ΡΡ Python, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ
Π·Π°ΠΏΡΡΠ°Π½Π½ΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΌΠ΅Π½Ρ Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ, Π±ΡΠ»ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°. Π― ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² …
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΠ°ΠΉΠΊΠ° ΠΏΡΠ΅Π²ΠΎΡΡ
ΠΎΠ΄Π½ΠΎΠ΅: ΡΡΠ½ΠΎΠ΅, ΠΏΡΡΠΌΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅, Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ.ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΠΌΠ½Π΅ — Π½Π°ΠΊΠΎΠ½Π΅Ρ — ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π»ΡΠΌΠ±Π΄Π΅ ΠΈ ΠΏΠΎΠ±ΡΠ΄ΠΈΠ»ΠΎ ΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ Π»ΡΠΌΠ±Π΄Π° .
ΠΡΠΌΠ±Π΄Π°: ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠΎ ΡΡΡΠΈ, Π»ΡΠΌΠ±Π΄Π° Π² Python — ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ (ΠΈΠ»ΠΈ, ΡΠΎΡΠ½Π΅Π΅, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²). ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Python ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ: def ΠΈ lambda .
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ def , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
1def square_root (x): return math.sqrt (x)
ΠΈΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠΌΠ±Π΄Π° :
1square_root = lambda x: math.sqrt (x)
ΠΠΎΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π»ΡΠΌΠ±Π΄Π°:
1sum = lambda x, y: x + y # def sum (x, y): Π²Π΅ΡΠ½ΡΡΡ x + y
2out = Π»ΡΠΌΠ±Π΄Π° * x: sys.stdout.write ("" .join (map (str, x)))
3lambda event, name = button8.getLabel (): self.onButton (event, name)
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½Π° Π»ΡΠΌΠ±Π΄Π°?
ΠΠΎΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ» Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ: ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½Π° Π»ΡΠΌΠ±Π΄Π°? ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ Π»ΡΠΌΠ±Π΄Π°?
ΠΡΠ²Π΅Ρ:
- ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Π° Π»ΡΠΌΠ±Π΄Π°, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΈ Π±Π΅Π· Π½Π΅Π΅.ΠΠΎβ¦
- Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ — ΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π° Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ — Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ΅.
ΠΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ?
ΠΡ, ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π½Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΡΠΎΡΡΠ°Ρ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ: ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
ΠΠ±ΡΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ΅Π»Π΅ΠΉ: (Π°) ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ (Π±) ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄.
- ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π° Π² ΡΠ°Π·Π½ΡΡ
ΠΌΠ΅ΡΡΠ°Ρ
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΊΠΎΠΏΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΡΠ½ΠΊΡΠΈΡ, Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΡ, Π° Π·Π°ΡΠ΅ΠΌ — ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ — Π²ΡΠ·Π²Π°ΡΡ Π΅Π΅ ΠΈΠ· ΡΠ°Π·Π½ΡΡ
ΠΌΠ΅ΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. .
- ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΈ ΠΊΠΎΡΡΠ²ΡΠΉ ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΏΠΎΡΠΎΠΊ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΠ°ΡΠΈΡΡ ΡΡΠΎΡ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΡΠΊΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°ΠΌ.
ΠΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· — Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ· ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠΌΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Β«Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΒ».Π Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ ΠΏΡΡΠΌΠΎ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ Ρ
ΠΎΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠΎΡ Π³Π΄Π΅ Π»ΡΠΌΠ±Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½Π°.
ΠΠΎ, Π½ΠΎ, Π½ΠΎβ¦ Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅.
- ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ — Π·Π°ΡΠ΅ΠΌ Π²Π°ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·? ΠΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠΈΡΠΈΠ½Ρ (Π°) Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
- Π ΡΠ΅Π»ΠΎ Π»ΡΠΌΠ±Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π»ΡΠΌΠ±Π΄Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Π° (b) Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΊΠ°Ρ Ρ ΠΌΠ΅Π½Ρ ΠΌΠΎΠ³Π»Π° Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ Ρ
ΠΎΡΠ΅Π» ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΊΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ?
Π§ΡΠΎ ΠΆ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΡΠΌΠ±Π΄Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Tkinter.(ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²Π·ΡΡ ΠΈΠ· ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΠ°ΠΉΠΊΠ°.)
01frame = tk.Frame (parent)
02frame.pack ()
03
04btn22 = tk.Button (ΡΠ°ΠΌΠΊΠ°,
05 text = "22", command = lambda: self.printNum (22))
06btn22.pack (ΡΡΠΎΡΠΎΠ½Π° = tk.LEFT)
07
08btn44 = tk.Button (ΡΠ°ΠΌΠΊΠ°,
09 ΡΠ΅ΠΊΡΡ = "44", command = lambda: self.printNum (44))
10btn44.pack (side = tk.LEFT)
ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ tk.Button ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ .ΠΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΈ ΡΠ΅Π»ΡΠΊΠ΅ ΠΏΠΎ Π½Π΅ΠΉ (ΠΊΠ½ΠΎΠΏΠΊΠ΅). ΠΠΎ ΡΡΡΠΈ, ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΡΠ°ΠΊ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° command . Π ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ.
ΠΡΠ°ΠΊ, Ρ
ΠΎΡΡ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ (ΡΠΊΠ°ΠΆΠ΅ΠΌ)
01def __init __ (self, parent):
02 "" "ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ" ""
03 frame = tk.Frame (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ)
04 frame.pack ()
05
06 btn22 = tk.Button (ΡΠ°ΠΌΠΊΠ°,
07 text = "22", command = self.buttonCmd22)
08 btn22.pack (ΡΡΠΎΡΠΎΠ½Π° = tk.LEFT)
09
10 btn44 = tk.Button (ΡΠ°ΠΌΠΊΠ°,
11 text = "44", command = self.buttonCmd44)
12 btn44.pack (ΡΡΠΎΡΠΎΠ½Π° = tk.LEFT)
13
14def buttonCmd22 (ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ):
15 self.printNum (22)
16
17def buttonCmd44 (ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ):
18 Ρ.printNum (44)
Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ (ΠΈ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅) ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ
01def __init __ (self, parent):
02 "" "ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ" ""
03 frame = tk.Frame (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ)
04 frame.pack ()
05
06 btn22 = tk.Button (ΡΠ°ΠΌΠΊΠ°,
07 text = "22", command = lambda: self.printNum (22))
08 btn22.pack (ΡΡΠΎΡΠΎΠ½Π° = tk.LEFT)
09
10 btn44 = tk.Button (ΡΠ°ΠΌΠΊΠ°,
11 text = "44", command = lambda: self.printNum (44))
12 btn44.pack (side = tk.LEFT)
ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄, Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΏΠ΅ΡΠ΅Π·Π²Π°Π½ΠΈΠ²Π°Π΅ΡΒ» ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π΅ΠΌΡ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° .
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΡΡ
ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π»ΡΠΌΠ±Π΄Π° — ΡΡΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Β«ΠΎΠ±ΡΠ°ΡΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ²Β» Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΡΡΠ΅Π΄ GUI, ΠΊΠ°ΠΊ Tkinter ΠΈ wxPython.
ΠΡΠ΅ ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ. ΠΡΠ°ΠΊβ¦
ΠΠΎΡΠ΅ΠΌΡ Π»ΡΠΌΠ±Π΄Π° ΡΠ°ΠΊ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ?
Π― ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ ΡΠ΅ΡΡΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ.
ΠΠ΅ΡΠ²ΡΠΉ ΠΡΠΌΠ±Π΄Π° ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ: ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π»ΡΠΌΠ±Π΄Π° ΠΌΠΎΠ³Π»Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅?
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ Ρ
ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π·Π½Π°ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ.ΠΡΠ»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΡΡ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ Π»ΡΠ΄Π΅ΠΉ, ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠΈΡ
: Β«Π Python, Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ?Β»
Π₯ΠΎΡΠΎΡΠΈΠΉ ΠΎΡΠ²Π΅Ρ — Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ (ΠΈΠ»ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ) Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ — Π½Π΅Ρ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠΈΡΡΠ°ΡΠΈΡ ΠΎΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ ΡΠ°ΠΊΡΠΎΠΌ, ΡΡΠΎ Π² Python Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ. Π ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΡΡ ΡΠΌΠ΅ΡΡ ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΠΈΠΉ ΠΌΠ°Π½Π΅Π²Ρ — ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ a = b = 0, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ Python ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΏΠ½ΡΡ
ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.(ΠΠ½ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ. Python — ΡΡΠΎ Π½Π΅ C.) [2]
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
, ΠΊΠΎΠ³Π΄Π° Π»ΡΠ΄ΠΈ Π·Π°Π΄Π°ΡΡ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ
ΠΎΡΡΡ Π·Π½Π°ΡΡ: ΠΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ Ρ ΠΌΠΎΠ³Ρ, Π° ΠΌΠΎΠ³Ρ Π»ΠΈ Ρ, ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π² Π»ΡΠΌΠ±Π΄Π°?
Π Π΄Π»Ρ Π²ΠΎΠΏΡΠΎΡΠ° , Ρ Π΄ΡΠΌΠ°Ρ, Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΡΠΎΡΡΡΡ
ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠ°Π²ΠΈΠ».
- ΠΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² Π»ΡΠΌΠ±Π΄Ρ.
- ΠΡΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΡΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, ΡΠΏΡΠ°Π²Π° ΠΎΡ Π·Π½Π°ΠΊΠ° ΡΠ°Π²Π΅Π½ΡΡΠ²Π°, ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² Π»ΡΠΌΠ±Π΄Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡ
ΠΏΡΠ°Π²ΠΈΠ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ:
- ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ
. Π Python ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ, , Π΄Π°ΠΆΠ΅ None (null).
- ΠΡΠΎΡΡΡΠ΅ Π²Π΅ΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ Ρ. Π., ΠΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π΄Π»Ρ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
- ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ — ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π»ΡΠΌΠ±Π΄Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ (Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ Π²ΡΠ΅ ΡΠ°ΠΊΠΎΠ΅) ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π½ΠΎΠ²ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
- Π Python 3 print ΡΡΠ°Π» ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Python 3+ print (β¦) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π»ΡΠΌΠ±Π΄Π΅.
- ΠΠ°ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ None, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ print Π² Python 3, ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π»ΡΠΌΠ±Π΄Π΅.
- Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π² Python 2.5, ΡΠ²Π»ΡΡΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ (Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if / else ). ΠΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π»ΡΠΌΠ±Π΄Π΅.
1 Π»ΡΠΌΠ±Π΄Π°: a if some_condition () else b
2lambda x: Β«Π±ΠΎΠ»ΡΡΠΎΠΉΒ», Π΅ΡΠ»ΠΈ x> 100, ΠΈΠ½Π°ΡΠ΅ Β«ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉΒ»
ΠΡΠΎΡΠΎΠΉ ΠΡΠΌΠ±Π΄Π° ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΡΡΠΎ Π»ΡΠΌΠ±Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ , Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: ΠΠΎΡΠ΅ΠΌΡ? ΠΠΎΡΠ΅ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅? ΠΠΎΡΠ΅ΠΌΡ Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ? ΠΠΎΡΠ΅ΠΌΡ Π½Π΅ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΡ?
ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΠΎΡΠ΅ΠΌΡ Π»ΡΠΌΠ±Π΄Π°-ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python ΡΠ°ΠΊΠΎΠΉ ΡΡΡΠ°Π½Π½ΡΠΉ? ΠΠ»Ρ Π΄ΡΡΠ³ΠΈΡ
, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΅Ρ
, ΠΊΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Lisp, ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΠΎΡΠ΅ΠΌΡ Π»ΡΠΌΠ±Π΄Π° Python ΡΠ°ΠΊ ΡΡΠΎΠ΄Π»ΠΈΠ²Π°? ΠΠΎΡΠ΅ΠΌΡ ΠΎΠ½ Π½Π΅ ΡΠ°ΠΊΠΎΠΉ ΠΌΠΎΡΠ½ΡΠΉ, ΠΊΠ°ΠΊ Π»ΡΠΌΠ±Π΄Π° ΠΠΈΡΠΏΠ°?
ΠΡΠ²Π΅Ρ ΡΠ»ΠΎΠΆΠ΅Π½, ΠΈ ΠΎΠ½ ΡΠ²ΡΠ·Π°Π½ Ρ Β«ΠΏΠΈΡΠΎΠ½Π½ΠΎΡΡΡΡΒ» ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Python.Lambda Π±ΡΠ»Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π΄Π½ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Python. Π ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python ΡΡΠ°Π» Ρ
ΠΎΡΠΎΡΠΎ ΡΠ°Π·Π²ΠΈΡΡΠΌ. Π Π΄Π°Π½Π½ΡΡ
ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ
ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π±ΡΡΡ Π²ΠΏΠΈΡΠ°Π½ Π² ΡΡΡΠΎΡΠ²ΡΠΈΠΉΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python Β«ΠΏΠΈΡΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΌΒ» ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. Π ΡΡΠΎ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π»ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π΄Π΅Π»Π°ΡΡ Π² Π»ΡΠΌΠ±Π΄Π°Ρ
.
Π§Π΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΌΠ½Π΅ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π»ΡΠΌΠ±Π΄Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ°Π½Π½ΠΎ. ΠΠ°ΠΊ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ, ΠΠ²ΠΈΠ΄ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΠ», ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π»ΡΠΌΠ±Π΄Ρ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ.Python Π½Π΅ ΡΡΠ°Π½Π΅Ρ Lisp. [3]
Π’ΡΠ΅ΡΠΈΠΉ ΠΡΠΌΠ±Π΄Π° ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ: Π»ΡΠΌΠ±Π΄Π° ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π»ΡΠΌΠ±Π΄Π° Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ return .
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ return Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ Π² Π»ΡΠΌΠ±Π΄Π΅. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π»ΡΠΌΠ±Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π»ΡΠΌΠ±Π΄Π°, Π½Π΅ΡΠ²Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.Π ΡΡΠΎΠΌ Π΅ΡΡΡ ΡΠΌΡΡΠ».
Π Π²ΡΠ΅ ΠΆΠ΅ — ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° return , Ρ Π΄ΡΠΌΠ°Ρ, ΠΎΡΡΠ°ΡΡΠΈ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΠΈΡ
Π±ΡΡΡΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΠΡΠΌΠ±Π΄Π° ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ: ΡΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ Π»ΡΠΌΠ±Π΄Π° ΠΎΠ±ΡΡΠ½ΠΎ Π²Π²ΠΎΠ΄ΡΡ Π»ΡΠΌΠ±Π΄Π° ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ , Ρ
ΠΎΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π»ΡΠΌΠ±Π΄Π° ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ
ΠΏΡΠΎΡΠ΅Π΄ΡΡ .
ΠΡΠ΅ Π² Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ Π΄ΡΠ΅Π²Π½ΠΎΡΡΠΈ ΠΌΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π»ΠΈ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ
Π²ΠΈΠ΄Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ: ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.ΠΡΠΎΡΠ΅Π΄ΡΡΡ Π±ΡΠ»ΠΈ Π΄Π»Ρ , Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²Π΅ΡΠ½ΡΠ»ΠΈ. Π€ΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ»ΠΈ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ . Π Π°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ Π΄Π°ΠΆΠ΅ Π±ΡΠ»ΠΎ Π²ΡΡΡΠΎΠ΅Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΠΠ°ΡΠΊΠ°Π»Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»ΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ·ΡΠΊΠΎΠ² ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π° Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠ·ΡΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ Python ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΈ ΡΠΎ, ΠΈ Π΄ΡΡΠ³ΠΎΠ΅.Π Π΅Π·ΡΠ»ΡΡΠ°Ρ (Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠΉ) ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Python Π²ΡΠ΅Π³Π΄Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉΒ», Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°.
Π₯ΠΎΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΊΠ°ΠΊ ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ ΠΈΡΡΠ΅Π·Π»ΠΎ, ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° Π΄ΡΠΌΠ°Π΅ΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΈΡΠ°Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π²ΠΈΠΆΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ F, Ρ ΠΏΡΡΠ°ΡΡΡ Π²ΡΡΡΠ½ΠΈΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ F. Π Ρ ΡΠ°ΡΡΠΎ ΠΌΠΎΠ³Ρ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ — Β«ΡΠ΅Π»Ρ F — Π΄Π΅Π»Π°ΡΡ ΡΠΎ-ΡΠΎ ΠΈ ΡΠΎ-ΡΠΎΒ», — ΡΠΊΠ°ΠΆΡ Ρ ΡΠ΅Π±Π΅, ΠΈΠ»ΠΈ Β«ΡΠ΅Π»Ρ F — Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΎ-ΡΠΎ ΠΈ ΡΠΎ-ΡΠΎΒ». .
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π΄ΡΠΌΠ°Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ Π»ΡΠΌΠ±Π΄Π° ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠ°ΠΌ ΡΠ·ΡΠΊ Python ΠΌΠ°ΡΠΊΠΈΡΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ.
ΠΠΎ-Π²ΡΠΎΡΡΡ
, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² Π»ΡΠΌΠ±Π΄Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ , Π²Π΅ΡΠ΅ΠΉ, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
— Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π‘Π°ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² (Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠΎΡ), ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π»ΡΠΌΠ±Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ ΠΈΠ· x.
ΠΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠΎΡΠΎΡΡΠΌ Π»ΡΠΌΠ±Π΄Π° ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΈ ΡΡΠΎ Π½Π΅ ΡΠΎ, ΡΡΠΎ ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΈΡΡΡ Π² Google Β«ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ Π»ΡΠΌΠ±Π΄Π° PythonΒ». Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π»ΡΠΌΠ±Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ
ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²Π°Ρ
Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
Π½Π°Ρ Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ, ΡΡΠΎ Π»ΡΠΌΠ±Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ , Π½Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ .
ΠΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΠΏΠΎΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΉ Π»ΡΠΌΠ±Π΄Π° ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ ΡΠΈΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π½Π° Python.ΠΠ½ ΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠ΅Π΄Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: ΡΠΊΠ°ΠΆΠ΅ΠΌ, Tkinter ΠΈΠ»ΠΈ wxPython. ΠΠ½ Π½Π°ΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π»ΡΠΌΠ±Π΄Π°, ΠΈ Ρ
ΠΎΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ. ΠΠ½ ΠΏΠΎΠΈΡΠΊΠ°Π» Π² Google Β«ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ PythonΒ». Π ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΡΡΠ΅Π±Π½ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ — ΡΡΠΎΡ ΡΡΠ΅Π±Π½ΠΈΠΊ Π΄Π»Ρ Π²Π°Ρ. Π― Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ. ΠΠ½Π΅ ΠΆΠ°Π»Ρ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ΅Π±Π½ΠΈΠΊΠ°, Π° Π½Π΅ Π² Π½Π°ΡΠ°Π»Π΅.ΠΡΠ΄Π΅ΠΌ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°ΠΏΠΈΡΠ΅Ρ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ Π»ΡΠΌΠ±Π΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
Lambda, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ
Lambda — ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°.
ΠΡΠ°ΠΊ, Π²ΠΎΡ ΠΎΠ½ΠΎ. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠΊ ΠΏΠΎ Π»ΡΠΌΠ±Π΄Π΅.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π»ΡΠΌΠ±Π΄Ρ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° — ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Kotlin
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Kotlin-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΊΠ»Π°ΡΡΠ½ΡΠ΅ , ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ
Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈ ΡΡΡΡΠΊΡΡΡΠ°Ρ
Π΄Π°Π½Π½ΡΡ
, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π»ΡΠ±ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ΅Π½Π½ΠΎΡΡΠΈ.
Π§ΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΡΡΠΎ, Kotlin, ΠΊΠ°ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ
ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π°Π±ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ·ΡΠΊΠΎΠ²ΡΡ
ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ.
Π₯ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΄ΠΈΠΎΠΌΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·
Π΄Π»Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ ΡΡΡΠΎΠΈΡ ΡΠ²ΠΎΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π·Π°ΠΌΠ΅Π½Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°:
Π²Π΅ΡΠ΅Π»ΡΠ΅ ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ .ΡΠ»ΠΎΠΆΠΈΡΡ (
Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ: R,
ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ: (acc: R, nextElement: T) -> R
): Π {
Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ var: R = Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ
for (element: T Π² ΡΡΠΎΠΌ) {
Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ = ΠΊΠΎΠΌΠ±Π°ΠΉΠ½ (Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ, ΡΠ»Π΅ΠΌΠ΅Π½Ρ)
}
Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΡΠΉ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ
}
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ
ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ (R, T) -> R
, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠΈΠΏΠ° R
ΠΈ T
ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° R
.
ΠΠ½ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ Π΄Π»Ρ ΡΠΈΠΊΠ»Π° , ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΡ
.
Π§ΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ fold
, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π° Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅) ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ
Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ Π½Π° ΡΠ°ΠΉΡΠ°Ρ
Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°:
fun main () {
// sampleStart
val items = listOf (1, 2, 3, 4, 5)
// ΠΡΠΌΠ±Π΄Ρ - ΡΡΠΎ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ.
items.fold (0, {
// ΠΠΎΠ³Π΄Π° Π»ΡΠΌΠ±Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΎΠ½ΠΈ ΠΈΠ΄ΡΡ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ, Π·Π° Π½ΠΈΠΌΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ '->'
acc: Int, i: Int ->
print ("acc = $ acc, i = $ i,")
val ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = acc + i
println ("ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = $ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ")
// ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π»ΡΠΌΠ±Π΄Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ:
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
})
// Π’ΠΈΠΏΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Π»ΡΠΌΠ±Π΄Π΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ, Π΅ΡΠ»ΠΈ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ:
val connectedToString = ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.fold ("ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ:", {acc, i -> acc + "" + i})
// Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°:
val product = items.fold (1, Int :: ΡΠ°Π·)
// sampleEnd
println ("connectedToString = $ connectedToString")
println ("ΠΏΡΠΎΠ΄ΡΠΊΡ = $ ΠΏΡΠΎΠ΄ΡΠΊΡ")
}
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ°Π·Π΄Π΅Π»Π°Ρ
Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡΡΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ.
Kotlin ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ (Int) -> String
, Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ: val onClick: () -> Unit =...
.
ΠΡΠΈ ΡΠΈΠΏΡ ΠΈΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π½ΠΎΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠ³Π½Π°ΡΡΡΠ°ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΎ Π΅ΡΡΡ ΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ:
ΠΡΠ΅ ΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠΌΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ
ΠΈ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: (A, B) -> C
ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠ΅ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠΈΠΏΠ° A
ΠΈ B
ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° C
.
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΡΡΡΠΌ, ΠΊΠ°ΠΊ Π² () -> A
.Π’ΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Unit
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ.
- Π’ΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡΠΊΠΎΠΉ Π² ββΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠΈ:
ΡΠΈΠΏ A. (B) -> C
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ΅ A
Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ B
ΠΈ
Π²Π΅ΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ C
.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠΈΠΏΠ°ΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Ρ ΠΊΠΎΡΠΎΡΡΡ
Π΅ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ suspend Π²
ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ suspend () -> Unit
ΠΈΠ»ΠΈ suspend A.(Π) -> Π‘
.
ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π° Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ: (x: Int, y: Int) -> Point
.
ΠΡΠΈ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ: ((Int, Int) -> Int)?
.
Π’ΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ: (Int) -> ((Int) -> Unit)
ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΅Π»ΠΊΠΈ ΠΏΡΠ°Π²ΠΎΠ°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎ, (Int) -> (Int) -> Unit
ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½ΠΎ Π½Π΅ ((ΠΠ½Ρ) -> (ΠΠ½Ρ)) -> ΠΠ»ΠΎΠΊ
.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°ΡΡ ΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΡΠΈΠΏΠ°:
typealias ClickHandler = (ΠΠ½ΠΎΠΏΠΊΠ°, ClickEvent) -> ΠΠ΄ΠΈΠ½ΠΈΡΠ°
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ Π»ΠΈΡΠ΅ΡΠ°Π»Π΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΎΡΠΌ:
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅:
- ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ, ΡΠ»Π΅Π½ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ:
:: isOdd
, String :: toInt
, - ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠ»Π΅Π½Π° ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ:
List :: size
, - ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ:
:: Regex
Π‘ΡΠ΄Π° Π²Ρ
ΠΎΠ΄ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ Π½Π° ΡΠ»Π΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°: foo :: toString
.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:
ΠΊΠ»Π°ΡΡ IntTransformer: (Int) -> Int {
ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ fun invoke (x: Int): Int = TODO ()
}
val intFunction: (Int) -> Int = IntTransformer ()
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ:
val a = {i: Int -> i + 1} // ΠΡΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ (Int) -> Int
ΠΠ΅ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠΌ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΡΡΡ Π²
Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° (A, B) -> C
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ ΠΈΠ»ΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ
Π³Π΄Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ A. (B) -> C
ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ:
fun main () {
// sampleStart
val repeatFun: String. (Int) -> String = {ΡΠ°Π· -> this.repeat (ΡΠ°Π·)}
val twoParameters: (String, Int) -> String = repeatFun // ΠΠ
fun runTransformation (f: (String, Int) -> String): String {
return f ("ΠΏΡΠΈΠ²Π΅Ρ", 3)
}
val result = runTransformation (repeatFun) // ΠΠ
// sampleEnd
println ("ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = $ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ")
}
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ.
ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ.Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ, ΡΠ²Π½ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° invoke (...)
: f.invoke (x)
ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ f (x)
.
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠ·Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ — Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ,
ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ: 1.foo (2)
,
ΠΡΠΈΠΌΠ΅Ρ:
fun main () {
// sampleStart
val stringPlus: (Π‘ΡΡΠΎΠΊΠ°, Π‘ΡΡΠΎΠΊΠ°) -> Π‘ΡΡΠΎΠΊΠ° = Π‘ΡΡΠΎΠΊΠ° :: ΠΏΠ»ΡΡ
val intPlus: Int.(ΠΠ½Ρ) -> ΠΠ½Ρ = ΠΠ½Ρ :: ΠΏΠ»ΡΡ
println (stringPlus.invoke ("<-", "->"))
println (stringPlus (Β«ΠΡΠΈΠ²Π΅Ρ,Β», Β«ΠΌΠΈΡ!Β»))
println (intPlus.invoke (1, 1))
println (intPlus (1, 2))
println (2.intPlus (3)) // Π²ΡΠ·ΠΎΠ² ΡΠΈΠΏΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
// sampleEnd
}
ΠΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ,
Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°.
ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Β«ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»Π°ΠΌΠΈΒ», Ρ.Π΅.Π΅. ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ,
Π½ΠΎ ΡΡΠ°Π·Ρ ΠΏΡΠΎΡΠ»ΠΎ ΠΊΠ°ΠΊ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΌΠ°ΠΊΡ (ΡΡΡΠΎΠΊΠΈ, {a, b -> a.length
Π€ΡΠ½ΠΊΡΠΈΡ max
- ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°, ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΠΡΠΎΡ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΡΠΎ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠΌ, ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ
ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
Π·Π°Π±Π°Π²Π½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ (a: ΡΡΡΠΎΠΊΠ°, b: ΡΡΡΠΎΠΊΠ°): Boolean = a.Π΄Π»ΠΈΠ½Π°
ΠΠΎΠ»Π½Π°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΠΌΠ° Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
val sum: (Int, Int) -> Int = {x: Int, y: Int -> x + y}
ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ,
ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ²,
ΡΠ΅Π»ΠΎ ΠΈΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π·Π½Π°ΠΊΠ° ->
. ΠΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠΉ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠΌΠ±Π΄Ρ Π½Π΅ ΡΠ°Π²Π΅Π½ Unit
, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ (ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ)
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π»Π΅ Π»ΡΠΌΠ±Π΄Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ ΠΌΡ ΠΎΡΡΠ°Π²ΠΈΠΌ Π²ΡΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ, ΡΠΎ, ΡΡΠΎ ΠΎΡΡΠ°Π½Π΅ΡΡΡ, Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
val sum = {x: Int, y: Int -> x + y}
Π Kotlin ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΡΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ ΠΊΠ°ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π²Π½Π΅ ΡΠΊΠΎΠ±ΠΎΠΊ:
val product = items.fold (1) {acc, e -> acc * e}
Π’Π°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΠΊ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ°Ρ Π»ΡΠΌΠ±Π΄Π° .
ΠΡΠ»ΠΈ Π»ΡΠΌΠ±Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, ΡΠΊΠΎΠ±ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΡΡΡΠΈΡΡ:
Π§ΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² Python
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ?
ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ - ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π±Π΅Π· ΠΈΠΌΠ΅Π½. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΡΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π΅ΡΠ²Π½ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°. ΠΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
Π»ΡΠΌΠ±Π΄Π° (Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ): (Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅)
ΠΡΠΎ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΌΠΌΡ Π΄Π²ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎ ΠΊΠ°ΠΊ Π²ΡΠ·Π²Π°ΡΡ Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ? ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅ Π±Π΅Π·ΡΠΌΡΠ½Π½Π°Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ:
(Π»ΡΠΌΠ±Π΄Π° x, y: x + y) (1, 2)
ΠΠΎΠ΄ 1:
x1 = ( Π»ΡΠΌΠ±Π΄Π° x, y, z: (x + y) * z) ( 1 , 2 , 3 ) ΠΏΠ΅ΡΠ°ΡΡ (x1) x2 = ( Π»ΡΠΌΠ±Π΄Π° x, y, z: (x + y) Π΅ΡΠ»ΠΈ (z = = 0 ) ΠΈΠ½Π°ΡΠ΅ (x * y)) ( 1 , 2 , 3 ) ΠΏΠ΅ΡΠ°ΡΡ (x2) |
ΠΡΡ
ΠΎΠ΄:
9
2
Π₯ΠΎΡΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ, ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.Π‘ΠΌ. ΠΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ sum
Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
ΡΡΠΌΠΌΠ° = Π»ΡΠΌΠ±Π΄Π° x, y: x + y ΠΏΠ΅ΡΠ°ΡΡ ( ΡΠΈΠΏ ( ΡΡΠΌΠΌΠ° )) x1 = ΡΡΠΌΠΌΠ° ( 4 , 7 ) ΠΏΠ΅ΡΠ°ΡΡ (x1) |
ΠΡΡ
ΠΎΠ΄:
11
ΠΠ±ΡΠ΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
- ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ, ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ (ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²), ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° .ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅, ΠΈ ΠΎΠ½ΠΈ ΡΡΠ΅Π±ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° ΡΠ°Π·Π° Π² ΠΊΠΎΠ΄Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ sorted ().
def ΠΠ»ΡΡ (x): Π²ΠΎΠ·Π²ΡΠ°Ρ x % 2 ΡΠΈΡΠ»Π° = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ = ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ (ΡΠΈΡΠ»Π°, ΠΊΠ»ΡΡ = ΠΊΠ»ΡΡ) ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°) |
ΠΡΡ
ΠΎΠ΄:
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
ΡΠΈΡΠ»Π° = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] sort_lambda = ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ (ΡΠΈΡΠ»Π°, ΠΊΠ»ΡΡ = Π»ΡΠΌΠ±Π΄Π° x: x % 2 ) ΠΏΠ΅ΡΠ°ΡΡ (sort_lambda) |
ΠΡΡ
ΠΎΠ΄:
[0, 2, 4, 6, 8, 1, 3, 5, 7, 9]
- ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ
ΡΡΠ½ΠΊΡΠΈΠΉ , ΡΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ°ΠΊΠΈΡ
ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ: map (), filter () ΠΈ sorted (). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
ΡΠΈΡΠ»Π° = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ] ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ² = ΠΊΠ°ΡΡΠ° ( Π»ΡΠΌΠ±Π΄Π° x: x * x, ΡΠΈΡΠ»Π°) ΠΏΠ΅ΡΠ°ΡΡ ( ΡΠΏΠΈΡΠΎΠΊ (ΠΊΠ²Π°Π΄ΡΠ°ΡΡ)) evens = ΡΠΈΠ»ΡΡΡ ( Π»ΡΠΌΠ±Π΄Π° x: True if (x % 2 = = 0 ) Π΅ΡΠ΅ ΠΠΎΠΆΡ , ΠΊΠΎΠ»-Π²ΠΎ) ΠΏΠ΅ΡΠ°ΡΡ ( ΡΠΏΠΈΡΠΎΠΊ (ΡΠ²Π΅Π½Ρ)) |
ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΉ:
ΠΠ»ΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΉ:
- ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π±Π΅Π· ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
- ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅.
- Π§Π°ΡΡΠΎ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ, ΠΈΠ·Π±Π΅Π³Π°Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΎΠ², Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ
Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°.
def ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ (x, y, z): Π²ΠΎΠ·Π²ΡΠ°Ρ x * y + z a = 1 b = 2 c = 3 d = fun (a, b, c) ΠΏΠ΅ΡΠ°ΡΡ (Π³) |
ΠΡΡ
ΠΎΠ΄:
5
Sonde Lambda β· ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄
Sonde Lambda β· ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ - ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Sonde Lambda Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
Entre la premiΓ¨re et la second , Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΈΠ·Π°ΡΠΎΡ. ΠΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΈ Π²ΡΠΎΡΡΠΌ Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ΠΎΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½Π΅ΠΉΡΡΠ°Π»ΠΈΠ·Π°ΡΠΎΡ.ΠΡΠΎΡ Π·ΠΎΠ½Π΄ Π»ΡΠΌΠ±Π΄Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ΄Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΈΠΎΠΊΡΠΈΠ΄Π° ΡΠΈΡΠΊΠΎΠ½ΠΈΡ. ΠΡΠΎΡ Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ²Π΅ΡΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ»ΠΈΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΠΈΠΎΠΊΡΠΈΠ΄Π° ΡΠΈΡΠΊΠΎΠ½ΠΈΡ.F15 Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ , ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΡΠΈΡΡΠΊΠ° ΠΎΡ ΠΊΠ°ΡΠ±ΡΡΠ°ΡΠΎΡΠ°.Dans les moteurs Γ Essence on ne peut pas exclure la premiΓ¨re sonde lambda . Π Π±Π΅Π½Π·ΠΈΠ½ΠΎΠ²ΡΡ
Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΡ
Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ . ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π 1976 Π³ΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Bosch ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ Π½Π° ΠΌΠ°ΡΡΠ΅. Π 1976 Π³ΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ bosch ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»Π° Π½Π° ΡΡΠ½ΠΊΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ . ΠΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ ΡΠΈΡΠ°Π½: ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠΎΠΉΠΊΠΎΡΡΡ Π΄ΠΈΠΎΠΊΡΠΈΠ΄Π° ΡΠΈΡΠ°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ΠΎΠ², ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅Π½Π΅ΠΉ ΠΈ ΠΊΠΈΡΠ»ΠΎΡΠΎΠ΄ Π² Π³Π°Π·Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΈΠΎΠΊΡΠΈΠ΄ ΡΠΈΡΠ°Π½Π° Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ : Π΄ΠΈΠΎΠΊΡΠΈΠ΄ ΡΠΈΡΠ°Π½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΎΠ±ΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ: ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΊΠΈΡΠ»ΠΎΡΠΎΠ΄Π° Π² ΠΎΡΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΌ Π²ΠΎΠ·Π΄ΡΡ
Π΅.Bien entendu, toutes les ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΈ Π±ΠΈΠΎΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π³ΠΎΡΡΡΠΈΡ
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², le rendement trΓ¨s Γ©levΓ© et la rΓ©gulation par lambda sont content. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π²ΡΠ΅ Π±ΠΈΠΎΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΏΠ»ΠΈΠ²Π°, Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ Π»ΡΠΌΠ±Π΄Π°-Π·ΠΎΠ½Π΄ , ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° .ΠΠ°Π»Π΅ΠΉΡΠ΅ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠΎΡΠΎΠΉ Π·ΠΎΠ½Π΄ Π»ΡΠΌΠ±Π΄Π° Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ AWS Lambda ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Lambda
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ AWS Lambda, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Lambda Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Π΅. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠΎΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ. ΠΡΡΠ³ΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΠΎΡΠΎΠΉ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ»Ρ ΡΠ΅Π»Π΅ΠΉ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΠΏΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄Π°Π²ΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΠΎΠ·Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 1 - Π‘Ρ
Π΅ΠΌΠ° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡ
Π΅ΠΌΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ AWS - ParentFunction , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° ΡΠ΅Π±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΠ»Ρ ΠΈΠ· IAM ( Invoke Other Lambda Function ), Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ - ChildFunction Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ChildFunction Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ, ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ParentFunction . ParentFunction ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅.
ΠΠ°ΠΊ ΠΈ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ParentFunction ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Π²ΡΠ·Π²Π°ΡΡ ChildFunction Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ProductName, Quantity ΠΈ UnitPrice ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ChildFunction , Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ, Π²ΡΡΠΈΡΠ»ΠΈΡ ΠΎΠ±ΡΡΡ ΡΡΠΌΠΌΡ ΠΏΡΠΎΠ΄Π°ΠΆ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ»ΠΊΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π²Π΅ΡΠ½Π΅Ρ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ParentFunction .
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ AWS Lambda - ChildFunction
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ChildFunction, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ParentFunction.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° https://console.aws.amazon.com/ ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠ΅ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠΈΡΠΊ Β« Lambda Β» ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌΡΡ ΡΠΏΠΈΡΠΊΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 2 - Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° AWS Lambda
ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ Π²Π°Ρ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ Β« Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Β».
Π ΠΈΡΡΠ½ΠΎΠΊ 3 - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ AWS
ΠΡΡΡΡ ΠΈΠΌΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ - Β«ChildFunctionΒ» ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Python 3.8 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 4 - ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΎΠ»Ρ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ Π»ΡΠΌΠ±Π΄Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ .
Π ΠΈΡΡΠ½ΠΎΠΊ 5 - ΠΡΠ±ΠΎΡ ΡΠΎΠ»ΠΈ
ΠΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° Π½ΠΎΠ²Π°Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
Π ΠΈΡΡΠ½ΠΎΠΊ 6 - Π‘ΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ AWS
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Visual Studio Code ΠΈ Π½Π°ΡΠ½Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ Π½Π°Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ ChildFunction ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ParentFunction
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ
- Π Π°ΡΡΡΠΈΡΠ°ΠΉΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
- ΠΠ΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ
Π ΠΈΡΡΠ½ΠΎΠΊ 7 - ΠΠΎΠ΄ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 14 18 19 20 21 22 23 24 25 26 27 28 29 30 0003 | import json import uuid def lambda_handler (event, context): # 1 ΠΡΠΎΡΡΠΈΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ productName = event ['ProductName'] amount = event ['Quantity'] unitPrice = event ['UnitPrice'] # 2 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π°ΠΊΠ°Π·Π° transactionId = str (uuid.uuid1 ()) # 3 ΠΠ½Π΅Π΄ΡΠΈΡΡ Business Logic ΡΡΠΌΠΌΠ° = ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ * unitPrice # 4 Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ return { 'TransactionID': transactionId, 'ProductName': productName , Β«Π‘ΡΠΌΠΌΠ°Β»: ΡΡΠΌΠΌΠ° } ################################## ########################################## # ΠΠ΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π² Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ # ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ event = { Β«ProductNameΒ»: Β«iPhone SEΒ», Β«QuantityΒ»: 2, Β«UnitPriceΒ»: 499 } response = lambda_handler (ΡΠΎΠ±ΡΡΠΈΠ΅, '') print (ΠΎΡΠ²Π΅Ρ) ################################# #################################### |
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π² Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² AWS.
Π ΠΈΡΡΠ½ΠΎΠΊ 8 - ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ChildFunction, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Test Event, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΈΠ· ParentFunction. ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ
ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Test Event, ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Configure .
Π ΠΈΡΡΠ½ΠΎΠΊ 9 - ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ
ΠΠ°ΠΉΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΈΠΌΡ ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π·Π΄Π΅ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
Π ΠΈΡΡΠ½ΠΎΠΊ 10 - ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Test , ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ChildFunction Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 11 - Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ Π²ΠΎΠ·Π²ΡΠ°Ρ Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΌΠΈ Π½ΠΈΠΆΠ΅ ΡΠ°ΡΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅, ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
- Π½ΠΎΠΌΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
- Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ
ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½Π° ParentFunction, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π²ΡΠ·ΠΎΠ²Π΅Ρ ChildFunction.
Π ΠΈΡΡΠ½ΠΎΠΊ 12 - ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ARN Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ ΠΈ ΡΠΎΠ»Π΅ΠΉ.
Π ΠΈΡΡΠ½ΠΎΠΊ 13 - ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ARN
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ParentFunction Π²ΡΠ·ΡΠ²Π°ΡΡ ChildFunction, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ParentFunction ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠ°Π²Π° Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π΄ΡΡΠ³ΠΎΠΉ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ.ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΊ ΡΠΎΠ»ΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°Π·Π½Π°ΡΠΈΠ² ΡΡΡ ΡΠΎΠ»Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ IAM Π½Π° ΠΏΠΎΡΡΠ°Π»Π΅ AWS ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Policies . Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Create Policy , ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 14 - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ
ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΒ» Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ JSON ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊ Π½Π΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ²ΠΎΠ΄ΠΊΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ URL-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅.ΠΠ°ΠΉΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π΅ ΠΈΠΌΡ ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΅Π΅. Π― ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ Π½Π°Π·Π²Π°ΡΡ ΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΊΠ°ΠΊ - Β« InvokeOtherLambdaPolicy Β».
Π ΠΈΡΡΠ½ΠΎΠΊ 15 - ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ JSON
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Roles ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Create role .
Π ΠΈΡΡΠ½ΠΎΠΊ 16 - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΠΈ
ΠΡΠ±Π΅ΡΠΈΡΠ΅ Β«ΠΡΠΌΠ±Π΄Π°Β» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠ°Π»Π΅Π΅Β», ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 17 - ΠΡΠ±ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊ ΡΡΠΎΠΉ ΡΠΎΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΎΠ»Ρ.
- AWSLambdaBasicExecutionRole
- InvokeOtherLambdaPolicy
Π ΠΈΡΡΠ½ΠΎΠΊ 18 - ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΎΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ AWS Lambda
Π ΠΈΡΡΠ½ΠΎΠΊ 19 - ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Π° Π΄ΡΡΠ³ΠΎΠΉ Π»ΡΠΌΠ±Π΄Π°-ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠ°Π»Π΅Π΅Β», ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΎΠ»Ρ.ΠΠ°ΠΉΡΠ΅ ΡΡΠΎΠΉ ΡΠΎΠ»ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π΅ ΠΈΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β« InvokeOtherLambdaRole Β».
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ AWS - ParentFunction
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Lambda Function ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Create New Lambda function. Π― Π²ΡΠ·ΡΠ²Π°Ρ ΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ - Β« ParentFunction Β». ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ Python 3.8 ΠΈ Π½Π°Π·Π½Π°ΡΡΡΠ΅ ΡΠΎΠ»Ρ InvokeOtherLambdaRole, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 20 - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Visual Studio Code, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π»ΡΠΌΠ±Π΄Π°.ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡ AWS Π² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ python Boto3 Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² AWS. ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ AWS ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 21 - ΠΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 14 18 19 20 21 22 23 24 25 26 | import json import boto3 # ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ AWS Lambda client = boto3.client ('lambda') def lambda_handler (event, context): # ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ # Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ inputParams = { "ProductName": Β«iPhone SEΒ», Β«ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΒ»: 2, Β«UnitPriceΒ»: 499 } response = client.invoke ( FunctionName = 'arn: aws: lambda: eu-west-1: 8 245818: ΡΡΠ½ΠΊΡΠΈΡ: ChildFunction ', InvocationType =' RequestResponse ', Payload = json.Π΄Π°ΠΌΠΏΡ (inputParams) ) responseFromChild = json.load (response ['Payload']) print ('\ n') print (responseFromChild) |
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ Boto Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° Π² ChildFunction ΠΏΡΠΈ Π΅Π΅ Π²ΡΠ·ΠΎΠ²Π΅. Π ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ChildFunction Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΎΠ½Π° Π²Π΅ΡΠ½Π΅Ρ ΠΎΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ response.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΠ· ΠΎΡΠ²Π΅ΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅. Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠ΄ ΠΈΠ· VS Code Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π»ΡΠΌΠ±Π΄Π°.
Π ΠΈΡΡΠ½ΠΎΠΊ 22 - Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π·Π΄Π΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Test .
Π ΠΈΡΡΠ½ΠΎΠΊ 23 - ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ParentFunction ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π² ChildFunction, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ· ChildFunction Π² ParentFunction. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΆΡΡΠ½Π°Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π ΠΈΡΡΠ½ΠΎΠΊ 24 - ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΠ», ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ AWS Lambda ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Π΅.