ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ python: ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Python Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ | Python 3 Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΈ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ²
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠ»Π°Π½ΠΈΡΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΈΠΌΠ΅Π½Π½ΡΡ ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ , ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ def, return ΠΈ lambda, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠ½ΠΊΡΠΈΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ def
Π€ΡΠ½ΠΊΡΠΈΡ Π² python — ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ def.
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΡΠΎΡΡΠ΅ΠΉΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ:
def add(x, y): return x + y
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ return Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΌΠΌΡ x ΠΈ y.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π΅Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ:
>>> add(1, 10) 11 >>> add('abc', 'def') 'abcdef'
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΡΠ±ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ (ΡΠΏΠΈΡΠΊΠΈ, ΠΊΠΎΡΡΠ΅ΠΆΠΈ, ΠΈ Π΄Π°ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ!):
>>> def newfunc(n): ... def myfunc(x): ... return x + n ... return myfunc ... >>> new = newfunc(100) # new - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ >>> new(200) 300
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ return, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ None:
>>> def func(): ... pass ... >>> print(func()) None
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈΡ Π²ΠΎΠ²ΡΠ΅. Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ.
>>> def func(a, b, c=2): # c - Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ... return a + b + c ... >>> func(1, 2) # a = 1, b = 2, c = 2 (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) 5 >>> func(1, 2, 3) # a = 1, b = 2, c = 3 6 >>> func(a=1, b=3) # a = 1, b = 3, c = 2 6 >>> func(a=3, c=6) # a = 3, c = 6, b Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Traceback (most recent call last): File "", line 1, in func(a=3, c=6) TypeError: func() takes at least 2 arguments (2 given)
Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ°Π²ΠΈΡΡΡ *:
>>> def func(*args): ... return args ... >>> func(1, 2, 3, 'abc') (1, 2, 3, 'abc') >>> func() () >>> func(1) (1,)
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°, args — ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ· Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ°Π²ΠΈΡΡΡ **:
>>> def func(**kwargs): ... return kwargs ... >>> func(a=1, b=2, c=3) {'a': 1, 'c': 3, 'b': 2} >>> func() {} >>> func(a='python') {'a': 'python'}
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ kwargs Ρ Π½Π°Ρ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ, ΠΎΠΏΡΡΡ-ΡΠ°ΠΊΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π·Π°Π±Π»Π°Π³ΠΎΡΠ°ΡΡΡΠ΄ΠΈΡΡΡ.
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ lambda
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ½ΠΈ Π±ΡΡΡΡΠ΅Π΅. ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ lambda. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π»ΠΈ ΠΌΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ def func():
>>> func = lambda x, y: x + y >>> func(1, 2) 3 >>> func('a', 'b') 'ab' >>> (lambda x, y: x + y)(1, 2) 3 >>> (lambda x, y: x + y)('a', 'b') 'ab'
lambda ΡΡΠ½ΠΊΡΠΈΠΈ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ, Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ return, Π° Π² ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ, Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅:
>>> func = lambda *args: args >>> func(1, 2, 3, 4) (1, 2, 3, 4)
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ β Π§Π°ΡΡΡ 1 β Lambda Π€ΡΠ½ΠΊΡΠΈΡ
Π― ΡΠ΅ΡΠΈΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡ ΡΠ΅ΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ, ΠΈΠ±ΠΎ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΠΎΠΉ ΡΡΠ΅Π½ΠΎΠΉ Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ Ρ.
ΠΠ΅Π΄Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ°ΡΠ΅ΠΉ Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΡΠ°ΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠΎ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ-ΡΠΎ Π² Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ (Π΄Π°Π»Π΅Π΅ Π€Π), ΡΠ΅Π±Π΅ Π½Π°Π΄ΠΎ ΡΠΆΠ΅ Π·Π½Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π² Π€Π. ΠΡΡ ΡΡΠ°ΡΡΡ Ρ ΡΡΠ°ΡΠ°Π»ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ β Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π΅Ρ ΡΡΡΡ ΠΌΠΎΠ³ ΡΠ»ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠΉ ΠΏΠ»Π΅ΠΌΡΠ½Π½ΠΈΠΊ, ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΠΉΡΠ°Ρ Π΄Π΅Π»Π°Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ Π² Python.
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π² ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π‘ΡΠΎΠΏβ¦ Π Π·Π°ΡΠ΅ΠΌ? ΠΠ± ΡΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΡΠΎΠ½Π½Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², Π΄Π° ΠΈ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ ΠΎΡΠΎΠ±ΠΎ Π½ΡΠΆΠ½Π°. ΠΡΠ° ΡΡΠ°ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ, ΡΠΎ ΡΠΎΠ²Π΅ΡΡΡ Π²Π°ΠΌ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΎ ΡΠ°ΠΊΠΈΡ Π²Π΅ΡΠ°Ρ , ΠΊΠ°ΠΊ
- Π§ΠΈΡΡΠ°Ρ Π€ΡΠ½ΠΊΡΠΈΡ
- Π€ΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Π² ΡΡΠΈΡ Π΄Π²ΡΡ ΠΏΠΎΠ½ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ.
Π§ΠΈΡΡΠ°Ρ Π€ΡΠ½ΠΊΡΠΈΡ β Π€ΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
Π’ΠΎ Π΅ΡΡΡ ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ»Π°ΡΡ ΡΠΈΡΡΠΎΠΉ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ β ΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΡΠΈΠΌΠ΅Ρ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
def sum(a,b):
return a+b
print(sum(3,6))
print(sum(3,6))
print(sum(3,6))
>>>9
>>>9
>>>9
Π ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ:
from datetime import date
todays_weekday = date.today().weekday()
def sum(a,b):
if todays_weekday == 1:
result = a+b
print(f'sum is {result} and result class is {type(result)}')
else:
result = str(a+b)
print(f'sum is {result} and result class is {type(result)}')
sum(4,5)
todays_weekday = 4
sum(4,5)
>>>sum is 9 and result class is <class 'int'>
>>>sum is 9 and result class is <class 'str'>
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΡΠΌΠ΅Π½Π΅ Π΄Π½Ρ Π½Π΅Π΄Π΅Π»ΠΈ (ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ) ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΄Π°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
Π‘Π°ΠΌΡΠΉ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΎ random:
import random
print(random.random())
print(random.random())
print(random.random())
>>>0.5002395668892657
>>>0.8837128676460416
>>>0.5308851462814731
ΠΡΠΎΡΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ².
ΠΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ:
my_list = [32,3,50,2,29,43]
def sort_by_sort(li):
li.sort()
print(li)
sort_by_sort(my_list)
print(my_list)
>>>[2, 3, 29, 32, 43, 50]
>>>[2, 3, 29, 32, 43, 50]
Π€ΡΠ½ΠΊΡΠΈΡ sort_by_sort ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠΎ ΡΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
my_list = [32,3,50,2,29,43]
def sort_by_sorted(li):
return sorted(li)
print(sort_by_sorted(my_list))
print(my_list)
>>>[2, 3, 29, 32, 43, 50]
>>>[32, 3, 50, 2, 29, 43]
Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ sort_by_sorted Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π΅ Π²ΡΠ²ΠΎΠ΄Ρ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΎΡΠΎΡΠΈ ΡΠ΅ΠΌ ΡΡΠΎ:
- ΠΠ½ΠΈ ΠΏΡΠΎΡΠ΅ ΡΠΈΡΠ°ΡΡΡΡ
- ΠΠ½ΠΈ ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ
- ΠΠ½ΠΈ ΠΏΡΠΎΡΠ΅ ΡΠ΅ΡΡΠΈΡΡΡΡΡΡ
- ΠΠ½ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΡ Π²ΡΠ·ΡΠ²Π°ΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΌ ΡΡΠΎ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° β Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ Π€ΠΠ:
def func(num):
return num**2
def higher_order_func(fun, num):
return fun(num)+fun(num)
print(func(4))
print(higher_order_func(func,4))
>>>16
>>>32
Π‘ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ ΡΡΡΡ ΡΡΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π³Ρ.
ΠΡΠ°ΠΊ, Π½Π°ΡΠ½Π΅ΠΌ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅. ΠΠΈΡΠ½ΠΎ Ρ Π·Π½Π°Ρ Π΄Π²Π΅ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΡΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ Π² ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ β ΡΡΠΎ ΠΠΠ ΠΈ Π€Π.
ΠΡΠ»ΠΈ ΡΠΏΡΠΎΡΠ°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΡΡ Π½Π° ΠΏΠ°Π»ΡΡΠ°Ρ , ΡΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΈ Π΄Π²Π΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- ΠΠΠ β ΡΡΠΎ ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ ΠΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
- ΠΠΎ ΡΠ°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΡΡΠΎ Π€Π β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈβ¦ ΠΡΠ²Π΅Ρ ΡΠΊΡΡΡ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠΈ.
ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΠ» ΠΌΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΡΡΠΈΡΠ΅Π»Ρ zverok ΠΠΈΠΊΡΠΎΡ Π¨Π΅ΠΏΠ΅Π»Π΅Π²: Β«ΠΡΡ ΡΠ°Π±ΠΎΡΠ° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ β ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ·ΡΠ» ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΠΈΠ³ΡΠ°Π»ΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΈ Π²Π΅ΡΠ½ΡΠ» ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.Β»
ΠΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈ ΠΊ Π€Π β Π²Π·ΡΠ» ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π°Π½Π½ΡΠ΅, Π²Π·ΡΠ» ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠΈΠ³ΡΠ°Π»ΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΈ Π²ΡΠ΄Π°Π» ΡΡΠΎ-ΡΠΎ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅.
ΠΠ΅ ΡΡΠ°Π½Ρ ΡΠ°ΡΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΡ, ΠΈΠ½Π°ΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠΎΠΎΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ. Π¦Π΅Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ β ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, Π° Π½Π΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΈ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π€Π.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ²ΠΎΠ΅ΠΌ Π€Π (ΠΊΠ°ΠΊ Ρ Π΅Π³ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ) β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. ΠΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎ. Π¦Π΅Π»Ρ Π€Π Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ, ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ Π»Π΅Π³ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π½Ρ ΠΈ ΠΊΡΠ΄Π° ΠΆΠ΅ Π±Π΅Π· ΡΡΠΎΠ³ΠΎ β ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠ½Π°Ρ ΠΌΠΎΡΠ°Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β DRY (Donβt Repeat Yourself β ΠΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠΉΡΡ).
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ Ρ Π²Π°ΠΌΠΈ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π€Π β Lambda ΡΡΠ½ΠΊΡΠΈΡ.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ Map, Zip, Filter ΠΈ Reduce.
Lambda ΡΡΠ½ΠΊΡΠΈΡ
Lambda β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² python ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ½ΠΎΠ³ΠΈΠΌ ΡΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠΊΠ°ΠΆΠ΅Ρ ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΡΠΎΡΡΠ½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°Π±ΠΎΡΡ lambda Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΠ°Ρ Π±Ρ ΡΡΠΈΡΠ°Π»Π° ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΊΡΡΠ³Π° ΠΏΡΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌ ΡΠ°Π΄ΠΈΡΡΠ΅.
Π€ΠΎΡΠΌΡΠ»Π° ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΊΡΡΠ³Π° ΡΡΠΎ
S = pi*(r**2)
Π³Π΄Π΅
S β ΡΡΠΎ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΊΡΡΠ³Π°
pi β ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΡΠ°Π²Π½Π°Ρ 3.14 ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Math
r β ΡΠ°Π΄ΠΈΡΡ ΠΊΡΡΠ³Π° β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π½Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠΎΡΠΌΠΈΠΌ ΡΡΠΎ Π²ΡΠ΅ Π² python:
import math #ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ math
pi_const = round(math.pi, 2) #ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΠΌ pi Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ 3.141592653589793 Π° Π½Π°ΠΌ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ
# ΠΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΊΡΡΠ³Π° ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π΄ΠΈΡΡΡ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ
def area_of_circle_simple(radius):
return pi_const*(radius**2)
print(area_of_circle_simple(5))
print(area_of_circle_simple(12))
print(area_of_circle_simple(26))
>>>78.5
>>>452.16
>>>2122.64
ΠΡΠΎΠ΄Π΅ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ, Π½ΠΎ ΡΡΠΎ Π²ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΡΠ΄Π° ΠΊΡΡΡΠ΅, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠΎ ΡΠ΅ΡΠ΅Π· lambda:
import math #ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ math
pi_const = round(math.pi, 2) #ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΠΌ pi Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ°
# ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ
# ΠΊΠ°ΠΊ 3.141592653589793 Π° Π½Π°ΠΌ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ
print((lambda radius: pi_const*(radius**2))(5))
print((lambda radius: pi_const*(radius**2))(12))
print((lambda radius: pi_const*(radius**2))(26))
>>>78.5
>>>452.16
>>>2122.64
Π§ΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅, Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΡΠΎ, ΡΡΠΎ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΅Ρ, Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΡ, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅.
ΠΡΠΌΠ±Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ
print((lambda ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ : ΡΡΠΎ ΡΠΎ Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°Π΅ΡΡΡ)(ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ))
>>>ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ ΡΡΡΠΎΠΊΠΎΠΉ Π²ΡΡΠ΅
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π΄Π²ΡΠΌΡ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠ° ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΌΡΠ»Π΅:
V = (height*pi_const*(radius**2))/3
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠΎ Π²ΡΠ΅ Π² python:
import math #ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ math
pi_const = round(math.pi, 2) #ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΠΌ pi Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ 3.141592653589793 Π° Π½Π°ΠΌ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ
#Π€ΠΎΡΠΌΡΠ»Π° ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠ° Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π·Π°ΠΏΠΈΡΠΈ
def cone_volume(height, radius):
volume = (height*pi_const*(radius**2))/3
return volume
print(cone_volume(3, 10))
>>>314.0
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π² lambda ΡΠΎΡΠΌΠ΅:
import math #ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ math
pi_const = round(math.pi, 2) #ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΠΌ pi Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ 3.141592653589793 Π° Π½Π°ΠΌ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ
print((lambda height, radius : (height*pi_const*(radius**2))/3)(3, 10))
>>>314.0
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π΄Π΅ΡΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎΡΡΠΈΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΡΡΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ°, Π³Π΄Π΅ Ρ Π½Π°Ρ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ 3 ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
ΠΠ±ΡΠ΅ΠΌ ΡΡΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ° ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅:
V = (pi_const*height*(r1**2 + r1*r2 + r2**2))/3
Π Π²ΠΎΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π² python ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈ:
import math #ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ math
pi_const = round(math.pi, 2) #ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΠΌ pi Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ 3.141592653589793 Π° Π½Π°ΠΌ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ
#Π€ΠΎΡΠΌΡΠ»Π° ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΡΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ° Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ
def cone_volume(h,r1,r2):
return (pi_const * h * (r1 ** 2 + r1 * r2 + r2 ** 2))/3
print(cone_volume(12, 8, 5))
print(cone_volume(15, 10, 6))
print(cone_volume(20, 12, 9))
>>>1620.24
>>>3077.20
>>>6970.8
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Ρ lambda:
import math #ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ math
pi_const = round(math.pi, 2) #ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΠΌ pi Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ 3.141592653589793 Π° Π½Π°ΠΌ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ
print((lambda height, radius1, radius2 : (height*pi_const*(radius1**2 + radius1*radius2 + radius2**2))/3)(12, 8, 5))
print((lambda height, radius1, radius2 : (height*pi_const*(radius1**2 + radius1*radius2 + radius2**2))/3)(15, 10, 6))
print((lambda height, radius1, radius2 : (height*pi_const*(radius1**2 + radius1*radius2 + radius2**2))/3)(20, 12, 9))
>>>1620.24
>>>3077.20
>>>6970.8
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ lambda ΡΡΠ½ΠΊΡΠΈΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π΅ΡΡ ΠΊΠΎΠ΅-ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ lambda ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π΄Π»Ρ Π²Π°Ρ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ β Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ.
Π‘ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ Π² python Ρ ΠΏΠΎΠΌΠΎΡΡΡ lambda Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π³Π»ΡΠΏΠΎ β ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π±ΡΡΡΠ°Π½ΠΈΠ΅ ΠΌΡΡΠΊΡΠ»Π°ΠΌΠΈ ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΎΠ½ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
ΠΡ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ (Π½Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΠΈΡΠ΅Π») ΠΈ Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π΅Π³ΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ β ΡΡΡ ΠΆΠ΅ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sorted(). Π Π² ΠΏΡΠ°Π²Π΄Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΠΎ.
new_int_list = [43,23,56,75,12,32] # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π»
print(sorted(new_int_list)) # Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π»
new_string_list = ['zum6z', 'yybt0', 'h2uwq', '2k9f9', 'hin9h', 'b0p0m'] # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ
print(sorted(new_string_list)) # Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ
>>>[12, 23, 32, 43, 56, 75]
>>>['2k9f9', 'b0p0m', 'h2uwq', 'hin9h', 'yybt0', 'zum6z']
Π ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ , Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Ρ Π²Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ sorted() (Π½Ρ ΠΈΠ»ΠΈ sort(), Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΠΌΠ΅ΡΡΠ΅ Π±Π΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ).
ΠΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΊΠ»ΡΡΠ°ΠΌ? Π’ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΡ ΠΊΠ°ΠΊ Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠΈΠ»Π΅, ΡΠ°ΠΊ ΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ½ΠΈΠ³ Π²ΡΠ΅Π»Π΅Π½Π½ΠΎΠΉ ΠΠ΅ΡΠ½ΠΈ ΠΡΠ΄Π° ΠΈ ΠΠ»Π°ΠΌΠ΅Π½ΠΈ Ρ Π΄Π°ΡΠ°ΠΌΠΈ ΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΡΠ°Π½ΠΈΡ Π² Π½ΠΈΡ .
ΠΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°, Π½Π°ΡΠ½Π΅ΠΌ Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
# Π‘ΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³
asoiaf_books = [
{'title' : 'Game of Thrones', 'published' : '1996-08-01', 'pages': 694},
{'title' : 'Clash of Kings', 'published' : '1998-11-16', 'pages': 761},
{'title' : 'Storm of Swords', 'published' : '2000-08-08', 'pages': 973},
{'title' : 'Feast for Crows', 'published' : '2005-10-17', 'pages': 753},
{'title' : 'Dance with Dragons', 'published' : '2011-07-12', 'pages': 1016}
]
# Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ
def get_title(book):
return book.get('title')
# Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ
def get_publish_date(book):
return book.get('published')
# Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠ°Π½ΠΈΡ Π² ΠΊΠ½ΠΈΠ³Π΅
def get_pages(book):
return book.get('pages')
# Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ
asoiaf_books.sort(key=get_title)
for book in asoiaf_books:
print(book)
print('-------------')
# Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎ Π΄Π°ΡΠ°ΠΌ
asoiaf_books.sort(key=get_publish_date)
for book in asoiaf_books:
print(book)
print('-------------')
# Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΡΠ°Π½ΠΈΡ
asoiaf_books.sort(key=get_pages)
for book in asoiaf_books:
print(book)
>>>{'title': 'Clash of Kings', 'published': '1998-11-16', 'pages': 761}
>>>{'title': 'Dance with Dragons', 'published': '2011-07-12', 'pages': 1016}
>>>{'title': 'Feast for Crows', 'published': '2005-10-17', 'pages': 753}
>>>{'title': 'Game of Thrones', 'published': '1996-08-01', 'pages': 694}
>>>{'title': 'Storm of Swords', 'published': '2000-08-08', 'pages': 973}
>>>-------------
>>>{'title': 'Game of Thrones', 'published': '1996-08-01', 'pages': 694}
>>>{'title': 'Clash of Kings', 'published': '1998-11-16', 'pages': 761}
>>>{'title': 'Storm of Swords', 'published': '2000-08-08', 'pages': 973}
>>>{'title': 'Feast for Crows', 'published': '2005-10-17', 'pages': 753}
>>>{'title': 'Dance with Dragons', 'published': '2011-07-12', 'pages': 1016}
>>>-------------
>>>{'title': 'Game of Thrones', 'published': '1996-08-01', 'pages': 694}
>>>{'title': 'Feast for Crows', 'published': '2005-10-17', 'pages': 753}
>>>{'title': 'Clash of Kings', 'published': '1998-11-16', 'pages': 761}
>>>{'title': 'Storm of Swords', 'published': '2000-08-08', 'pages': 973}
>>>{'title': 'Dance with Dragons', 'published': '2011-07-12', 'pages': 1016}
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ ΡΡΠΎ Π²ΡΠ΅ ΡΠ΅ΡΠ΅Π· lambda ΡΡΠ½ΠΊΡΠΈΡ:
# Π‘ΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³
asoiaf_books = [
{'title' : 'Game of Thrones', 'published' : '1996-08-01', 'pages': 694},
{'title' : 'Clash of Kings', 'published' : '1998-11-16', 'pages': 761},
{'title' : 'Storm of Swords', 'published' : '2000-08-08', 'pages': 973},
{'title' : 'Feast for Crows', 'published' : '2005-10-17', 'pages': 753},
{'title' : 'Dance with Dragons', 'published' : '2011-07-12', 'pages': 1016}
]
# Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ
for book in sorted(asoiaf_books, key=lambda book: book.get('title')):
print(book)
print('-------------')
# Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎ Π΄Π°ΡΠ°ΠΌ
for book in sorted(asoiaf_books, key=lambda book: book.get('published')):
print(book)
print('-------------')
# Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΡΠ°Π½ΠΈΡ
for book in sorted(asoiaf_books, key=lambda book: book.get('pages')):
print(book)
>>>{'title': 'Clash of Kings', 'published': '1998-11-16', 'pages': 761}
>>>{'title': 'Dance with Dragons', 'published': '2011-07-12', 'pages': 1016}
>>>{'title': 'Feast for Crows', 'published': '2005-10-17', 'pages': 753}
>>>{'title': 'Game of Thrones', 'published': '1996-08-01', 'pages': 694}
>>>{'title': 'Storm of Swords', 'published': '2000-08-08', 'pages': 973}
>>>-------------
>>>{'title': 'Game of Thrones', 'published': '1996-08-01', 'pages': 694}
>>>{'title': 'Clash of Kings', 'published': '1998-11-16', 'pages': 761}
>>>{'title': 'Storm of Swords', 'published': '2000-08-08', 'pages': 973}
>>>{'title': 'Feast for Crows', 'published': '2005-10-17', 'pages': 753}
>>>{'title': 'Dance with Dragons', 'published': '2011-07-12', 'pages': 1016}
>>>-------------
>>>{'title': 'Game of Thrones', 'published': '1996-08-01', 'pages': 694}
>>>{'title': 'Feast for Crows', 'published': '2005-10-17', 'pages': 753}
>>>{'title': 'Clash of Kings', 'published': '1998-11-16', 'pages': 761}
>>>{'title': 'Storm of Swords', 'published': '2000-08-08', 'pages': 973}
>>>{'title': 'Dance with Dragons', 'published': '2011-07-12', 'pages': 1016}
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, lambda ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π²Π΅ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°ΠΏΠΈΡΠ°Π² Π΅Π³ΠΎ ΡΠ°ΠΌΠΈ, ΡΠΎ Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΡΠ½ΡΠ½Π΅ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ lambda Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅.
ΠΠΎ Π³Π΄Π΅ ΠΆΠ΅ ΡΡΡ ΡΠ° ΡΠ°ΠΌΠ°Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΌΠ΅ΡΡΠ°, Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠ°ΠΌΡΡΠΈ? ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠ°ΡΠ° ΡΡΡΠΎΠΊ.
Π Π²ΠΎΡ ΡΡΡ ΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ Π²Π΅ΡΠ°ΠΌ.
ΠΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅, Π³Π΄Π΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ map ΡΡΠ½ΠΊΡΠΈΡ.
UPD: ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΡΠ±Π°ΠΌ, ΡΠ°ΡΡΡΠ°Π²ΠΈΠ» Π·Π½Π°ΠΊΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
Lambda Π² Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ : ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΡΠΎΠΊ: Π€ΡΠ½ΠΊΡΠΈΠΈ Π² Python
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ β ΡΡΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
lambda Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ : Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
lambda ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ a
Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½Ρ b
ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
x = lambda a, b: a * b
print(x(5, 6))
ΠΡΠ²ΠΎΠ΄:
30
Π ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠΌΠΌΠΈΡΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ a
, b
ΠΈ c
ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
x = lambda a, b, c: a + b + c
print(x(5, 6, 2))
ΠΡΠ²ΠΎΠ΄:
13
ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ?
Π‘ΠΈΠ»Ρ Π»ΡΠΌΠ±Π΄Π° Π»ΡΡΡΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΅Π΅ ΠΊΠ°ΠΊ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΈ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ Π½Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:
def myfunc(n):
return lambda a: a * n
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅:
def myfunc(n):
return lambda a: a * n
mydoubler = myfunc(2)
print(mydoubler(11))
ΠΡΠ²ΠΎΠ΄:
22
ΠΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ:
def myfunc(n):
return lambda a: a * n
mytripler = myfunc(3)
print(mytripler(11))
ΠΡΠ²ΠΎΠ΄:
33
ΠΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅:
def myfunc(n):
return lambda a: a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
ΠΡΠ²ΠΎΠ΄:
22
33
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ lambda-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½ΡΠΆΠ½Π° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π°, Π½ΠΎ Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΠ΅.
ΠΠ°Π»Π΅Π΅: ΠΠ°ΡΡΠΈΠ²Ρ
ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ~ PythonRu
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
def compute_surface(radius):
from math import pi
return pi * radius * radius
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ def
ΠΏΠ΅ΡΠ΅Π΄ Π΅Π΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π° ΠΏΠΎΡΠ»Π΅ β ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅. Π‘Π»Π΅Π΄ΠΎΠΌ ΠΈΠ΄Π΅Ρ Π±Π»ΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ.
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΠ° Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ return
, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ return
Π½Π΅Ρ, ΡΠΎΠ³Π΄Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ None
. ΠΠ°ΠΊ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
i = 0
def increment():
global i
i += 1
Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i
ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ None
(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ).
ΠΡΠ·ΠΎΠ²Ρ
ΠΠ»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ:
surface = compute_surface(1.)
ΠΠ»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
increment()
ΠΡΠ΅
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, Π΅ΡΠ»ΠΈ Π±Π»ΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
def sum(a, b): return a + b
Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ:
def func1(a, b):
def inner_func(x):
return x*x*x
return inner_func(a) + inner_func(b)
Π€ΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ return
ΠΠΎΠ·Π²ΡΠ°Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π° ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎ ΠΊΡΠ΄Π° ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ return
, ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΆΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ ΡΠ°Π½Π΅Π΅. ΠΡΠ»ΠΈ Π΅Π΅ Π½Π΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ, ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ None
.
ΠΠΎΠ·Π²ΡΠ°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
ΠΠΎΠΊΠ° ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° Π½ΠΈΡΠ΅Π³ΠΎ (ΠΎΠ±ΡΠ΅ΠΊΡ None). Π ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ? ΠΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
def stats(data):
"""Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ"""
_sum = sum(data)
mean = sum / float(len(data))
variance = sum([(x-mean(data))**2/len(data) for x in data])
return mean,variance
m, v = stats([1, 2, 1])
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
Π ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π½ΠΎ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ. ΠΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. Π’Π°ΠΊΠΆΠ΅ Python ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²-ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ².
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΡΡΠΎ ΠΈΠΌΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅. ΠΡΠ³ΡΠΌΠ΅Π½Ρ β ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΡΡΠ»ΠΊΠ° Π½Π° Π½Π΅Π³ΠΎ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅. Π ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
def sum(x, y):
return x + y
x ΠΈ y β ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π° Π² ΡΡΠΎΠΉ:
sum(1, 2)
1 ΠΈ 2 β Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
def compute_surface(radius, pi=3.14159):
return pi * radius * radius
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΡΠΎΠ³Π΄Π° Π²ΡΠ΅, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠΏΡΠ°Π²Π°, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΡ ΠΎΠ΄ΠΈΡ, ΡΡΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄ΠΎΠΏΡΡΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°:
def compute_surface(radius=1, pi):
return pi * radius * radius
ΠΠ»Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅:
S = compute_surface(10, pi=3.14)
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΊΠΎΡΡΠ΅ΠΊΡΠ΅Π½ (ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°), Π½ΠΎ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ:
S = compute_surface(radius=10, pi=3.14)
Π ΡΡΠΎΡ Π²ΡΠ·ΠΎΠ² Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ΅Π½:
S = compute_surface(pi=3.14, 10)
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
def compute_surface2(radius=1, pi=3.14159):
return pi * radius * radius
S = compute_surface2(radius=1, pi=3.14)
S = compute_surface2(pi=3.14, radius=10.)
S = compute_surface2(radius=10.)
ΠΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°, Π½ΠΎ ΡΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠ΄ΠΊΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ:
S = compute_surface2(10., 3.14)
S = compute_surface2(10.)
ΠΡΠ»ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΡΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ:
def f(a=1,b=2, c=3):
return a + b + c
ΠΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ:
f(1,,3)
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ:
params = {'a':10, 'b':20}
S = f(**params)
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ (Π½Π΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅). Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ:
def inplace(x, mutable=[]):
mutable.append(x)
return mutable
res = inplace(1)
res = inplace(2)
print(inplace(3))
[1, 2, 3]
def inplace(x, lst=None):
if lst is None: lst=[]
lst.append()
return lst
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΎΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅:
def change_list(seq):
seq[0] = 100
original = [0, 1, 2]
change_list(lst1)
original
[100, 1, 2]
ΠΠ°Π±Ρ Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
original = [0, 1, 2]
change_list(original[:])
original
[100, 1, 2]
Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ
ΠΠ½ΠΎΠ³Π΄Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ. ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ°ΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ max()
ΠΈ min()
. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
def func(pos_params, *args):
block statememt
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
func(pos_params, arg1, arg2, ...)
Python ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΡΡΠ΅ΠΆ (*args), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎΡ ΡΠ°ΠΊ:
def add_mean(x, *data):
return x + sum(data)/float(len(data))
add_mean(10,0,1,2,-1,0,-1,1,2)
10.5
ΠΡΠ»ΠΈ Π»ΠΈΡΠ½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΠΎΠΉ ΠΊΠΎΡΡΠ΅ΠΆ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²-ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ²
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²-ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°):
def func(pos_params, *args, **kwargs):
block statememt
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
func(pos_params, kw1=arg1, kw2=arg2, ...)
Python ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ-ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΡΡΠ΅ΠΆ (*args), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠΌ. ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π»). Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΎΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ Π»ΠΈΡΠ½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΡΠ»ΠΎΠ²Π°ΡΡ (**kwargs), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ:
def print_mean_sequences(**kwargs):
def mean(data):
return sum(data)/float(len(data))
for k, v in kwargs.items():
print k, mean(v)
print_mean_sequences(x=[1,2,3], y=[3,3,0])
y 2.0
x 2.0
ΠΠ°ΠΆΠ½ΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²ΠΈΡΡ Π΄Π²Π΅ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΈ (**):
print_mean_sequences(**{'x':[1,2,3], 'y':[3,3,0]})
y 2.0
x 2.0
ΠΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ Π½Π΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ:
def sum(s,y): return x + y
ΠΡΠ»ΠΈ ΠΈΠ·ΡΡΠΈΡΡ Π΅Π΅, ΠΎΠ±Π½Π°ΡΡΠΆΠ°ΡΡΡ Π΄Π²Π° ΡΠΊΡΡΡΡΡ
ΠΌΠ΅ΡΠΎΠ΄Π° (ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π΄Π²ΡΡ
Π·Π½Π°ΠΊΠΎΠ² Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ), ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ
Π΅ΡΡΡ __doc__
. ΠΠ½ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² Python Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ docstring
ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π° Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
def sum(x, y):
"""ΠΠ΅ΡΠ²Π°Ρ ΡΡΠΎΠΊΠ° - Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ
ΠΠ°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΈ ΡΠ΅ΠΊΡΡ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
"""
return x+y
ΠΠΎΠΌΠ°Π½Π΄Π° docstring
Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΅ ΠΏΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ:
print(sum.__doc__)
sum.__doc__ += "some additional text"
ΠΠ΅ΡΠΎΠ΄Ρ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠ»ΠΈ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΡ, ΡΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠΊΠ°ΠΆΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ (Π² Python Π²ΡΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ β Π΄Π°ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ):
sum.func_closure sum.func_defaults sum.func_doc sum.func_name
sum.func_code sum.func_dict sum.func_globals
Π Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°:
>>> sum.__name__
"sum"
>>> sum.__module
"__main__"
ΠΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ΠΠΎΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈΡΡ:
sum.__call__ sum.__delattr__ sum.__getattribute__ sum.__setattr__
sum.__class__ sum.__dict__ sum.__globals__ sum.__new__ sum.__sizeof__
sum.__closure__ sum.__hash__ sum.__reduce__ sum.__str__
sum.__code__ sum.__format__ sum.__init__ sum.__reduce_ex__ sum.__subclasshook__
sum.__defaults__ sum.__get__ sum.__repr__
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π Π΅ΠΊΡΡΡΠΈΡ β ΡΡΠΎ Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Python. ΠΡΠΎ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΠ°Ρ ΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π² Computer Science, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΌΠ° ΡΠ΅Π±Ρ. Π‘Π°ΠΌΡΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° n! = n * n β 1 * n -2 * β¦ 2 *1. ΠΠ½Π°Ρ, ΡΡΠΎ 0! = 1, ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
def factorial(n):
if n != 0:
return n * factorial(n-1)
else:
return 1
ΠΡΡΠ³ΠΎΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ:
f(0) = 1
f(1) = 1
f(n) = f(n-1) + f(n-2)
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
def fibbonacci(n):
if n >= 2:
else:
return 1
ΠΠ°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π² Π½Π΅ΠΉ Π±ΡΠ»ΠΎ Π±ΡΠ»Π° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° Π²ΡΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ. ΠΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ:
def factorial(n):
assert n > 0
if n != 0:
return n * factorial(n-1)
else:
return 1
ΠΠ°ΠΆΠ½ΠΎ!
Π Π΅ΠΊΡΡΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΡΡΠΎ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±Π°Π³ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»ΠΈΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ), ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Ρ
Π²Π°ΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°Π΄Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ sys
.
ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
ΠΠΎΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
i = 0
def increment():
global i
i += 1
ΠΠ΄Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π½Π° 1 Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i
. ΠΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΅Π· Π½Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i
. ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ global
ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ.
ΠΠ° ΡΠ΅Π΄ΠΊΠΈΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π»ΡΡΡΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
Π‘ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ func
ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ:
variable = func
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ·ΠΆΠ΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΏΡΡΠΌΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ΅Π½ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ:
def func(x): return x
a1 = func
a1(10)
10
a2 = a1
a2()
10
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ a1, a2 ΠΈ func
ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ id. ΠΠ½ΠΈ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ sq
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΊΠ²Π°Π΄ΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
def sq(x): return x*x
ΠΠΎΠ·ΠΆΠ΅ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ. ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ sq
, ΡΠΎ ΡΡΠΎΡ ΡΡΠ°ΡΡΠΎΠΊ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΡΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
square = sq
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ΅Π½Π°:
dir = 3
Π’Π΅ΠΏΠ΅ΡΡ ΠΊ Π½Π΅ΠΉ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ, Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ Π΅Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ:
del dir
dir()
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ: Π»ΡΠΌΠ±Π΄Π°
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ β ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΡ Π΄Π°Π²Π°ΡΡ. Π’Π°ΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π»ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, if
, for
ΠΈ while
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ. ΠΡ
ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ:
product = lambda x,y: x*y
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π·Π΄Π΅ΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ return
. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠ°ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ type()
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΈΠΏ:
>>> type(product)
function
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄Π½Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ.
power = lambda x=1, y=2: x**y
square = power
square(5.)
25
power = lambda x,y,pow=2: x**pow + y
[power(x,2, 3) for x in [0,1,2]]
[2, 3, 10]
ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
>>> def foo(x=[]):
... x.append(1)
... print x
...
>>> foo()
[1]
>>> foo()
[1, 1]
>>> foo()
[1, 1, 1]
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎΒ» ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
>>> def foo(x=None):
... if x is None:
... x = []
... x.append(1)
... print x
>>> foo()
[1]
>>> foo()
[1]
Pythonicway — Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² Python, ΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: lambda, map, filter, reduce, zip.
- Lambda Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Python.
- Π€ΡΠ½ΠΊΡΠΈΡ map() Π² Python.
- Π€ΡΠ½ΠΊΡΠΈΡ filter() Π² Python.
- Π€ΡΠ½ΠΊΡΠΈΡ reduce() Π² Python.
- Π€ΡΠ½ΠΊΡΠΈΡ zip() Π² Python.
lambda ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ lambda ΡΡΠ½ΠΊΡΠΈΡ Π² Python ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠΎ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ. Π’Π°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠΌΠΈ, ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, lambda ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ filter, map, reduce.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ lambda Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Python
lambda arguments: expression
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ arguments ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΠΎΠΉ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½Π°Π΄ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ expression. ΠΡΠ»ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ lambda-ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ (Π΄Π΅Π»Π°Π΅ΠΌ ΠΌΡ ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΠ΅Π»ΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ)
>>> multiply = lambda x,y: x * y >>> multiply(21, 2) 42
Β ΠΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° lambda-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ lambda Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
Π Python ΡΡΠ½ΠΊΡΠΈΡ map ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΎΡΡΠ°Π²Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠΈΡΠΎΠΊ. map ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π», ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΠ΅ ΡΡΠΈ ΡΠΈΡΠ»Π° ΠΈΠΌΠ΅ΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌΠΈ — Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΈΡ Π² ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:
old_list = ['1', '2', '3', '4', '5', '6', '7'] new_list = [] for item in old_list: new_list.append(int(item)) print (new_list) [1, 2, 3, 4, 5, 6, 7]
Π’ΠΎΡ ΠΆΠ΅ ΡΡΡΠ΅ΠΊΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΡΡΠ½ΠΊΡΠΈΡ map:
old_list = ['1', '2', '3', '4', '5', '6', '7'] new_list = list(map(int, old_list)) print (new_list) [1, 2, 3, 4, 5, 6, 7]
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΡΠΎΠΊ, Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±Π΅Π»Π΅Π½ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅. map ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ:
def miles_to_kilometers(num_miles): """ Converts miles to the kilometers """ return num_miles * 1.6 mile_distances = [1.0, 6.5, 17.4, 2.4, 9] kilometer_distances = list(map(miles_to_kilometers, mile_distances)) print (kilometer_distances) [1.6, 10.4, 27.84, 3.84, 14.4]
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ lambda Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
mile_distances = [1.0, 6.5, 17.4, 2.4, 9] kilometer_distances = list(map(lambda x: x * 1.6, mile_distances)) print (kilometer_distances) [1.6, 10.4, 27.84, 3.84, 14.4]
Π€ΡΠ½ΠΊΡΠΈΡ map ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ², Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ-Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΏΠΈΡΠΊΠΎΠ²:
l1 = [1,2,3] l2 = [4,5,6] new_list = list(map(lambda x,y: x + y, l1, l2)) print (new_list) [5, 7, 9]
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ°Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅:
l1 = [1,2,3] l2 = [4,5] new_list = list(map(lambda x,y: + y, l1, l2)) print (new_list) [5,7]
Π€ΡΠ½ΠΊΡΠΈΡ filter ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ:
mixed = ['ΠΌΠ°ΠΊ', 'ΠΏΡΠΎΡΠΎ', 'ΠΌΠ°ΠΊ', 'ΠΌΠ°ΠΊ', 'ΠΏΡΠΎΡΠΎ', 'ΠΌΠ°ΠΊ', 'ΠΏΡΠΎΡΠΎ', 'ΠΏΡΠΎΡΠΎ', 'ΠΏΡΠΎΡΠΎ', 'ΠΌΠ°ΠΊ'] zolushka = list(filter(lambda x: x == 'ΠΌΠ°ΠΊ', mixed)) print (zolushka) ['ΠΌΠ°ΠΊ', 'ΠΌΠ°ΠΊ', 'ΠΌΠ°ΠΊ', 'ΠΌΠ°ΠΊ', 'ΠΌΠ°ΠΊ']
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ Π² filter Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True / False, ΡΡΠΎΠ±Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π»ΠΈΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ reduce ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ 2 Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. reduce() ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ-Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΏΠΈΡΠΊΠ°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² Python 2.x ΡΡΠ½ΠΊΡΠΈΡ reduce Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ Π² Python 3 ΠΎΠ½Π° Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π° Π² ΠΌΠΎΠ΄ΡΠ»Ρ functools.
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ reduce:
from functools import reduce items = [1,2,3,4,5] sum_all = reduce(lambda x,y: x + y, items) print (sum_all) 15
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ reduce:
from functools import reduce items = [1, 24, 17, 14, 9, 32, 2] all_max = reduce(lambda a,b: a if (a > b) else b, items) print (all_max) 32
Π€ΡΠ½ΠΊΡΠΈΡ zip ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π² ΠΊΠΎΡΡΠ΅ΠΆΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
a = [1,2,3] b = "xyz" c = (None, True) res = list(zip(a, b, c)) print (res) [(1, 'x', None), (2, 'y', True)]
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ zip ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°.
ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ ΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ (Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ)
Π Python ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ
Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ°ΠΌΡ ΠΈΠ· ΡΠ΅Π±Ρ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ΅ΠΉ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ
ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π² ΡΡΠ΅ΠΏΠ΅Π½ΠΈ n (n β ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ).
def pow(x, n): Β Β Β if n == 0: Β Β Β Β Β Β Β return 1 Β Β Β else: Β Β Β Β Β Β Β return x*pow(x, n-1)
Π, Π΄Π°Π»Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ
Π΅Π΅ Π²ΡΠ·Π²Π°ΡΡ ΡΠ°ΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ ΠΊΠ°ΠΊ ΠΎΠ½Π°
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π·Π°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ
ΡΠΎ Π΅ΡΡΡ, Π΄Π»Ρ
Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΌ n-ΠΌ ΡΠ°Π³Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π·ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°
ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ n-1-ΠΌ ΡΠ°Π³Π΅ ΠΈ
ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π΅Π³ΠΎ Π½Π° x. ΠΡΠ° ΡΠΎΡΠΌΡΠ»Π°, ΠΏΠΎ ΡΡΡΠΈ, ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅ΠΊΡΡΡΠΈΠΈ. Π
Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ°Π»Π΅Π΅, Π·Π°ΠΏΡΡΠΊ
ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ 2 ΠΈ 3: pow(2, 3). ΠΠ½Π°
ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠ·ΠΎΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°Π»Π΅Π΅, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅. ΠΠ½ΠΎ
ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ 3 == 0 Π΄Π°Π΅Ρ false. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ΄Π΅Ρ
ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° else ΠΈ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ return, ΡΠ½ΠΎΠ²Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ° ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ pow(2, 2).
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
ΡΡΠ½ΠΊΡΠΈΠΈ pow(2, 3) ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ,
Π² ΡΡΠ΅ΠΊ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²ΡΠΎΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ pow(2, 2) ΠΈ ΠΎΠ½Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ. Π‘Π½ΠΎΠ²Π°
ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΎΠ½ΠΎ Π»ΠΎΠΆΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ else ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ return ΠΈ ΠΎΠΏΡΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ
ΡΡΠ½ΠΊΡΠΈΡ pow(2, 1).
ΠΠ΄Π΅ΡΡ ΡΠ½ΠΎΠ²Π° Π²ΡΠ΅
ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ, Π² ΡΡΠ΅ΠΊ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ
ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ pow(2, 0).
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅
ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ pow(2,0) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1 ΠΈ
ΡΠ΅ΠΊΡΡΡΠΈΡ Π½Π΅ ΠΈΠ΄Π΅Ρ Π΄Π°Π»ΡΡΠ΅ Π²Π³Π»ΡΠ±Ρ β ΠΎΠ½Π° ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ pow(2.0)
Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΎΠ½Π° ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ pow(2, 1). ΠΠΎ ΠΎΠ½Π°
ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°. ΠΠΎΡΡΠΎΠΌΡ, Π±Π΅ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1 ΠΎΡ pow(2, 0),
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° x=2 ΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Π° 2 Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ pow(2, 1).
Π€ΡΠ½ΠΊΡΠΈΡ pow(2,1) ΡΠ°ΠΊΠΆΠ΅
ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ°, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ pow(2,2) ΠΈ Π·Π΄Π΅ΡΡ ΠΌΡ
ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ x*x, ΡΠΎ Π΅ΡΡΡ, 2*2 =
4. ΠΠ°Π»Π΅Π΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ ΡΠ°ΠΌΠΎΠΉ Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ pow(2,3), Π·Π΄Π΅ΡΡ 2*4=8
ΠΈ ΡΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°
Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ ΠΊΠΎΡΡΠ΅ΠΆΠ°Ρ
, ΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ Π½Π° ΡΠ°ΠΊΡΡ ΡΠ°Π±ΠΎΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ:
ΠΠ΄Π΅ΡΡ x ΠΈ y ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1 ΠΈ 2 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΎ ΠΊΠΎΠ³Π΄Π° ΡΡΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π±ΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
:
ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»Π°
ΠΎΡΠΈΠ±ΠΊΠ°. Π’Π°ΠΊ Π²ΠΎΡ, ΡΠΌΠΎΡΡΠΈΡΠ΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ *, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅Π΄ y, ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅
Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ:
ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ x = 1, Π° y = [2, 3, 4]. Π’ΠΎ
Π΅ΡΡΡ, Π²ΠΎ Π²ΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅
ΡΠΏΠΈΡΠΊΠ°. ΠΠ»ΠΈ ΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
Π’ΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΈ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π² x:
x = [1, 2, 3]
Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π² y: y = 4. Π’ΠΎ ΠΆΠ΅
ΡΠ°ΠΌΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ:
ΠΈ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ:
*x, y, z = "Hello world!"
Π Π²ΠΎΠΎΠ±ΡΠ΅ Ρ
Π»ΡΠ±ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
. Π’ΠΎ Π΅ΡΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ * ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ. ΠΡΠ°Π²Π΄Π°, ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΆΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅,
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ
ΠΎΡΠΈΠ±ΠΊΠ°, Π½ΠΎ Π²ΠΎΡ ΡΠ°ΠΊ:
Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠΎΡ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ β ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΏΠΈΡΠΊΠΈ Π² Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
. Π‘ΠΌΠΎΡΡΠΈΡΠ΅,
ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ ΡΡΠ΅ΡΡΠΈΠΊ Π² ΡΠΈΠΊΠ»Π΅ for Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠ±Π΅Π³Π°ΡΡ
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ -5 Π΄ΠΎ 5 Ρ ΡΠ°Π³ΠΎΠΌ 1. ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ°ΠΊ:
for x in range(-5,6): Β Β Β print(x, end=" ")
ΠΠ°Π»Π΅Π΅, ΠΌΡ Ρ
ΠΎΡΠΈΠΌ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΡΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠΈΡΠΊΠ°:
ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ
ΡΡΠ½ΠΊΡΠΈΠΈ range. ΠΡΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ
ΠΏΡΠΎΡΡΠΎ a:
Π’ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ
ΠΎΡΠΈΠ±ΠΊΠ°, Ρ.ΠΊ. ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠΈΡΠ»Π°, Π° Π½Π΅ ΡΠΏΠΈΡΠΎΠΊ. ΠΠΎ, Π·Π°ΠΏΠΈΡΠ°Π² * ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
a, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ
ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠΏΠΈΡΠΊΠ° Π² Π½Π°Π±ΠΎΡ ΠΈΠ· Π΄Π²ΡΡ
ΡΠΈΡΠ΅Π»: -5 ΠΈ 6:
ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ. Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΡΠ·Π½Π°ΡΡ: ΠΊΠΎΠ³Π΄Π° ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ
Π΄Π°Π½Π½ΡΠ΅, Π° ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ? ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ:
- ΠΡΠ»ΠΈ
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ *, ΡΠΎ Π΄Π°Π½Π½ΡΠ΅
ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, *y, x = 1,2,3.
- ΠΡΠ»ΠΈ
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΏΠΈΡΠΊΠ° Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° *, ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, range(*[-5,6]).
ΠΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
def myFunc(*args): Β Β Β print(args)
ΠΈ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ Π΅Π΅:
myFunc() myFunc(1) myFunc(1, 2) myFunc(1, 3, "hello")
Π‘ΠΌΠΎΡΡΠΈΡΠ΅, Ρ Π½Π°Ρ args ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ
ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ½Π°ΡΠΈΡ, ΠΌΡ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ
ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΆΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΈΠΊΠ»Π΅ for:
def myFunc(*args): Β Β Β for arg in args: Β Β Β Β Β Β Β print(arg) Β myFunc(1, 3, "hello")
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅
ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ΄Π΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ?
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
def mySum(*args): Β Β Β S = 0 Β Β Β for arg in args: Β Β Β Β Β Β Β S += arg Β Β Β return S Β print( mySum(1,2,3,4,5) )
Π ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ
Ρ
ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²? ΠΠΎΡ
ΡΠ°ΠΊ:
myFunc(arg1=1, arg2=2, arg3=3)
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ Ρ Π΄Π²ΡΠΌΡ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠ°ΠΌΠΈ:
def myFunc(**kwargs): Β Β Β print(kwargs)
Π ΠΏΡΠΈ Π΅Π΅ Π²ΡΠ·ΠΎΠ²Π΅
ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ kwargs β ΡΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΠ°ΠΊ
ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΌΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
def myFunc(**kwargs): Β Β Β for name, value in kwargs.items(): Β Β Β Β Β Β Β print(name, value)
ΠΈ Π΄Π°Π»Π΅Π΅,
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ
ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΡ ΡΠ°ΠΊ:
myFunc(1,2,3, arg1=1, arg2=2, arg3=3)
ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ
ΠΎΡΠΈΠ±ΠΊΠ°, Ρ.ΠΊ. ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π½Π΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅. ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ²
ΡΡΠ½ΠΊΡΠΈΡ myFunc ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ
ΡΠ°ΠΊ:
def myFunc(*args, **kwargs): Β Β Β print(args) Β Β Β print(kwargs)
ΠΡΠΈΡΠ΅ΠΌ, Π²ΠΎΡ ΡΡΠΈ
Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ. ΠΠ»ΠΈ ΠΆΠ΅
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
def myFunc(*args, sep="sep", end="end", **kwargs): Β Β Β print(args) Β Β Β print(kwargs) Β Β Β print(sep, end)
ΠΈΠ»ΠΈ ΡΠ°ΠΊ:
def myFunc(x, y, *args, sep="sep", end="end", **kwargs): Β Β Β print(args) Β Β Β print(kwargs) Β Β Β print(x, y) Β Β Β print(sep, end)
ΠΡΠ΅ ΡΡΠΈ
ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΡΠΎΠ±Ρ ΠΈΡ
ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±ΡΠ» ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΠΌ: ΡΠ½Π°ΡΠ°Π»Π°
ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π·Π°ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ args, Π·Π°ΡΠ΅ΠΌ
ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΠΏΠΎΡΠΎΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ
Π Python ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊ
Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΠΎΠ½ΠΈ ΠΆΠ΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ). Π§ΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅? ΠΠ°Π²Π°ΠΉΡΠ΅
Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
def showElements(lst, func): Β Β Β for x in lst: Β Β Β Β Β Β Β if func(x): Β Β Β Β Β Β Β Β Β Β Β print(x) Β def __odd(x): Β Β Β return True if x%2 != 0 else False Β a = [1,2,3,4,5,6,7] showElements(a, __odd)
Π£ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ
ΡΡΠ½ΠΊΡΠΈΡ showElements, ΠΊΠΎΡΠΎΡΠ°Ρ
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° lst ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ½ΠΊΡΠΈΡ
func Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True. ΠΠ°Π»Π΅Π΅, ΠΌΡ
ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ __odd, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True Π΄Π»Ρ Π½Π΅ΡΠ΅ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π ΠΈΠ΄Π΅Ρ Π²ΡΠ·ΠΎΠ² showElements Π΄Π»Ρ ΡΠΏΠΈΡΠΊΠ° a ΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π²
Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ __odd.
ΠΠΎ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ
Π·Π°Ρ
ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΅ ΡΠ΅ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ? ΠΡΠΆΠ½ΠΎ
ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π½Π΅Π΅? ΠΡΠΎ ΠΊΠ°ΠΊ ΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ
ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠΎΡ Π·Π΄Π΅ΡΡ Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π²
Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ:
lambda
arg1, arg2, β¦: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
ΠΈ, Π·Π°ΡΠ΅ΠΌ,
Π²ΡΠ·Π²Π°ΡΡ Π΅Π΅:
Π’ΠΎ Π΅ΡΡΡ, Π²
Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠΉ Π»ΡΠ±ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π»ΡΠ·Ρ. Π ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅
ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ°Π·Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
showElements(a, lambda x: True if x%2==0 else False)
ΠΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ
ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ. ΠΡ ΡΡΠ°Π·Ρ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ showElements.
ΠΡΠ»ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ
ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎ ΠΎΠ½Π° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊ:
p = lambda : "hello world" p()
ΠΠΎΡ ΡΠ°ΠΊΠΈΠ΅
ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² ΡΠ·ΡΠΊΠ΅ Python.
ΠΠ°Π΄Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ
1. ΠΠ°ΠΏΠΈΡΠ°ΡΡ
ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»Π° ΡΠΈΡΠ»Π° n:
2. ΠΠ°ΠΏΠΈΡΠ°ΡΡ
ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
arg1, arg2, β¦, argN
3. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ
ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ: ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ
ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΠΎΠ½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²
ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠΈΠ²Π΅ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Ρ
ΡΠ°Π·Π½ΡΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ². Π‘Π΅Π»Π΅ΠΊΡΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ·ΡΡΠ°Π΅ΠΌ lambda-ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ lambda ΡΡΠΎ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ, ΠΈΠ»ΠΈ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΈ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ Π½Π°ΠΉΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ±ΡΡΠ½ΠΎ Π² ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ½ΡΠ»ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅, Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ math. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΡΠΎΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ Ρ Π»ΡΠΌΠ±Π΄ΠΎΠΉ-ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ:
import math
def sqroot(x):
«»»
ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ.
«»»
return math.sqrt(x)
square_rt = lambda x: math.sqrt(x)
| import math Β def sqroot(x): Β Β Β Β «»» Β Β Β Β ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ. Β Β Β Β «»» Β Β Β Β return math.sqrt(x) Β square_rt = lambda x: math.sqrt(x) |
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΠ· ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅ Ρ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠΎΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
print(sqroot(49)) # 7.0
print(square_rt(64)) # 8.0
| print(sqroot(49)) # 7.0 print(square_rt(64)) # 8.0 |
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ. ΠΠΎ Π³Π΄Π΅ Π½Π°ΠΉΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ? ΠΠΎΠΆΠ΅Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ΅? ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π»Ρ Python. ΠΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Python, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π»ΡΠΌΠ±Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ Tkinter. Tkinter β ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π² Python Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
Tkinter +Β lambda
ΠΡ Π½Π°ΡΠ½Π΅ΠΌ Ρ Tkinter, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Python. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Ρ ΡΡΠ΅ΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, Π΄Π²Π΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΡΠΎΠ±ΡΡΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΡΠΌΠ±Π΄Ρ:
import Tkinter as tk
class App:
«»»»»»
def __init__(self, parent):
«»»ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ»»»
frame = tk.Frame(parent)
frame.pack()
btn22 = tk.Button(
frame,
text=»22″,
command=lambda: self.printNum(22)
)
btn22.pack(side=tk.LEFT)
btn44 = tk.Button(
frame,
text=»44″,
command=lambda: self.printNum(44)
)
btn44.pack(side=tk.LEFT)
quitBtn = tk.Button(frame, text=»QUIT», fg=»red», command=frame.quit)
quitBtn.pack(side=tk.LEFT)
def printNum(self, num):
print(«ΠΡ Π½Π°ΠΆΠ°Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ: %s» % num)
if __name__ == «__main__»:
root = tk.Tk()
app = App(root)
root.mainloop()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| import Tkinter as tk Β class App: Β Β Β Β «»»»»» Β Β Β Β def __init__(self, parent): Β Β Β Β Β Β Β Β «»»ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ»»» Β Β Β Β Β Β Β Β frame = tk.Frame(parent) Β Β Β Β Β Β Β Β frame.pack() Β Β Β Β Β Β Β Β Β Β Β Β btn22 = tk.Button( Β Β Β Β Β Β Β Β Β Β Β Β frame, Β Β Β Β Β Β Β Β Β Β Β Β text=»22″, Β Β Β Β Β Β Β Β Β Β Β Β command=lambda: self.printNum(22) Β Β Β Β Β Β Β Β ) Β Β Β Β Β Β Β Β btn22.pack(side=tk.LEFT) Β Β Β Β Β Β Β Β Β btn44 = tk.Button( Β Β Β Β Β Β Β Β Β Β Β Β frame, Β Β Β Β Β Β Β Β Β Β Β Β text=»44″, Β Β Β Β Β Β Β Β Β Β Β Β command=lambda: self.printNum(44) Β Β Β Β Β Β Β Β ) Β Β Β Β Β Β Β Β btn44.pack(side=tk.LEFT) Β Β Β Β Β Β Β Β Β Β Β Β quitBtn = tk.Button(frame, text=»QUIT», fg=»red», command=frame.quit) Β Β Β Β Β Β Β Β quitBtn.pack(side=tk.LEFT) Β Β Β Β Β def printNum(self, num): Β Β Β Β Β Β Β Β print(«ΠΡ Π½Π°ΠΆΠ°Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ: %s» % num) Β Β if __name__ == «__main__»: Β Β Β Β root = tk.Tk() Β Β Β Β app = App(root) Β Β Β Β root.mainloop() |
ΠΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Python?
ΠΠ° Π½Π°ΡΠ΅ΠΌ ΡΠΎΡΡΠΌΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅Ρ ΠΎΡ Π²ΡΠ΅Π³ΠΎ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°!
Telegram Π§Π°Ρ & ΠΠ°Π½Π°Π»
ΠΡΡΡΠΏΠΈΡΠ΅ Π² Π½Π°Ρ Π΄ΡΡΠΆΠ½ΡΠΉ ΡΠ°Ρ ΠΏΠΎ Python ΠΈ Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ Π΅Π΄ΠΈΠ½ΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ! Π‘ΡΠ°Π½ΡΡΠ΅ ΡΠ°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°!
ΠΠ°Π±Π»ΠΈΠΊ VK
ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°ΠΌΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ² ΠΏΠΎ Python Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΠ. ΠΠΈΠ΄Π΅ΠΎ ΡΡΠΎΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ Π²Π°Ρ!
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ btn22 ΠΈ btn44. ΠΠΌΠ΅Π½Π½ΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΡΠΎΠ±ΡΡΠΈΡ. ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ tk.Button ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ Ρ Π½Π°ΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ printNum ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ°Ρ ΠΎΠΌ. ΠΠ°ΡΠ° Π»ΡΠΌΠ±Π΄Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π²ΡΡ ΠΎΠ΄Π°, Π³Π΄Π΅ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΡΠ΅ΠΉΠΌΠ°. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π»ΡΠΌΠ±Π΄Π° β ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΅ΠΌΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. Π ΠΌΠ΅ΡΠΎΠ΄Π΅ printNum, ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ Β Π² stdout ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ°, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ lambda. Π£Π»Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅? ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ. ΠΡΠ»ΠΈ Π½Π΅Ρ β ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ°ΠΉΡΠ΅ Π΄Π°Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°Π³ΡΠ°Ρ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΠ²ΠΎΠΈΠ»Π°ΡΡ, ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠΎΠΉΠ΄Π΅ΡΠ΅ Ρ ΡΠΌΠ°, Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΏΠ΅ΡΠ²ΡΠΌ.
ΠΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΈΡΠΎΠ³ΠΈ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ lambda, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ . ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π³ΡΠ³Π»ΠΈΡΠ΅ ΡΡΠ°Π·ΡΒ Β«Python lambdaΒ«, Π²Π°ΠΌ Π²ΡΠ΄Π°ΡΡ Π²Π΅Π»ΠΈΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠ΄ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΈΡΠ΅ΡΠ΅ Β«Django lambdaΒ», Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ Π² Django ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π»ΡΠΌΠ±Π΄Ρ. ΠΠ»Π°Π³ΠΈΠ½ Elixir Π΄Π»Ρ SqlAlchemy ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΡΠΌΠ±Π΄Ρ. ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π½Π° ΡΡΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π½Π°ΡΡΠΊΠ°ΡΡΡΡ Π½Π° ΡΡΠΎΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ.
Python Π»ΡΠΌΠ±Π΄Π° — Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
- ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Python ΠΈΠ»ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Python Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π½ΠΈ.
- ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ lambda .
- ΠΠ±Π»Π°ΡΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ , Π³Π΄Π΅ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°.
- ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ .
- ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ, ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΈΠ· Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ map (), filter () ΠΈ reduce ().
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Python
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ:
Π»ΡΠΌΠ±Π΄Π°-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠΈΠΌΠ΅Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Python
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
def area_of_rectangle (l, w): Π²Π΅ΡΠ½ΡΡΡ l * w print (f'ΠΠ»ΠΎΡΠ°Π΄Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° (4, 5) ΡΠ°Π²Π½Π° {area_of_rectangle (4, 5)} ')
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ lambda, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
rectangle_area = Π»ΡΠΌΠ±Π΄Π° x, y: x * y print (f'Area of ββRectangle (4, 5) ΡΠ°Π²Π½Π° {rectangle_area (4, 5)} ')
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ?
- ΠΠ»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
- ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
- ΠΠ»Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ Π·Π°Π΄Π°Ρ, Π½ΠΎΡΡΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ.
- ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ»Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ.
- ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ°ΠΊΠ°Ρ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ map (), filter () ΠΈ reduce ().
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΊΠ°ΡΡΠΎΠΉ ()
Π€ΡΠ½ΠΊΡΠΈΡ map () ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΌΠ½ΠΎΠΆΠΈΠ² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° 10. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π΄Π΅ΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
list_numbers = [1, 2, 3, 4] list_numbers = map (Π»ΡΠΌΠ±Π΄Π° x: x * 10, list_numbers) Π΄Π»Ρ ΡΠΈΡΠ»Π° Π² list_numbers: print (ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΠ½Π΅Ρ = "")
ΠΡΡ ΠΎΠ΄:
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Python Ρ map ()
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Ρ ΡΠΈΠ»ΡΡΡΠΎΠΌ ()
ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ filter () ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ.Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True, ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π½Π΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°. Π ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ filter () Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
list_numbers = [1, 2, 3, 4, 5, 6] list_numbers = filter (Π»ΡΠΌΠ±Π΄Π° x: x% 2 == 0, list_numbers) Π΄Π»Ρ ΡΠΈΡΠ»Π° Π² list_numbers: print (ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΠ½Π΅Ρ = "")
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Python Ρ filter ()
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ reduce ()
Π€ΡΠ½ΠΊΡΠΈΡ reduce () ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ functools .ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ — ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ reduce () Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
ΠΈΠ· functools import ΡΠΌΠ΅Π½ΡΡΠΈΡΡ list_ints = [1, 2, 3, 4, 5, 6] total = reduce (Π»ΡΠΌΠ±Π΄Π° x, y: x + y, list_ints) print (f 'Π‘ΡΠΌΠΌΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² list_ints ΡΠ°Π²Π½Π° {total}')
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Python Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ reduce ()
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Python Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΡΠΎ-ΡΠΎ ΡΠΏΡΠΎΡΠΈΠ» ΠΌΠ΅Π½Ρ, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΠΈΠΌΠ΅ΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²?
ΠΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².ΠΠΎ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ Π½Π° ΡΠ΅ΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ.
get_5 = Π»ΡΠΌΠ±Π΄Π°: 5 ΠΏΠ΅ΡΠ°ΡΡ (get_5 ()) # 5
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² — ΡΠ²Π½ΠΎΠ΅ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° lambda. ΠΠ½ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ.Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΡΠΈΠΊΡΠ»:
.
Python Lambda (Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ) Π€ΡΠ½ΠΊΡΠΈΡ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python?
Π Python Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ.
Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° def
Π² Python, Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° lambda
.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python?
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Π² Python ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π² python
Π»ΡΠΌΠ±Π΄Π°-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΡΠΈΠΌΠ΅Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π² python
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΉ
double = Π»ΡΠΌΠ±Π΄Π° x: x * 2
ΠΏΠ΅ΡΠ°ΡΡ (Π΄Π²ΠΎΠΉΠ½Π°Ρ (5))
ΠΡΡ ΠΎΠ΄
10
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π»ΡΠΌΠ±Π΄Π° x: x * 2
— ΡΡΠΎ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ.ΠΠ΄Π΅ΡΡ x — ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π° x * 2
— ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ.
Π£ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅Ρ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ double
. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠΎ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠΏΠΈΡΠΊΠ°
double = Π»ΡΠΌΠ±Π΄Π° x: x * 2
ΠΏΠΎΡΡΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ:
def double (x): Π²ΠΎΠ·Π²ΡΠ°Ρ x * 2
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½Π° Π±Π΅Π·ΡΠΌΡΠ½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π Python ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° (ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²). ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ filter ()
, map ()
ΠΈ Ρ. Π.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ filter ()
Π€ΡΠ½ΠΊΡΠΈΡ filter ()
Π² Python ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ.
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True
.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ filter ()
Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π» ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°.
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = ΡΠΏΠΈΡΠΎΠΊ (ΡΠΈΠ»ΡΡΡ (Π»ΡΠΌΠ±Π΄Π° x: (x% 2 == 0), my_list))
print (new_list)
ΠΡΡ ΠΎΠ΄
[4, 6, 8, 12]
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ map ()
Π€ΡΠ½ΠΊΡΠΈΡ map ()
Π² Python ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ.
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ map ()
Π΄Π»Ρ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅.
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ map ()
my_list = [1, 5, 4, 6, 8, 11, 3, 12]
new_list = ΡΠΏΠΈΡΠΎΠΊ (ΠΊΠ°ΡΡΠ° (Π»ΡΠΌΠ±Π΄Π° x: x * 2, my_list))
print (new_list)
ΠΡΡ ΠΎΠ΄
[2, 10, 8, 12, 16, 22, 6, 24]
.
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Python — JournalDev
ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Python. Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ ΠΎ Python Recursion.
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Python
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Python — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅Ρ ΠΈΠΌΠ΅Π½ΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Python Anonymous Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° def
. ΠΠΎ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° lambda
. ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½ΠΈΠΆΠ΅.
Π»ΡΠΌΠ±Π΄Π°-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² , Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ . ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΡΠΌΠΌΡ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π». Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ;
def sum (a, b):
Π²Π΅ΡΠ½ΡΡΡ a + b
ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠΌΠΌΠ° (1, 2))
ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠΌΠΌΠ° (3, 5))
ΠΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ
ΡΡΠΌΠΌΠ° = Π»ΡΠΌΠ±Π΄Π° a, b: (a + b)
ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠΌΠΌΠ° (1,2))
ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΠΌΠΌΠ° (3,5))
ΠΠΎΡΠ΅ΠΌΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Python
ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.Π’ΠΎΠ³Π΄Π° ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ? ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄Π½Ρ Π·Π°Π΄Π°ΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π²Π°ΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ. Π ΡΡΠΎΠΌ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π»ΡΠΌΠ±Π΄Π° / Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±Π»Π°ΡΡΡΠΌΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΡΠ°Π½ΠΈΡΠ° ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅.ΠΠΎ ΡΡΡΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ, Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π΅Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎΡΡΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π»ΡΠΌΠ±Π΄Π° / Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ . ΠΡΠ°ΠΊ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ Π±ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠΌΠ±Π΄Π° / Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠΌΠ±Π΄Π° / Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠΌΠ±Π΄Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ map () ΠΈ filter () , ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π²ΡΠ΅ ΡΠΈΡΠ»Π° Π² ΡΠΏΠΈΡΠΊΠ΅ Π½Π° n. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ:
#initial list
l = [1,2,3,4,5,6,7,8]
# ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ
print ("ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ:")
ΠΏΠ΅ΡΠ°ΡΡ (Π»)
# Π²ΡΠ±ΡΠ°ΡΡ n
n = int (input ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ n:'))
# ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ°ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠΌΠ±Π΄Π°
l = ΡΠΏΠΈΡΠΎΠΊ (ΠΊΠ°ΡΡΠ° (Π»ΡΠΌΠ±Π΄Π° x: x + n, l))
# ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ
print ("ΠΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ:")
ΠΏΠ΅ΡΠ°ΡΡ (Π»)
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π²ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π² Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ»ΡΡΡ.Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² List2, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅
#initialize list1
list1 = [1,2,3,4,5,6,7,8]
#print list1
print ("Π‘ΠΏΠΈΡΠΎΠΊ1:", ΠΊΠΎΠ½Π΅Ρ = '')
ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΏΠΈΡΠΎΠΊ1)
#intialize list2 Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ
Π½ΠΎΠΌΠ΅ΡΠΎΠ²
list2 = [2,3,5,9,12,14]
#print list2
print ("Π‘ΠΏΠΈΡΠΎΠΊ2:", ΠΊΠΎΠ½Π΅Ρ = '')
ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΏΠΈΡΠΎΠΊ2)
'' '
ΡΡΠ°Π²Π½ΠΈΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅2, Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈ Π½Π°Π·Π½Π°ΡΡΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΏΠΈΡΠΎΠΊ3
'' '
ΡΠΏΠΈΡΠΎΠΊ3 = ΡΠΏΠΈΡΠΎΠΊ (ΡΠΈΠ»ΡΡΡ (Π»ΡΠΌΠ±Π΄Π° x: x Π² ΡΠΏΠΈΡΠΊΠ΅2, ΡΠΏΠΈΡΠΎΠΊ1))
# ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ
print "List3 (List1 ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅Ρ List2):", end = '')
ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΏΠΈΡΠΎΠΊ3)
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ
ΠΡΠ°ΠΊ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ± Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Python.ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΠ½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Python. ΠΠ»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π². Π£Π΄Π°ΡΠΈ!
.
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Python (Π»ΡΠΌΠ±Π΄Π°)
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Python . Π Python Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΠΊΠ°ΠΊ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ .
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Python (Π»ΡΠΌΠ±Π΄Π°)
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π² Python — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ Π² Python ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° def
. Π Python Π°Π½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ / Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° lambda
.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π² python
Π Python Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
Π»ΡΠΌΠ±Π΄Π° <Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ>: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΠ½ΠΎΠ½ΠΈΠΌΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² , Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ , Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Python
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ²Π°Π΄ΡΠ°Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° .
my_square = Π»ΡΠΌΠ±Π΄Π° ΡΠΈΡΠ»ΠΎ: ΡΠΈΡΠ»ΠΎ * ΡΠΈΡΠ»ΠΎ ΠΏ = 4 # ΠΡΠ²ΠΎΠ΄: ΠΠ²Π°Π΄ΡΠ°Ρ ΡΠΈΡΠ»Π° 4 ΡΠ°Π²Π΅Π½: 16 print ("ΠΠ²Π°Π΄ΡΠ°Ρ ΡΠΈΡΠ»Π°", n, "is:", my_square (n))
ΠΡΡ ΠΎΠ΄:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ lambda num: num * num
— ΡΡΠΎ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ²Π°Π΄ΡΠ°Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ΄Π΅ΡΡ ΡΠΈΡΠ»ΠΎ
— Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π° ΡΠΈΡΠ»ΠΎ * ΡΠΈΡΠ»ΠΎ
— Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π£ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅Ρ ΠΈΠΌΠ΅Π½ΠΈ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ my_square
.
ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ lambda num: num * num
ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
def my_square (ΡΠΈΡΠ»ΠΎ): return num * num
ΠΡΠΈΠΌΠ΅Ρ filter () Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
Π€ΡΠ½ΠΊΡΠΈΡ filter () ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ.
Π€ΡΠ½ΠΊΡΠΈΡ filter () Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ΅ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ»ΠΈ, Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, filter () Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ filter () Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ , ΡΡΠΎΠ±Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΡΠΈΡΠ΅Π» .
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° lis = [10, 3, 2, 11, 13, 14, 15] lis_new = ΡΠΏΠΈΡΠΎΠΊ (ΡΠΈΠ»ΡΡΡ (Π»ΡΠΌΠ±Π΄Π° ΡΠΈΡΠ»ΠΎ: (ΡΠΈΡΠ»ΠΎ% 2! = 0), ΡΠΏΠΈΡΠΎΠΊ)) # ΠΡΠ²ΠΎΠ΄: [3, 11, 13, 15] ΠΏΠ΅ΡΠ°ΡΡ (lis_new)
ΠΡΡ ΠΎΠ΄:
ΠΡΠΈΠΌΠ΅Ρ map () Ρ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ filter (), ΡΡΠ½ΠΊΡΠΈΡ map () ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
Π€ΡΠ½ΠΊΡΠΈΡ map () Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° .
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ map () ΠΈ Π»ΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°.
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ° lis = [10, 9, 1, 2, 7, 11] lis_new = ΡΠΏΠΈΡΠΎΠΊ (ΠΊΠ°ΡΡΠ° (Π»ΡΠΌΠ±Π΄Π° ΡΠΈΡΠ»ΠΎ: ΡΠΈΡΠ»ΠΎ * ΡΠΈΡΠ»ΠΎ, ΡΠΏΠΈΡΠΎΠΊ)) # ΠΡΠ²ΠΎΠ΄: [100, 81, 1, 4, 49, 121] ΠΏΠ΅ΡΠ°ΡΡ (lis_new)
ΠΡΠ²ΠΎΠ΄:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π²ΡΠ²ΠΎΠ΄Π°, Π² ΡΠΏΠΈΡΠΊΠ΅ Π΅ΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°.
.