ΠΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python Π·Π° 10 ΠΌΠΈΠ½ΡΡ / Habr
ΠΠ° ΡΠ°ΠΉΡΠ΅ Poromenos’ Stuff Π±ΡΠ»Π°
ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΡΡΠ°ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ, Π² ΡΠΆΠ°ΡΠΎΠΉ ΡΠΎΡΠΌΠ΅,
ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π°Ρ
ΡΠ·ΡΠΊΠ° Python. Π― ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π²Π°ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π΅ Π΄ΠΎΡΠ»ΠΎΠ²Π½ΡΠΉ. Π― ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½Ρ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ±ΡΠ°Π»ΠΈΡΡ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ·ΡΠΊ Python, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΡΠΎ ΡΡΠ°
ΡΡΠ°ΡΡΡ Π²Π°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ! ΠΠ° ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ
ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ° Python. Π₯ΠΎΡΡ ΡΡΠ° ΡΡΠ°ΡΡΡ ΡΠ°ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ
Π½Π° ΡΠΎ, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΎΠΏΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ, Ρ Π½Π°Π΄Π΅ΡΡΡ, Π΄Π°ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ
ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½. ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΠ°Π³ΡΠ°Ρ. Π ΡΠ²ΡΠ·ΠΈ Ρ
ΡΠΆΠ°ΡΠΎΡΡΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΠ½ΠΎ, Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²Π΅ΡΡ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠ΅ΡΡΠΈΠ°Π».
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°
Python Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ var Π½Π΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Var ΠΈΠ»ΠΈ VAR β ΡΡΠΎ ΡΡΠΈ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅) ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠΎ ΠΏΠ΅ΡΠ²ΡΡ
ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Python. ΠΠ½ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΎΠΊ (begin..end Π² pascal ΠΈΠ»ΠΈ {..}Π² Π‘ΠΈ), Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊ Β«=Β», Π° Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ β
Β«==Β». ΠΠ»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊ ΡΡΡΠΎΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«+=Β», Π° Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ β Β«-=Β». ΠΡΠ΅ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΠΈΠΏΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ
>>> myvar = 3
>>> myvar += 2
>>> myvar -= 1
«»Β«ΠΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π‘ΡΡΠΎΠΊΠΈ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΡΡΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡΒ»»»
>>> mystring = Β«HelloΒ»
>>> mystring += » world.»
>>> print mystring
Hello world.
# Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΌΠ΅Π½ΡΠ΅Ρ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. (ΠΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ°!)
>>> myvar, mystring = mystring, myvar
Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
Python ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΊΠΈ (lists), ΠΊΠΎΡΡΠ΅ΠΆΠΈ (tuples) ΠΈ ΡΠ»ΠΎΠ²Π°ΡΠΈ (dictionaries). Π‘ΠΏΠΈΡΠΊΠΈ β ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ (Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π‘ΠΏΠΈΡΠΎΠΊ Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΊΠΈ β ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ²), ΠΊΠΎΡΡΠ΅ΠΆΠΈ β Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ, ΡΠ»ΠΎΠ²Π°ΡΠΈ β ΡΠΎΠΆΠ΅ ΡΠΏΠΈΡΠΊΠΈ, Π½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ. «ΠΠ°ΡΡΠΈΠ²Ρ» Π² Python ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΡΠΎ Π΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅, ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΡΡΠΈΠ²Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ° 0, Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ -1 ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
>>> sample = [1, [Β«anotherΒ», Β«listΒ»], (Β«aΒ», Β«tupleΒ»)] #Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠ°
>>> mylist = [Β«List item 1Β», 2, 3.14] #ΠΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠΎΠΊΡ, ΡΠ΅Π»ΠΎΠ΅ ΠΈ Π΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ>>> mylist[0] = Β«List item 1 againΒ» #ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ (Π½ΡΠ»Π΅Π²ΠΎΠΉ) ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π»ΠΈΡΡΠ° mylist
>>> mylist[-1] = 3.14 #ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π»ΠΈΡΡΠ°
>>> mydict = {Β«Key 1Β»: Β«Value 1Β», 2: 3, Β«piΒ»: 3.14} #Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ, Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΠΈ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ
>>> mydict[Β«piΒ»] = 3.15 #ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Β«piΒ».
>>> mytuple = (1, 2, 3) #ΠΠ°Π΄Π°Π΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΆ
>>> myfunction = len #Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ
>>> print myfunction(list)
3
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Π·Π°Π΄Π°Π²Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ Β«:Β». Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ°ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΎ ΠΎΡΡΡΠ΅Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½Π°ΡΠ°Π»Π° ΠΌΠ°ΡΡΠΈΠ²Π°, Π° Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ β ΡΠΎ ΠΌΠ°ΡΠΈΠ² ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΊΠΎΠ½ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
>>> mylist = [Β«List item 1Β», 2, 3.14]
>>> print mylist[:] #Π‘ΡΠΈΡΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°
[‘List item 1’, 2, 3.1400000000000001]
>>> print mylist[0:2] #Π‘ΡΠΈΡΡΠ²Π°ΡΡΡΡ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
[‘List item 1’, 2]
>>> print mylist[-3:-1] #Π‘ΡΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΡ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ (-3) Π΄ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ (-1) (Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ)
[‘List item 1’, 2]
>>> print mylist[1:] #Π‘ΡΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ, Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ
[2, 3.14]
Π‘ΡΡΠΎΠΊΠΈ
Π‘ΡΡΠΎΠΊΠΈ Π² Python ΠΎΠ±ΠΎΡΠΎΠ±Π»ΡΡΡΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠΌΠΈ Β«»Β» ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ Β«’Β». ΠΠ½ΡΡΡΠΈ Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠΎΠ²ΡΡΠ΅ΠΊ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΡΠΎΠΊΠ° Β«ΠΠ½ ΡΠΊΠ°Π·Π°Π» ‘ΠΏΡΠΈΠ²Π΅Ρ’!Β» Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΊΠ°ΠΊ Β«ΠΠ½ ΡΠΊΠ°Π·Π°Π» ‘ΠΏΡΠΈΠ²Π΅Ρ’!Β». ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΡΠ΅ΠΊ, ΡΠΎ ΡΡΡ ΡΡΡΠΎΠΊΡ Π½Π°Π΄ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡ ΡΡΠ΅ΠΌΡ Π΄Π²ΠΎΠΉΠ½ΡΠΌΠΈ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ Β«»»»Β». ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½ ΡΡΡΠΎΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΊΠΎΡΡΠ΅ΠΆΠ° ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΠ½Π°ΠΊ ΠΏΡΠΎΡΠ΅Π½ΡΠ° Β«%Β» ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ, Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π² ΡΡΡΠΎΠΊΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Β«%sΒ» Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ°. Π‘Π»ΠΎΠ²Π°ΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΡΠ°Π²Π»ΡΡΡ Π² ΡΡΡΠΎΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Β«%(ΠΈΠ½Π΄Π΅ΠΊΡ)sΒ». Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΌΠ΅ΡΡΠΎ Β«%(ΠΈΠ½Π΄Π΅ΠΊΡ)sΒ» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ.
>>>print Β«Name: %s\nNumber: %s\nString: %sΒ» % (myclass.name, 3, 3 * «-«)
Name: Poromenos
Number: 3
String: β Β
strString = «»Β«ΠΡΠΎΡ ΡΠ΅ΠΊΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½
Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ Β»»»
Β
>>> print Β«This %(verb)s a %(noun)s.Β» % {Β«nounΒ»: Β«testΒ», Β«verbΒ»: Β«isΒ»}
This is a test.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ while, if, for ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ΄Π΅ΡΡ Π½Π΅Ρ Π°Π½Π°Π»ΠΎΠ³Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° select, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡΡ if. Π ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ for ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΡΠΏΠΈΡΠΊΠ°. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΡ Π΄ΠΎ ΡΠΈΡΠ»Π° <number> β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ range(<number>). ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
rangelist = range(10) #ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· Π΄Π΅ΡΡΡΠΈ ΡΠΈΡΡ (ΠΎΡ 0 Π΄ΠΎ 9)
>>> print rangelist
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for number in rangelist: #ΠΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ number (ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ) Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊβ¦
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄ΠΈΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
# numbers Π² ΠΊΠΎΡΡΠ΅ΠΆ ΡΠΈΡΠ΅Π» (3, 4, 7, 9)
if number in (3, 4, 7, 9): #ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ number Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΡΡΠ΅ΠΆ (3, 4, 7, 9)…
# ΠΠΏΠ΅ΡΠ°ΡΠΈΡ Β«breakΒ» ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ
# Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠΈΠΊΠ»Π° Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
break
else:
# Β«continueΒ» ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ Β«ΠΏΡΠΎΠΊΡΡΡΠΊΡΒ»
# ΡΠΈΠΊΠ»Π°. ΠΠ΄Π΅ΡΡ ΡΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
# Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΎΠΏΡΡΡ ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΈΠΊΠ»Π°
continue
else:
# Β«elseΒ» ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ
# Π΅ΡΠ»ΠΈ ΡΠΈΠΊΠ» Π½Π΅ Π±ΡΠ» ΠΏΡΠ΅ΡΠ²Π°Π½ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Β«breakΒ».
pass # ΠΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ
Β
if rangelist[1] == 2:
print Β«The second item (lists are 0-based) is 2Β»
elif rangelist[1] == 3:
print Β«The second item (lists are 0-based) is 3Β»
else:
print Β«DunnoΒ»
Β
while rangelist[1] == 1:
pass
Π€ΡΠ½ΠΊΡΠΈΠΈ
ΠΠ»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ»ΡΠΆΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Β«defΒ». ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π΄Π°ΡΡΡΡ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Ρ ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆΠΈ, Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Π΄ΠΎ ΠΏΠΈΡΠ°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Β«lambdaΒ» ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ .
# arg2 ΠΈ arg3 β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ½ΠΈ,
# Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄Π°ΡΡ ΠΈΠΌ Π΄ΡΡΠ³ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈ.
def myfunction(arg1, arg2 = 100, arg3 = Β«testΒ»):
return arg3, arg2, arg1
#Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° β «Argument 1», Π²ΡΠΎΡΠΎΠ³ΠΎ β ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ β «Named argument».
>>>ret1, ret2, ret3 = myfunction(Β«Argument 1Β», arg3 = Β«Named argumentΒ»)
# ret1, ret2 ΠΈ ret3 ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ «Named argument», 100, «Argument 1» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ
>>> print ret1, ret2, ret3
Named argument 100 Argument 1
Β
# Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° def f(x): return x + 1
functionvar = lambda x: x + 1
>>> print functionvar(1)
2
ΠΠ»Π°ΡΡΡ
Π―Π·ΡΠΊ Python ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π΄Π²ΡΡ Π·Π½Π°ΠΊΠΎΠ² Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Β«__Β» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«__myprivatevarΒ»). ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ·Π²Π½Π΅. ΠΡΠΈΠΌΠ΅Ρ:
class Myclass:
common = 10
def __init__(self):
self.myvariable = 3
def myfunction(self, arg1, arg2):
return self.myvariable
Β
# ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡ Myclass. Π€ΡΠ½ΠΊΡΠΈΡ __init__ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ².
>>> classinstance = Myclass() # ΠΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΊΠ»Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ myvariable ΠΏΡΠΈΠΎΠ±ΡΠ΅Π»Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3 ΠΊΠ°ΠΊ Π·Π°ΡΠ²Π»Π΅Π½ΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
>>> classinstance.myfunction(1, 2) #ΠΠ΅ΡΠΎΠ΄ myfunction ΠΊΠ»Π°ΡΡΠ° Myclass Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ myvariable
3
# ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ common ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠ°Ρ
>>> classinstance2 = Myclass()
>>> classinstance.common
10
>>> classinstance2.common
10
# ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ Myclass ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ
# ΠΈ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ Myclass
>>> Myclass.common = 30
>>> classinstance.common
30
>>> classinstance2.common
30
# Π Π·Π΄Π΅ΡΡ ΠΌΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ
# ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΎΠ½ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π΅ΠΉ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
>>> classinstance.common = 10
>>> classinstance.common
10
>>> classinstance2.common
30
>>> Myclass.common = 50
# Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ ΠΊΠΎΡΠ½Π΅ΡΡΡ
# ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
>>> classinstance.common
10
>>> classinstance2.common
50
Β
# Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° Myclass
# Π½Π°ΡΠ»Π΅Π΄ΡΡ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΡΠΎΠΌΡ ΠΆΠ΅ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ
# Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΏΠΈΡΡ
# ΡΠ°ΠΊΠ°Ρ: class Otherclass(Myclass1, Myclass2, MyclassN)class Otherclass(Myclass):
def __init__(self, arg1):
self.myvariable = 3
print arg1
Β
>>> classinstance = Otherclass(Β«helloΒ»)
hello
>>> classinstance.myfunction(1, 2)
3
# ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ²ΠΉΡΡΠ²Π° test, Π½ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ
# ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΠ°ΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠΈΡΠ΅ΠΌ
# tΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π½ΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ classinstance.
>>> classinstance.test = 10
>>> classinstance.test
10
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python ΠΈΠΌΠ΅ΡΡ ΡΡΡΡΠΊΡΡΡΡ try—except [exceptionname]:
def somefunction():
try:
# ΠΠ΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ
10 / 0
except ZeroDivisionError:
# ΠΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ «ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ»
# Π ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π±Π»ΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅ Β«ZeroDivisionErrorΒ»
print Β«Oops, invalid.Β»
Β
>>> fnexcept()
Oops, invalid.
ΠΠΌΠΏΠΎΡΡ
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ Β«import [libname]Β», Π³Π΄Π΅ [libname] β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«from [libname] import [funcname]Β», ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ [funcname] ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ [libname]
import random #ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Β«randomΒ»
from time import clock #Π Π·Π°ΠΎΠ΄Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΡ Β«clockΒ» ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Β«timeΒ»
Β
randomint = random.randint(1, 100)
>>> print randomint
64
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ
Python ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΡΡΡΠΊΡΡΡΡ ΡΠΏΠΈΡΠΊΠ°, ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΅Π΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΠΌ ΡΡΡΠΎΠΊΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Β«pickleΒ»
import pickle
mylist = [Β«ThisΒ», Β«isΒ», 4, 13327]
# ΠΡΠΊΡΠΎΠ΅ΠΌ ΡΠ°ΠΉΠ» C:\binary.dat Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ. Π‘ΠΈΠΌΠ²ΠΎΠ» Β«rΒ»
# ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΈΠ²ΠΎΠ»ΠΎΠ² (ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ \n, \t, \b ΠΈ Π΄Ρ.).
myfile = file(rΒ«C:\binary.datΒ», Β«wΒ»)
pickle.dump(mylist, myfile)
myfile.close()
Β
myfile = file(rΒ«C:\text.txtΒ», Β«wΒ»)
myfile.write(Β«This is a sample stringΒ»)
myfile.close()
Β
myfile = file(rΒ«C:\text.txtΒ»)
>>> print myfile.read()
‘This is a sample string’
myfile.close()
Β
# ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ
myfile = file(rΒ«C:\binary.datΒ»)
loadedlist = pickle.load(myfile)
myfile.close()
>>> print loadedlist
[‘This’, ‘is’, 4, 13327]
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
- Π£ΡΠ»ΠΎΠ²ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡΡΡ. 1 < a < 3 Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π° Π±ΠΎΠ»ΡΡΠ΅ 1, Π½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ 3.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Β«delΒ» ΡΡΠΎΠ±Ρ ΠΎΡΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°.
- Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ ΡΠΏΠΈΡΠΊΠ°. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ for ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π° if β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ.
>>> lst1 = [1, 2, 3]
>>> lst2 = [3, 4, 5]
>>> print [x * y for x in lst1 for y in lst2]
[3, 4, 5, 6, 8, 10, 9, 12, 15]
>>> print [x for x in lst1 if 4 > x > 1]
[2, 3]
# ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Β«anyΒ» Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΡ
# Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² Π½Π΅Π³ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
>>> any(i % 3 for i in [3, 3, 4, 4, 3])
True
# Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ
# ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅
>>> sum(1 for i in [3, 3, 4, 4, 3] if i == 3)
3
>>> del lst1[0]
>>> print lst1
[2, 3]
>>> del lst1
- ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½Ρ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π΅Π΅ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ Β«globalΒ», Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅, ΡΠΎ Python ΠΎΠ±ΡΡΠ²ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
number = 5
Β
def myfunc():
# ΠΡΠ²ΠΎΠ΄ΠΈΡ 5
print number
Β
def anotherfunc():
# ΠΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ Π°ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
# Π½Π΅ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π½Π° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ. Python Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ
# ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
# ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
print number
number = 3
Β
def yetanotherfunc():
global number
# Π ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
number = 3
ΠΠΏΠΈΠ»ΠΎΠ³
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Python. Π― Π½Π°Π΄Π΅ΡΡΡ ΡΡΠΎ ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ ΡΡΠΎΡ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Python
- Π‘ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π½Π° Python ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠ°. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python
Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° C++ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. - Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ Python Π½Π° C ΠΈΠ»ΠΈ C++
- Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½Ρx Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ
Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠΎΠΉ, ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ
ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, FTP, HTTP, Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΈ ΠΏΡ. - Π‘ΠΊΡΠΈΠΏΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Python Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΠ‘. Π’Π°ΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Python ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΌΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ .
- Python ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π±ΡΠ΄Ρ ΡΠΎ ΠΎΡΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠ±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Ρ.Π΄.
- ΠΠ°Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Python ΡΡΡΠ΄ΠΈΠ»ΠΈΡΡ ΡΡΡΡΡΠΈ ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡΠΎΠ² ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡΡΡ ΠΎΠ±ΡΠ·Π°Π½Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠΌΡ, ΡΡΠΎ Python Π±ΡΠ» ΠΎΡΠΊΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΆΠ΅Π»Π°ΡΡΠΈΡ .
habr.com
ΠΡΠ½ΠΎΠ²Ρ Python Π² ΠΊΡΠ°ΡΠΊΠΎΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ / Habr
ΠΠΎΠ³Π΄Π°-ΡΠΎ Π΄Π°Π²Π½ΡΠΌ Π΄Π°Π²Π½ΠΎ, Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΊΡΡΡΠΎΠΌ ΡΠΎΡΡΠΌΠ΅ Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΠ°ΠΉΡΠΎΠ½Ρ. Π ΠΎΠ±ΡΠ΅ΠΌ Π΄Π΅Π»ΠΎ ΡΠ°ΠΌ Π·Π°Π³Π»ΠΎΡ Π»ΠΎ. ΠΠ½Π΅ ΡΡΠ°Π»ΠΎ ΠΆΠ°Π»ΠΊΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΡΡΠΎΠΊΠΎΠ², ΠΈ Ρ ΡΠ΅ΡΠΈΠ» ΠΈΡ Π²ΡΠ»ΠΎΠΆΠΈΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ. ΠΠΎΠΊΠ° ΡΠ°ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ, ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ. ΠΠ°Π»ΡΡΠ΅ ΠΈΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. Π ΠΎΠ±ΡΠ΅ΠΌ, ΡΡΠΎΡ ΠΏΠΎΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ±Π½ΡΠΌ ΡΠ°ΡΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ, Π±ΡΠ΄Ρ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π΄Π°Π»ΡΡΠ΅.Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ . ΠΠ»Π°Π²Π° ΠΏΠ΅ΡΠ²Π°Ρ. Β«Π ΡΠ΅ΠΌ ΡΡΠΎ ΠΌΡΒ»
ΠΠ° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΊΡΡΠ½ΠΎΠ³ΠΎ Β«evangelismΒ». ΠΠΎΠΌΡ ΠΎΠ½ Π½Π°Π΄ΠΎΠ΅Π», ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π±Π·Π°ΡΠ΅Π².
Python (ΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Β«ΠΠ°ΠΉΡΠΎΠ½Β» Π° Π½Π΅ Β«ΠΏΠΈΡΠΎΠ½Β») β ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΠ²ΠΈΠ΄ΠΎ Π²Π°Π½ Π ΠΎΡΡΡΠΌΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π»Π΅Π³ΠΊΠΎΠ³ΠΎ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΈΡΠΊΡ.
Π Π½Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΠ°ΠΉΡΠΎΠ½ β ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΎΠ±Π»Π°ΡΡΡΡ
:
β Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΠ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ linux-ΡΡΠΈΠ»ΠΈΡΡ yum, pirut, system-config-*, IM-ΠΊΠ»ΠΈΠ΅Π½Ρ Gajim ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅)
β Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΌΠΎΡΠ½Π΅ΠΉΡΠΈΠΉ Application-ΡΠ΅ΡΠ²Π΅Ρ Zope ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ CMS Plone, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΉΡ Π¦Π Π£, ΠΈ ΠΌΠ°ΡΡΠ° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Plones, Django, TurboGears ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅)
β ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΠΈΠ³ΡΠ°Ρ
, ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ (Π² ΠΎΡΠΈΡΠ½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅ OpenOffice.org, 3d ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Blender, Π‘Π£ΠΠ Postgre)
β ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π½Π°ΡΡΠ½ΡΡ
ΡΠ°ΡΡΡΠ΅ΡΠ°Ρ
(Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ SciPy ΠΈ numPy Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠΎΠ² ΠΈ PyPlot Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΠ°ΠΉΡΠΎΠ½ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π²Π½ΠΈΠΌ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° MatLab)
Π ΡΡΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΡΠΎΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ.
1. Π‘Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΡΡΡ (http://python.org/download/).
2. Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ½Π° Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°, Π΄Π° ΠΈ ΠΈΠ΄ΡΡΠΈΠΉ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ IDLE ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π½ΠΎΠ²ΠΈΡΠΊΡ, Π½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ΅ΡΡΠ΅Π·Π½Π΅ΠΉ.
ΠΠ»Ρ Windows Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΉ PyScripter (http://tinyurl.com/5jc63t), Π΄Π»Ρ Linux β Komodo IDE.
Π₯ΠΎΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΠ°ΠΉΡΠΎΠ½Π°.
ΠΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ python.exe. ΠΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° Π½Π΅ Π·Π°ΡΡΠ°Π²ΠΈΡ ΡΠ΅Π±Ρ Π΄ΠΎΠ»Π³ΠΎ ΠΆΠ΄Π°ΡΡ, ΠΎΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
>>>
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ py, Π² Π²Π°ΡΠ΅ΠΌ Π»ΡΠ±ΠΈΠΌΠΎΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ ΡΠ΅ΠΊΡΡΡ ΡΠ²ΠΎΠΈΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ (Π½Π΅Ρ Word Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ). Π’Π°ΠΊΠΆΠ΅ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΠ±Ρ ΡΡΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΌΠ΅Π» Π΄Π΅Π»Π°ΡΡ Β«ΡΠΌΠ½ΡΠ΅ ΡΠ°Π±ΡΠ»ΡΡΠΎΡΡΒ» ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΠ» ΠΏΡΠΎΠ±Π΅Π»Ρ Π·Π½Π°ΠΊΠΎΠΌ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π»ΠΊΠ°ΡΡ 2 ΡΠ°Π·Π°. ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΡΡΡΡΠΎ, Π²ΡΡΠ°Π²ΡΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
raw_input()
Π’ΠΎΠ³Π΄Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΆΠ΄Π°ΡΡ Π½Π°ΠΆΠ°ΡΠΈΡ enter.
ΠΠ»ΠΈ Π°ΡΡΠΎΡΠΈΠΈΡΡΠΉΡΠ΅ py-ΡΠ°ΠΉΠ»Ρ Π² Far Ρ ΠΠ°ΠΉΡΠΎΠ½ΠΎΠΌ ΠΈ ΠΎΡΠΊΡΡΠ²Π°ΠΉΡΠ΅ Π½Π°ΠΆΠΈΠΌΠ°Ρ enter.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ΄ΠΎΠ±Π½ΡΡ IDE Π΄Π»Ρ ΠΠ°ΠΉΡΠΎΠ½Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Β«ΡΠ΄ΠΎΠ±ΡΡΠ²Π°Β».
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΎΡΠΈΠΈ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΠΠ°ΠΉΡΠΎΠ½ β ΡΠ·ΡΠΊ ΡΠΎ ΡΡΡΠΎΠ³ΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. Π§ΡΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ?
ΠΡΡΡ ΡΠ·ΡΠΊΠΈ ΡΠΎ ΡΡΡΠΎΠ³ΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠ΅ΠΉ (pascal, java, c ΠΈ Ρ.ΠΏ.), Ρ ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, ΠΈ Π΅ΡΡΡ ΡΠ·ΡΠΊΠΈ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠ΅ΠΉ (python, ruby, vb), Π² ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ°ΠΊΡΡΠ΅ΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π―Π·ΡΠΊΠΈ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π΅ΡΠ΅ Π½Π° 2 Π²ΠΈΠ΄Π°. Π‘ΡΡΠΎΠ³ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ° (ΠΠ°ΠΉΡΠΎΠ½) ΠΈ Π½Π΅ΡΡΡΠΎΠ³ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΡΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ VB, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ»ΠΎΠΆΠΈΡΡ ΡΡΡΠΎΠΊΡ ‘123’ ΠΈ ΡΠΈΡΠ»ΠΎ 456).
Π Π°Π·ΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ Ρ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΠ°ΠΉΡΠΎΠ½Π°, ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Β«ΠΏΠΎΠΈΠ³ΡΠ°ΡΡΒ» Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ.
>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a, b (2, 1)
Π’Π°ΠΊΠΈΠΌ, ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΡΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π½Π°ΠΊΠ° =. ΠΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ. ΠΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΎΠ½ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ β ΠΊΠ°ΠΊ ΡΡΡΠΎΡΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡ β Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΈΠΊΠ»Ρ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠΏΡΠ°Π²ΠΊΠ°. Π ΠΠ°ΠΉΡΠΎΠ½Π΅ Π½Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»Ρ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, ΠΈΡ
ΡΠΎΠ»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΡΡΡΡΠΏΡ. Π’ΠΎ Π΅ΡΡΡ ΡΠΎ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΎΡΡΡΡΠΏΠΎΠΌ β ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΌ Π±Π»ΠΎΠΊΠΎΠΌ. ΠΠΎΠ½Π°ΡΠ°Π»Ρ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ²ΡΠΊΠ°Π½ΠΈΠ΅, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡ ΡΡΠΎ ΡΡΠ° Β«Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π½Π°ΡΒ» ΠΌΠ΅ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄.
ΠΡΠ°ΠΊ ΡΡΠ»ΠΎΠ²ΠΈΡ.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Β«:Β». ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Β«Π½Π΅ ΠΏΡΠΎΡΠ»Π°Β» Π·Π°Π΄Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ elif. ΠΠ°ΠΊΠΎΠ½Π΅Ρ else Π·Π°Π΄Π°Π΅Ρ Π²Π΅ΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π΅ΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π½Π΅ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΎ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° if ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Β«…Β» ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ ΠΎΠ½ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°. Π§ΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ Π΅ΠΌΡ ΡΡΠΎ ΠΌΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ.
(ΠΡΠΈΠΌΠ΅Ρ Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ ΡΠ²Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Π½Π° Ρ Π°Π±ΡΠ΅, Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ°Π½ΡΡ Ρ ΡΠ΅Π³Π°ΠΌΠΈ pre ΠΈ code. ΠΡΠΎΡΡΠΈΡΠ΅ Π·Π° Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ, Ρ Π΅Π³ΠΎ ΠΊΠΈΠ½ΡΠ» ΡΡΠ΄Π° pastebin.com/f66af97ba, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠ΅Ρ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ β Π±ΡΠ΄Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π»Π΅Π½)
Π¦ΠΈΠΊΠ»Ρ.
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌ ΡΠ»ΡΡΠ°Π΅ΠΌ ΡΠΈΠΊΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΊΠ» while. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ ΠΈΡΡΠΈΠ½ΠΎ.
ΠΠΎΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ.
>>> x = 0 >>> while x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈ print x ΠΈ x+=1 Π½Π°ΠΏΠΈΡΠ°Π½Ρ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΎΡΡΡΡΠΏΠΎΠΌ, ΠΎΠ½ΠΈ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠ΅Π»ΠΎΠΌ ΡΠΈΠΊΠ»Π° (ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΡΠΎ Ρ Π³ΠΎΠ²ΠΎΡΠΈΠ» ΠΏΡΠΎ Π±Π»ΠΎΠΊΠΈ? π ).
ΠΡΠΎΡΠΎΠΉ Π²ΠΈΠ΄ ΡΠΈΠΊΠ»ΠΎΠ² Π² ΠΠ°ΠΉΡΠΎΠ½ β ΡΠΈΠΊΠ» for. ΠΠ½ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΠΈΠΊΠ»Ρ foreach Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ². ΠΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΡΠ°ΠΊΠΎΠ².
for ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ in ΡΠΏΠΈΡΠΎΠΊ:
ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΈΡΠΎΠΊ, Π½ΠΎ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ, Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠΊΠ° ΡΡΠΈΠΌ Π·Π°Π±ΠΈΠ²Π°ΡΡ Π³ΠΎΠ»ΠΎΠ²Ρ).
ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. Π ΡΠΎΠ»ΠΈ ΡΠΏΠΈΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΡΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΈΡΠ΅ΠΌ ΠΈΠ½ΡΠΌ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
>>> x = "Hello, Python!" >>> for char in x: ... print char ... H e l ........... !
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·Π»ΠΎΠΆΠΈΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ.
Π§ΡΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°ΡΡ Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΈΠΊΠ», ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠΉΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·? ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΠ΄Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ range.
ΠΠ° Π²Ρ ΠΎΠ΄Π΅ ΠΎΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ ΡΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π», ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Β«ΠΏΡΠΎΠΉΡΠΈΡΡΒ» ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ for.
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ range, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΡΠΎΠ»Ρ Π΅Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
>>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(2, 12) [2, 3, 4, 5, 6, 7, 8, 9, 10, 11] >>> range(2, 12, 3) [2, 5, 8, 11] >>> range(12, 2, -2) [12, 10, 8, 6, 4]
Π ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΡΠΈΠΊΠ»ΠΎΠΌ.
>>> for x in range(10): ... print x ... 0 1 2 ..... 9
ΠΠ²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΠ°ΠΉΡΠΎΠ½ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ β ΡΡΠΎ ΠΊΠ°ΠΊ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π½Π΅ΠΌ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄.
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° print, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅.
ΠΠ»Ρ Π²Π²ΠΎΠ΄Π° Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ raw_input(ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΡΠΎ ΡΡΠΎ Π²Π²Π΅Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
x = int(raw_input ("ΠΠ²Π΅Π΄ΠΈ ΡΠΈΡΠ»ΠΎ:")) print "ΠΠ²Π°Π΄ΡΠ°Ρ ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ", x * x
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ input() ΡΡ ΠΎΠΆΠ΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ Ρ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ Π΄ΡΡΠΎΠΉ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΡ ΠΈ Π²ΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°.
ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅.
1. Π‘ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΡΡΠ΅ΡΠ° Π³ΠΈΠΏΠΎΡΠ΅Π½ΡΠ·Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°. ΠΠ»ΠΈΠ½Π° ΠΊΠ°ΡΠ΅ΡΠΎΠ² Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
2. Π‘ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΡΠ½Π΅ΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅. ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
3. Π‘ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°Π±Π»ΠΈΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΈΡΠ»ΠΎ M. Π’Π°Π±Π»ΠΈΡΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΎΡ M * a, Π΄ΠΎ M * b, Π³Π΄Π΅ M, a, b Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ²ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΡΠΎΠ»Π±ΠΈΠΊ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π° ΡΡΡΠΎΠΊΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ):
5 Ρ
4 = 20
5 Ρ
5 = 25
Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
habr.com
Python | ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: 24.01.2018
Python ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠΎ ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ ΠΈΠ³ΡΡ, ΠΈ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΈΡΠΎΠ½ ΠΏΠΎΠ»ΡΡΠΈΠ» Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°.
ΠΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ·ΡΠΊ Python Π±ΡΠ» Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ Π² 1991 Π³ΠΎΠ΄Ρ Π³ΠΎΠ»Π»Π°Π½Π΄ΡΠΊΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΠ²ΠΈΠ΄ΠΎ ΠΠ°Π½ Π ΠΎΡΡΡΠΌΠΎΠΌ. Π‘ ΡΠ΅Ρ ΠΏΠΎΡ Π΄Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ΄Π΅Π»Π°Π» Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ. Π 2000 Π³ΠΎΠ΄Ρ Π±ΡΠ»Π° ΠΈΠ·Π΄Π°Π½Π° Π²Π΅ΡΡΠΈΡ 2.0, Π° Π² 2008 Π³ΠΎΠ΄Ρ — Π²Π΅ΡΡΠΈΡ 3.0. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠΎΠ΄Π΅ ΡΠ°ΠΊΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²ΡΡ ΠΎΠ΄ΡΡ ΠΏΠΎΠ΄Π²Π΅ΡΡΠΈΠΈ. Π’Π°ΠΊ, ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ 3.7. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅Ρ ΡΠ΅Π»ΠΈΠ·Π°Ρ , Π²Π΅ΡΡΠΈΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΏΡΠΎΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ https://www.python.org/.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python:
Π‘ΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ. ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΊΡΠΈΠΏΡΠΎΠ².
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΠΌΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌ.
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΠΈΡΠΈΠΌ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΡΠΊΡΠΈΠΏΡ Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡΠΊΠΎΠ΄, Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π±Π°ΠΉΡΠΊΠΎΠ΄ Π² Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
ΠΠ΄Π΅ΡΡ ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Ρ ΠΎΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Π±Π°ΠΉΡΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π±Π°ΠΉΡΠΊΠΎΠ΄Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ Π² Π½Π°Π±ΠΎΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π½ΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π² ΡΠ°ΠΌΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ΅.
ΠΠΎΡΡΠ°ΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ. ΠΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΠ°Ρ Ρ Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° — Windows, Mac OS, Linux, Π½Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π° Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΠ‘ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ
Python — ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΉ ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΡΡΠ°ΡΡ, ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π² 2014 Π³ΠΎΠ΄Ρ ΠΎΠ½ Π±ΡΠ» ΠΏΡΠΈΠ·Π½Π°Π½ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π² Π‘Π¨Π.
Python ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ°. Π Π½Π΅ΠΌΠ°Π»ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠΌΠΌΡΡΠ½ΠΈΡΠΈ, Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ·ΡΠΊΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ².
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Python Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ. ΠΠ»Ρ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π½Π° ΡΠ°ΠΉΡ https://www.python.org/ ΠΈ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΠ°Π½ΠΈΡΠ΅ Π² ΡΠ΅ΠΊΡΠΈΠΈ Downloads Π½Π°ΠΉΠ΄Π΅ΠΌ ΡΡΡΠ»ΠΊΡ Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ° (Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎ 3.7.2):
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ°. ΠΠ»ΠΈΠΆΠ΅ ΠΊ Π½ΠΈΠ·Ρ Π½Π° Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠ±Π΅ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΠΌ Π΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΠ‘ Windows 64-Ρ ΡΠ°Π·ΡΡΠ΄Π½Π°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π²ΡΠ±ΠΈΡΠ°Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ Windows x86-64 executable installer. ΠΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π΅Π³ΠΎ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»Ρ MacOS ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠ½ΠΊΡ macOS 64-bit installer.
ΠΠ° ΠΠ‘ Windows ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΠΊΠ½ΠΎ ΠΌΠ°ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ ΠΏΡΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ. ΠΡΡΠ°Π²ΠΈΠΌ Π΅Π³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎ Π΅ΡΡΡ C:\Users\[ΠΈΠΌΡ_ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ]\AppData\Local\Programs\Python\Python36\.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·Ρ ΠΎΡΠΌΠ΅ΡΠΈΠΌ ΡΠ»Π°ΠΆΠΎΠΊ «Add Python 3.6 to PATH», ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΡΡ ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² ΠΌΠ΅Π½Ρ ΠΡΡΠΊ Π½Π° ΠΠ‘ Windows ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡΠΈ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°Π·Π½ΡΠΌ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌ ΠΏΠΈΡΠΎΠ½Π°:
ΠΠ΄Π΅ΡΡ ΡΡΠΈΠ»ΠΈΡΠ° Python 3.7 (64-bit) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ. Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°ΠΌ ΡΠ°ΠΉΠ» ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ ΠΏΡΡΠΈ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°. ΠΠ° Windows ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ ΠΏΡΡΡ C:\Users\[ΠΈΠΌΡ_ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ]\AppData\Local\Programs\Python\Python37, Π° ΡΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ» python.exe. ΠΠ° ΠΠ‘ Linux ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΠΏΡΡΠΈ /usr/local/bin/python3.7.
metanit.com
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python / Habr
Π Π°ΡΡΡΠΆΠ΄Π°Ρ ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π»ΡΠ΄ΠΈ ΡΠ°ΡΡΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΊΡΡΡ Β«ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Β» Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ. ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ Π²ΠΎΡΡΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΊΡΡΡΠΈΠΈ. ΠΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ·ΡΠΊΠ°, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΠ΅ ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ΠΈ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΌΠ°ΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°. ΠΡΠΎ ΠΏΡΠΈΡΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ΡΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ½ΠΈ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅, Π»Π΅Π½ΠΈΠ²ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΌΠ΅Π½ΠΈΠ·ΠΌ. ΠΡΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.ΠΠ°Π±Π΅ΠΉΡΠ΅. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ: ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ². ΠΠ½ Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° Π΄Π°Π½Π½ΡΠ΅ Π²Π½Π΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Β«ΡΠ²ΠΎΠΉΡΡΠ²Π°Β» ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΠΈΠ· ΡΡΠΎΠ³ΠΎ.
ΠΠ΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
a = 0
def increment1():
global a
a += 1
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
def increment2(a):
return a + 1
ΠΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ map ΠΈ reduce
Map
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ . Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ.
ΠΡΠΎΡΡΠΎΠΉ map, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΡΠ½ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄Π»ΠΈΠ½:
name_lengths = map(len, ['ΠΠ°ΡΠ°', 'ΠΠ΅ΡΡ', 'ΠΠ°ΡΡ'])
print name_lengths
# => [4, 4, 3]
ΠΡΠΎΡ map Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΡ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ:
squares = map(lambda x: x * x, [0, 1, 2, 3, 4])
print squares
# => [0, 1, 4, 9, 16]
ΠΠ½ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π° Π±Π΅ΡΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ΅ΡΠ΅Π· lambda. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ lambda ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ»Π΅Π²Π° ΠΎΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ. Π’Π΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΠΏΡΠ°Π²Π°. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΡΠ½ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ·Π²ΠΈΡΠ°ΠΌΠΈ.
import random
names = ['ΠΠ°ΡΠ°', 'ΠΠ΅ΡΡ', 'ΠΠ°ΡΡ']
code_names = ['Π¨ΠΏΡΠ½ΡΠΈΠΊ', 'ΠΠΈΠ½ΡΠΈΠΊ', 'Π€ΡΠ½ΡΠΈΠΊ']
for i in range(len(names)):
names[i] = random.choice(code_names)
print names
# => ['Π¨ΠΏΡΠ½ΡΠΈΠΊ', 'ΠΠΈΠ½ΡΠΈΠΊ', 'Π¨ΠΏΡΠ½ΡΠΈΠΊ']
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ·Π²ΠΈΡΠ° ΡΠ°Π·Π½ΡΠΌ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΌ Π°Π³Π΅Π½ΡΠ°ΠΌ. ΠΡΠ΄Π΅ΠΌ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΠΎΡΠ»ΡΠΆΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠΈΡΡΠΈΠΈ.
ΠΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ ΡΡΠΎ ΡΠ΅ΡΠ΅Π· map:
import random
names = ['ΠΠ°ΡΠ°', 'ΠΠ΅ΡΡ', 'ΠΠ°ΡΡ']
secret_names = map(lambda x: random.choice(['Π¨ΠΏΡΠ½ΡΠΈΠΊ', 'ΠΠΈΠ½ΡΠΈΠΊ', 'Π€ΡΠ½ΡΠΈΠΊ']), names)
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 1. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ΅Π· map. ΠΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΈΠΌΡΠ½ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡ ΠΏΡΠΎΠ·Π²ΠΈΡΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄ΡΠΆΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
names = ['ΠΠ°ΡΠ°', 'ΠΠ΅ΡΡ', 'ΠΠ°ΡΡ']
for i in range(len(names)):
names[i] = hash(names[i])
print names
# => [6306819796133686941, 8135353348168144921, -1228887169324443034]
ΠΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:names = ['ΠΠ°ΡΠ°', 'ΠΠ΅ΡΡ', 'ΠΠ°ΡΡ']
secret_names = map(hash, names)
Reduce
Reduce ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠ½ΠΊΡΠΎΠ². ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ ΠΏΡΠ½ΠΊΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ reduce. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΌΠΌΡ Π²ΡΠ΅Ρ ΠΏΡΠ½ΠΊΡΠΎΠ² Π² Π½Π°Π±ΠΎΡΠ΅:
sum = reduce(lambda a, x: a + x, [0, 1, 2, 3, 4])
print sum
# => 10
x β ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠ½ΠΊΡ, Π° β Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ lambda Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠ½ΠΊΡΠ΅. reduce() ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ lambda Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ Π° ΠΈ Ρ , ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² Π° Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
Π ΡΠ΅ΠΌΡ ΡΠ°Π²Π½ΠΎ Π° Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ? ΠΠ½ΠΎ ΡΠ°Π²Π½ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΈ reduce() Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π’ΠΎ Π΅ΡΡΡ, ΠΏΠ΅ΡΠ²ΡΠΉ Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ Π²ΡΠΎΡΠΎΠΌΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ Π½Π°Π±ΠΎΡΠ°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΈΡΠ°Π΅Ρ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΊΠ°ΠΏΠΈΡΠ°Π½Β» Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΠΎΠΊ:
sentences = ['ΠΊΠ°ΠΏΠΈΡΠ°Π½ Π΄ΠΆΠ΅ΠΊ Π²ΠΎΡΠΎΠ±Π΅ΠΉ',
'ΠΊΠ°ΠΏΠΈΡΠ°Π½ Π΄Π°Π»ΡΠ½Π΅Π³ΠΎ ΠΏΠ»Π°Π²Π°Π½ΠΈΡ',
'Π²Π°ΡΠ° Π»ΠΎΠ΄ΠΊΠ° Π³ΠΎΡΠΎΠ²Π°, ΠΊΠ°ΠΏΠΈΡΠ°Π½']
cap_count = 0
for sentence in sentences:
cap_count += sentence.count('ΠΊΠ°ΠΏΠΈΡΠ°Π½')
print cap_count
# => 3
Π’ΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ reduce:
sentences = ['ΠΊΠ°ΠΏΠΈΡΠ°Π½ Π΄ΠΆΠ΅ΠΊ Π²ΠΎΡΠΎΠ±Π΅ΠΉ',
'ΠΊΠ°ΠΏΠΈΡΠ°Π½ Π΄Π°Π»ΡΠ½Π΅Π³ΠΎ ΠΏΠ»Π°Π²Π°Π½ΠΈΡ',
'Π²Π°ΡΠ° Π»ΠΎΠ΄ΠΊΠ° Π³ΠΎΡΠΎΠ²Π°, ΠΊΠ°ΠΏΠΈΡΠ°Π½']
cap_count = reduce(lambda a, x: a + x.count('ΠΊΠ°ΠΏΠΈΡΠ°Π½'),
sentences,
0)
Π ΠΎΡΠΊΡΠ΄Π° Π·Π΄Π΅ΡΡ Π±Π΅ΡΡΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°? ΠΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ ΠΈΠ· ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΎ Π·Π°Π΄Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ reduce().
ΠΠΎΡΠ΅ΠΌΡ map ΠΈ reduce Π»ΡΡΡΠ΅?
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ.
ΠΠΎ-Π²ΡΠΎΡΡΡ , Π²Π°ΠΆΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ,β ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅,β Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ map ΠΈ reduce.
Π-ΡΡΠ΅ΡΡΠΈΡ , ΠΊΠΎΠ΄ Π² ΡΠΈΠΊΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΈΠ»ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΠΊΠΎΠ΄, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ. ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, map ΠΈ reduce β ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Ρ.
Π-ΡΠ΅ΡΠ²ΡΡΡΡΡ , map ΠΈ reduce β ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΠ΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ map ΠΈ reduce, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π² ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ.
Π-ΠΏΡΡΡΡ , Ρ Π½ΠΈΡ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ·Π΅ΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅, ΡΠ»Π΅Π³ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, filter, all, any ΠΈ find.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2: ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ map, reduce ΠΈ filter. Filter ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠ΅Ρ Π²Π΅ΡΠ΅ΠΉ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ True.
people = [{'ΠΈΠΌΡ': 'ΠΠ°ΡΠ°', 'ΡΠΎΡΡ': 160},
{' ΡΠΎΡΡ ': 'Π‘Π°ΡΠ°', ' ΡΠΎΡΡ ': 80},
{'name': 'ΠΠ°ΡΠ°'}]
height_total = 0
height_count = 0
for person in people:
if 'ΡΠΎΡΡ' in person:
height_total += person[' ΡΠΎΡΡ ']
height_count += 1
if height_count > 0:
average_height = height_total / height_count
print average_height
# => 120
ΠΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:people = [{'ΠΈΠΌΡ': 'ΠΠ°ΡΠ°', 'ΡΠΎΡΡ': 160},
{' ΡΠΎΡΡ ': 'Π‘Π°ΡΠ°', ' ΡΠΎΡΡ ': 80},
{'name': 'ΠΠ°ΡΠ°'}]
heights = map(lambda x: x['ΡΠΎΡΡ'],
filter(lambda x: 'ΡΠΎΡΡ' in x, people))
if len(heights) > 0:
from operator import add
average_height = reduce(add, heights) / len(heights)
ΠΠΈΡΠΈΡΠ΅ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎ, Π° Π½Π΅ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΌΡΠ»ΠΈΡΡΠ΅Ρ Π³ΠΎΠ½ΠΊΡ ΡΡΡΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ. Π ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΠΈΠ½Π° Π»ΠΈΠ±ΠΎ Π΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΡΠ΄, Π»ΠΈΠ±ΠΎ Π½Π΅Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π½ΡΠΉ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠΌΠΈ ΠΏΡΡΡ. Π§Π΅ΡΠ΅Π· ΠΏΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π³ΠΎΠ½ΠΊΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ.
ΠΡΠΈΠΌΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄Π°:
-
- -
- -
- -
- -
- - -
- - -
- -
- - -
- - - -
- - -
- - - -
- - - -
- - - -
- - - - -
Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
from random import random
time = 5
car_positions = [1, 1, 1]
while time:
# decrease time
time -= 1
print ''
for i in range(len(car_positions)):
# move car
if random() > 0.3:
car_positions[i] += 1
# draw car
print '-' * car_positions[i]
ΠΠΎΠ΄ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π±ΡΠ»Π° Π±Ρ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ β ΠΎΠ½Π° Π±Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π»Π°, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π° Π½Π΅ ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ, Π²ΡΡΠ°Π²Π»ΡΡ ΠΊΠΎΠ΄ Π² ΡΡΠ½ΠΊΡΠΈΠΈ:
from random import random
def move_cars():
for i, _ in enumerate(car_positions):
if random() > 0.3:
car_positions[i] += 1
def draw_car(car_position):
print '-' * car_position
def run_step_of_race():
global time
time -= 1
move_cars()
def draw():
print ''
for car_position in car_positions:
draw_car(car_position)
time = 5
car_positions = [1, 1, 1]
while time:
run_step_of_race()
draw()
ΠΠ»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ». Β«ΠΡΠ»ΠΈ ΠΎΡΡΠ°Π»ΠΎΡΡ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΠΉΠ΄ΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³ Π³ΠΎΠ½ΠΊΠΈ ΠΈ Π²ΡΠ²Π΅Π΄Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π‘Π½ΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π²ΡΠ΅ΠΌΡΒ». ΠΡΠ»ΠΈ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°Π³ Π³ΠΎΠ½ΠΊΠΈ, ΠΎΠ½ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π΅ Π½ΡΠΆΠ½Ρ, ΠΊΠΎΠ΄ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΡΠ°ΠΌ ΡΠ΅Π±Ρ.
Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ. ΠΡΠΎΡ ΠΏΡΠΈΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ. Π€ΡΠ½ΠΊΡΠΈΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΠΎΠΊΡΡΠΆΠ°ΡΡΠΈΠΉ ΠΈΡ ΠΊΠΎΠ΄ ΠΈ ΠΌΠ΅Π½ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π²ΡΡΡΠ΅ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π΅ΠΌΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΠΉΡΠΈ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½Π° Π²Π·ΡΠ»Π°ΡΡ.
ΠΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
from random import random
def move_cars(car_positions):
return map(lambda x: x + 1 if random() > 0.3 else x,
car_positions)
def output_car(car_position):
return '-' * car_position
def run_step_of_race(state):
return {'time': state['time'] - 1,
'car_positions': move_cars(state['car_positions'])}
def draw(state):
print ''
print '\n'.join(map(output_car, state['car_positions']))
def race(state):
draw(state)
if state['time']:
race(run_step_of_race(state))
race({'time': 5,
'car_positions': [1, 1, 1]})
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ΄ ΡΠ°Π·Π±ΠΈΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’ΠΎΠΌΡ Π΅ΡΡΡ ΡΡΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°. ΠΠ΅ΡΠ²ΡΠΉ β Π½Π΅Ρ ΡΠ°ΡΡΠ°ΡΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . time ΠΈ car_positions ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΡΡΠΌΠΈΠΊΠΎΠΌ Π² race(). ΠΡΠΎΡΠΎΠ΅ β ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. Π’ΡΠ΅ΡΡΠ΅ β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ ΠΌΠ΅Π½ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° run_step_of_race() ΠΏΡΠΎΠ΄Π΅Π»ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³, ΠΎΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΎΠΏΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ.
ΠΠΎΡ Π²Π°ΠΌ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ zero() ΠΈ one():
def zero(s):
if s[0] == "0":
return s[1:]
def one(s):
if s[0] == "1":
return s[1:]
zero() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ s. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» β 0, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡΠ°ΡΠΎΠΊ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ Π½Π΅Ρ β ΡΠΎΠ³Π΄Π° None. one() Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» β 1.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ rule_sequence(). ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ-ΠΏΡΠ°Π²ΠΈΠ», ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ zero ΠΈ one. ΠΠ½Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π΅ΠΌΡ ΡΡΡΠΎΠΊΡ. ΠΡΠ»ΠΈ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΎ None, ΡΠΎ Π±Π΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ. Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ None, rule_sequence() ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ None. ΠΠ½Π°ΡΠ΅ β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°.
ΠΡΠΈΠΌΠ΅ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ :
print rule_sequence('0101', [zero, one, zero])
# => 1
print rule_sequence('0101', [zero, zero])
# => None
ΠΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ Π²Π΅ΡΡΠΈΡ rule_sequence():
def rule_sequence(s, rules):
for rule in rules:
s = rule(s)
if s == None:
break
return s
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 3. ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΊΠ». ΠΠ΅ΡΠ΅ΠΏΠΈΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡΠΈΠΈ.
ΠΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:def rule_sequence(s, rules):
if s == None or not rules:
return s
else:
return rule_sequence(rules[0](s), rules[1:])
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ (pipelines)
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΈΠ΄ ΡΠΈΠΊΠ»ΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΈΡΠΌΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΊΠ» ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ»ΠΎΠ²Π°ΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠΌΡ, Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΠ°Π½Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΡΠ°ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π³ΡΡΠΏΠΏ.
bands = [{'name': 'sunset rubdown', 'country': 'UK', 'active': False},
{'name': 'women', 'country': 'Germany', 'active': False},
{'name': 'a silver mt. zion', 'country': 'Spain', 'active': True}]
def format_bands(bands):
for band in bands:
band['country'] = 'Canada'
band['name'] = band['name'].replace('.', '')
band['name'] = band['name'].title()
format_bands(bands)
print bands
# => [{'name': 'Sunset Rubdown', 'active': False, 'country': 'Canada'},
# {'name': 'Women', 'active': False, 'country': 'Canada' },
# {'name': 'A Silver Mt Zion', 'active': True, 'country': 'Canada'}]
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Β«formatΒ» ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΎΠ±ΡΠ΅Π΅. Π Π²ΠΎΠΎΠ±ΡΠ΅, ΠΊΠΎΠ΄ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΡΠ²ΠΎ. Π ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΡΡΠΈ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° ‘country’ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ‘Canada’. Π£Π±ΠΈΡΠ°ΡΡΡΡ ΡΠΎΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ Π±ΡΠΊΠ²Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° Π·Π°Π³Π»Π°Π²Π½ΡΡ. Π‘Π»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°ΡΡ, ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, Π΄Π΅Π»Π°Π΅Ρ Π»ΠΈ ΠΎΠ½ ΡΡΠΎ. ΠΠ³ΠΎ ΡΡΠΆΠ΅Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°ΡΡ.
Π‘ΡΠ°Π²Π½ΠΈΡΠ΅:
print pipeline_each(bands, [set_canada_as_country,
strip_punctuation_from_name,
capitalize_names])
ΠΡΡ ΠΏΡΠΎΡΡΠΎ. ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Π² ΡΠ΅ΠΏΠΎΡΠΊΡ. ΠΡΡ ΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ β Π²Ρ ΠΎΠ΄ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ. ΠΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°ΡΡ.
pipeline_each() ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π³ΡΡΠΏΠΏΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ, ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, Π²ΡΠΎΠ΄Π΅ set_canada_as_country(). ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π³ΡΡΠΏΠΏΠ°ΠΌ, pipeline_each() Π΄Π΅Π»Π°Π΅Ρ ΠΈΠ· Π½ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ.
def assoc(_d, key, value):
from copy import deepcopy
d = deepcopy(_d)
d[key] = value
return d
def set_canada_as_country(band):
return assoc(band, 'country', "Canada")
def strip_punctuation_from_name(band):
return assoc(band, 'name', band['name'].replace('.', ''))
def capitalize_names(band):
return assoc(band, 'name', band['name'].title())
ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠ»ΡΡ Π³ΡΡΠΏΠΏΡ Ρ Π½ΠΎΠ²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠΎ ΡΡΠΆΠ΅Π»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΡΠ°Π΅ΠΌ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ assoc(). ΠΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ deepcopy() Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΏΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡ ΠΊΠΎΠΏΠΈΡ.
ΠΡΡ Π²ΡΠΎΠ΄Π΅ ΠΊΠ°ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΡΠΈΠ³ΠΈΠ½Π°Π»Ρ Π΄Π°Π½Π½ΡΡ Π·Π°ΡΠΈΡΠ΅Π½Ρ ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΎ Π² ΠΊΠΎΠ΄Π΅ Π΅ΡΡΡ Π΄Π²Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ . Π strip_punctuation_from_name() ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈΠΌΡ Π±Π΅Π· ΡΠΎΡΠ΅ΠΊ ΡΠ΅ΡΠ΅Π· Π²ΡΠ·ΠΎΠ² calling replace() Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π capitalize_names() ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈΠΌΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠΏΠΈΡΠ½ΠΎΠΉ Π±ΡΠΊΠ²ΠΎΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ title() ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ replace ΠΈ time Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Ρ, ΡΠΎ ΠΈ strip_punctuation_from_name() Ρ capitalize_names() Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Ρ.
Π ΡΡΠ°ΡΡΡΡ, ΠΎΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Ρ. Π Python ΡΡΡΠΎΠΊΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠΏΠΈΡΠΌΠΈ ΡΡΡΠΎΠΊ. Π£ΡΡ, ΡΠ»Π°Π²Π° Π±ΠΎΠ³Ρ.
Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ (ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡΡ) Π² Python Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠ·ΡΠΊΠΎΠ² ΡΠΈΠΏΠ° Clojure. Π’Π°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ Π½Π°Π΄ΠΎ Π΄ΡΠΌΠ°ΡΡ, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π»ΠΈ ΠΎΠ½ Π΄Π°Π½Π½ΡΠ΅. ΠΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 4. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ pipeline_each. ΠΠ°Π΄ΡΠΌΠ°ΠΉΡΠ΅ΡΡ Π½Π°Π΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡΡΠΏΠΏΡ β Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΡΠΊΠ΅ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:def pipeline_each(data, fns):
return reduce(lambda a, x: map(x, a),
fns,
data)
ΠΡΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Ρ Π³ΡΡΠΏΠΏΡ. call() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΊΠ»ΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π°.
set_canada_as_country = call(lambda x: 'Canada', 'country')
strip_punctuation_from_name = call(lambda x: x.replace('.', ''), 'name')
capitalize_names = call(str.title, 'name')
print pipeline_each(bands, [set_canada_as_country,
strip_punctuation_from_name,
capitalize_names])
ΠΠ»ΠΈ, ΠΆΠ΅ΡΡΠ²ΡΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡΡ:
print pipeline_each(bands, [call(lambda x: 'Canada', 'country'),
call(lambda x: x.replace('.', ''), 'name'),
call(str.title, 'name')])
ΠΠΎΠ΄ Π΄Π»Ρ call():
def assoc(_d, key, value):
from copy import deepcopy
d = deepcopy(_d)
d[key] = value
return d
def call(fn, key):
def apply_fn(record):
return assoc(record, key, fn(record.get(key)))
return apply_fn
Π§ΡΠΎ ΡΡΡ Ρ Π½Π°Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΠ΄ΠΈΠ½. call β ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°, Ρ.ΠΊ. ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ²Π°. apply_fn() ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΠΈΡΡ (Π³ΡΡΠΏΠΏΡ). ΠΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ record[key]. ΠΡΠ·ΡΠ²Π°Π΅Ρ fn. ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΊΠΎΠΏΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Ρ.
Π’ΡΠΈ. call ΡΠ°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ. ΠΡΡ ΡΠ°Π±ΠΎΡΡ Π΄Π΅Π»Π°Π΅Ρ apply_fn(). Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ pipeline_each(), ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ apply_fn() Π·Π°Π΄Π°ΡΡ ‘country’ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ‘Canada’. ΠΡΡΠ³ΠΎΠΉ β Π΄Π΅Π»Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΡ Π±ΡΠΊΠ²Ρ ΠΏΡΠΎΠΏΠΈΡΠ½ΠΎΠΉ.
Π§Π΅ΡΡΡΠ΅. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° apply_fn() ΡΡΠ½ΠΊΡΠΈΠΈ fn ΠΈ key Π½Π΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΎ Π½Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ apply_fn() ΠΈ Π½Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΠΎ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΠΈΠΌ Π±ΡΠ΄Π΅Ρ. ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ½Π° ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½Π° Π·Π°ΠΌΡΠΊΠ°Π΅Ρ β ΡΠ΅, ΡΡΠΎ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ½Π°ΡΡΠΆΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΡΡΡΡΡ ΡΡΠ΅Π΄ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ , Π·Π°ΡΠ΅ΠΌ ΡΡΠ΅Π΄ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠ΅Π΄ΠΈ ΡΡΡΠ»ΠΎΠΊ Π½Π° Π·Π°ΠΌΠΊΠ½ΡΡΡΠ΅. Π’Π°ΠΌ ΠΈ Π½Π°ΠΉΠ΄ΡΡΡΡ fn ΠΈ key.
ΠΡΡΡ. Π call Π½Π΅Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ Π³ΡΡΠΏΠΏ. ΠΡΠΎ ΠΎΡΡΠΎΠ³ΠΎ, ΡΡΠΎ call ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΡΠ±ΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ², Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΡΠΎΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΠ±ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ»ΠΎΠ΄ΡΠΎΠΌ. ΠΠ°ΠΌΡΠΊΠ°Π½ΠΈΡ, ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΈ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ β Π²ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ°Ρ . ΠΠΎΠΆΠ½ΠΎ ΠΈ ΡΠ°ΠΉΠΊΡ Ρ ΠΏΠ΅ΡΠ΅Π½ΡΠΊΠ°ΠΌΠΈ Π²ΡΠΏΠΈΡΡ.
ΠΡΡΠ°ΡΡΡΡ Π΅ΡΡ ΠΎΠ΄Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ Π³ΡΡΠΏΠΏ. Π£Π±ΡΠ°ΡΡ Π²ΡΡ, ΠΊΡΠΎΠΌΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΡΠ°Π½Ρ. Π€ΡΠ½ΠΊΡΠΈΡ extract_name_and_country():
def extract_name_and_country(band):
plucked_band = {}
plucked_band['name'] = band['name']
plucked_band['country'] = band['country']
return plucked_band
print pipeline_each(bands, [call(lambda x: 'Canada', 'country'),
call(lambda x: x.replace('.', ''), 'name'),
call(str.title, 'name'),
extract_name_and_country])
# => [{'name': 'Sunset Rubdown', 'country': 'Canada'},
# {'name': 'Women', 'country': 'Canada'},
# {'name': 'A Silver Mt Zion', 'country': 'Canada'}]
extract_name_and_country() ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ pluck(). ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π±Ρ ΠΎΠ½Π° ΡΠ°ΠΊ:
print pipeline_each(bands, [call(lambda x: 'Canada', 'country'),
call(lambda x: x.replace('.', ''), 'name'),
call(str.title, 'name'),
pluck(['name', 'country'])])
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 5. pluck ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π΄ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ· Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ. ΠΡΠΎ Π±ΡΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°.
ΠΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:def pluck(keys):
def pluck_fn(record):
return reduce(lambda a, x: assoc(a, x, record[x]),
keys,
{})
return pluck_fn
Π ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ?
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Ρ ΠΎΡΠΎΡΠΎ ΡΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈ Π²Ρ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΏΡΠΎ ΠΠ°ΡΡ, ΠΠ΅ΡΡ ΠΈ ΠΠ°ΡΡ. ΠΡΠ΅Π²ΡΠ°ΡΠΈΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌ Π² map ΠΈ reduces.
ΠΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Π³ΠΎΠ½ΠΊΠΈ. Π Π°Π·Π±Π΅ΠΉΡΠ΅ ΠΊΠΎΠ΄ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠ΅Π²ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΠΊΠ» Π² ΡΠ΅ΠΊΡΡΡΠΈΡ.
ΠΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΏΡΠΎ Π³ΡΡΠΏΠΏΡ. ΠΡΠ΅Π²ΡΠ°ΡΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ.
habr.com
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Python. Π£ΡΠΎΠΊ 2
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΏΡΠ°Π²ΠΊΠ°
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊ 1991 Π³ΠΎΠ΄Ρ Π³ΠΎΠ»Π»Π°Π½Π΄ΡΠ΅ΠΌ ΠΠ²ΠΈΠ΄ΠΎ Π²Π°Π½ Π ΠΎΡΡΡΠΌΠΎΠΌ.
Π‘Π²ΠΎΠ΅ ΠΈΠΌΡ β ΠΠ°ΠΉΡΠΎΠ½ (ΠΈΠ»ΠΈ ΠΠΈΡΠΎΠ½) β ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ΅Π»Π΅ΡΠ΅ΡΠΈΠ°Π»Π°, Π° Π½Π΅ ΠΏΡΠ΅ΡΠΌΡΠΊΠ°ΡΡΠ΅Π³ΠΎΡΡ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π ΠΎΡΡΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» ΡΠ·ΡΠΊ, ΠΎΠ½ Π²ΡΠ»ΠΎΠΆΠΈΠ» Π΅Π³ΠΎ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π³Π΄Π΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΎΡΡ ΠΊ Π΅Π³ΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ.
Python Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ. Π§Π°ΡΡΠΎ Π²ΡΡ ΠΎΠ΄ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π²Π΅ΡΠΊΠΈ: Python 2.x ΠΈ Python 3.x. ΠΠ΄Π΅ΡΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΉ Π±ΡΠΊΠ²ΠΎΠΉ «x» ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ΅Π»ΠΈΠ·. ΠΠ΅ΠΆΠ΄Ρ Π²ΡΠΎΡΡΠΌ ΠΈ ΡΡΠ΅ΡΡΠΈΠΌ ΠΠΈΡΠΎΠ½ΠΎΠΌ Π΅ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ°. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΡΡΡΠ΅ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ Π±Π΅ΡΠ΅ΡΡΡ Python 3.x.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ·ΡΠΊΠ° β https://www.python.org.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°
Python β ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°ΡΡΡΠΌΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΅Π³ΠΎ ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ β ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ.
Python Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ. Π§ΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° Π½Π΅ΠΌ Π»Π΅Π³ΡΠ΅, ΡΠ΅ΠΌ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ. ΠΊ. Π² ΠΠΈΡΠΎΠ½Π΅ ΠΌΠ°Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠ°ΠΊ ΡΠΊΠΎΠ±ΠΊΠΈ, ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΡΠΌΠΈ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ·ΡΠΊΠ° Π·Π°ΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π΄Π΅Π»Π°ΡΡ ΠΎΡΡΡΡΠΏΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Ρ ΠΌΠ°Π»ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π»Π΅Π³ΡΠ΅.
Python β ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ΅ΡΠ°Ρ . ΠΡΠ½ΠΎΠ²Π½Π°Ρ, Π½ΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΠΈΠΌ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°, β ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΡΡΡΠ΅ ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΠΌΡΠ½Π΅ΠΌ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , Π° Π±ΡΠ΄Π΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠΉ. ΠΠ΅Π· Π·Π½Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΉ, ΡΠΈΠΊΠ»ΠΎΠ², ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΈΠ·ΡΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ, Ρ. ΠΊ. Π² Π½ΠΈΡ Π²ΡΠ΅ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ Python ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ GNU General Public License.
ΠΠ·Π΅Π½ ΠΠΈΡΠΎΠ½Π°
ΠΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΠΈΡΠΎΠ½Π° Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ import this
(«ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉ ΡΡΠΎ» Π·Π΄Π΅ΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΊ «ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π±Ρ»), ΡΠΎ Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ «ΠΠ·Π΅Π½ ΠΠΈΡΠΎΠ½Π°», ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠΈΠΉ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΌΡΡΠ»Π° ΡΡΠΈΡ
ΠΏΠΎΡΡΡΠ»Π°ΡΠΎΠ² Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ΄Π΅Ρ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΎΡΠ²ΠΎΠΈΡΠ΅ ΡΠ·ΡΠΊ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΈ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- Beautiful is better than ugly. ΠΡΠ°ΡΠΈΠ²ΠΎΠ΅ Π»ΡΡΡΠ΅ ΡΡΠΎΠ΄Π»ΠΈΠ²ΠΎΠ³ΠΎ.
- Explicit is better than implicit. Π―Π²Π½ΠΎΠ΅ Π»ΡΡΡΠ΅ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ.
- Simple is better than complex. ΠΡΠΎΡΡΠΎΠ΅ Π»ΡΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ.
- Complex is better than complicated. Π‘Π»ΠΎΠΆΠ½ΠΎΠ΅ Π»ΡΡΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ½Π½ΠΎΠ³ΠΎ.
- Flat is better than nested. ΠΠ»ΠΎΡΠΊΠΎΠ΅ Π»ΡΡΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ.
- Sparse is better than dense. Π Π°Π·ΡΠ΅ΠΆΡΠ½Π½ΠΎΠ΅ Π»ΡΡΡΠ΅ ΠΏΠ»ΠΎΡΠ½ΠΎΠ³ΠΎ.
- Readability counts. Π£Π΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ Π²Π°ΠΆΠ½Π°.
- Special cases aren’t special enough to break the rules. Π§Π°ΡΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ Π½Π΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½Ρ, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°.
- Although practicality beats purity. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎΡΡΡ Π²Π°ΠΆΠ½Π΅Π΅ ΡΠΈΡΡΠΎΡΡ.
- Errors should never pass silently. ΠΡΠΈΠ±ΠΊΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΌΠ°Π»ΡΠΈΠ²Π°ΡΡΡΡ.
- Unless explicitly silenced. ΠΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΌΠ°Π»ΡΠΈΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΎ ΡΠ²Π½ΠΎ.
- In the face of ambiguity, refuse the temptation to guess. ΠΠ΅ΡΠ΅Π΄ Π»ΠΈΡΠΎΠΌ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»ΡΠΉΡΠ΅ΡΡ ΠΈΡΠΊΡΡΠ΅Π½ΠΈΡ ΡΠ³Π°Π΄Π°ΡΡ.
- There should be one β and preferably only one β obvious way to do it. ΠΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ β ΠΈ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ β ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ.
- Although that way may not be obvious at first unless you’re Dutch. Π₯ΠΎΡΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π·Π³Π»ΡΠ΄Π° Π½Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½, Π΅ΡΠ»ΠΈ ΡΡ Π½Π΅ Π³ΠΎΠ»Π»Π°Π½Π΄Π΅Ρ.
- Now is better than never. Π‘Π΅ΠΉΡΠ°Ρ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π°.
- Although never is often better than *right* now. ΠΠ΄Π½Π°ΠΊΠΎ, Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠ°ΡΠ΅ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ.
- If the implementation is hard to explain, it’s a bad idea. ΠΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ β ΡΡΠΎ ΠΏΠ»ΠΎΡ Π°Ρ ΠΈΠ΄Π΅Ρ.
- If the implementation is easy to explain, it may be a good idea. ΠΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ β ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Ρ.
- Namespaces are one honking great idea β let’s do more of those! ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ β ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½Π°Ρ ΠΈΠ΄Π΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅!
ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ
ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ. ΠΠΈΡΠ΅ΡΡ ΡΡΡΠΎΠΊΡ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΡ Enter, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π΅, Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΡΡΠ°Π΅ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠΈΡΡΠ΅Ρ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°. ΠΠ΅Π΄Ρ Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΡΠΎ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡ Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π ΡΡΠ°ΡΡΡΡ, Π΄Π°ΠΆΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ Π²ΡΠ΅ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΆΠΈΠ·Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Π½Π° Π±Π°Π·Π΅ ΡΠ΄ΡΠ° Linux ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Python Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Β«Π’Π΅ΡΠΌΠΈΠ½Π°Π»Β», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Bash. ΠΠ΄Π΅ΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Π½Π°Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ python
.
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΠΈΡΠΎΠ½Π°, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΏΡΡΡΠΈΠ»Π°ΡΡ Π²Π΅ΡΡΠΈΡ 2.7.12. ΠΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Β«2Β» ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python 2. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΠ° Ρ ΡΡΠ΅ΠΌΡ ΡΠ³Π»ΠΎΠ²ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ (>>>
) β ΡΡΠΎ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΡΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ·ΡΠΊ Python 3, Π²ΡΠΉΠ΄Π΅ΠΌ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ exit()
(exit β Π²ΡΡ
ΠΎΠ΄). ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ python3
.
ΠΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ python3 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½. ΠΠ°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ.
ΠΠ»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Windows Π½Π°Π΄ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΡΠ·ΡΠΊΠ° (https://www.python.org/downloads/windows/). ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠΎ ΡΡΠ»ΡΠΊΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π·Π΄Π΅ΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ·ΡΠΊΠ° ΠΌΡ Π½Π΅ ΠΈΠ·ΡΡΠ°Π»ΠΈ, ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π²Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²Π²ΠΎΠ΄Π° Π±ΡΠ»Π° Π΄ΠΎΠΏΡΡΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΡΠ°Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π§ΡΠΎΠ±Ρ Π·Π°Π½ΠΎΠ²ΠΎ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅Π»ΠΊΠΈ Π²Π²Π΅ΡΡ ΠΈ Π²Π½ΠΈΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅. Π ΡΡΠ΅Π΄Π΅ IDLE (Π² Windows) Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ (ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Alt+N ΠΈ Alt+P).
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π·Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π€Π°ΠΉΠ»Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Python ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .py.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ Python, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, PyCharm. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Geany.
ΠΠ΄Π΅ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ°Π»Π΅Π΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ python3
), ΠΏΠΎΡΠΎΠΌ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° (Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Ρ Π°Π΄ΡΠ΅ΡΠΎΠΌ, ΠΈΠ»ΠΈ Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cd
ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Bash).
ΠΠ΄Π½Π°ΠΊΠΎ Π² Geany ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» (sudo apt-get install libvte9
), ΡΡΠΎ ΡΠΏΡΠΎΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°ΡΡ F5, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠ°ΠΌ, ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π½Π°ΠΆΠ°ΡΠΈΡ Enter Π·Π°ΠΊΡΠΎΠ΅ΡΡΡ).
Π Windows ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ΅Π΄Π΅ IDLE. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΌΠ΅Π½Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ File β New Window (Crtl + N), ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠΈΡΡΠΎΠ΅ (Π±Π΅Π· ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ >>>
) Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°Π·Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .py, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½, ΡΠ½ΠΎΠ²Π° ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ». ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Run β Run Module (F5). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΎΠΊΠ½Π΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ°
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΠΈΡΠΎΠ½Π° Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ Π΅Π³ΠΎ Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΡ, ΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅Ρ. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΡΡΠΎΡΡ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½Π°Π΄ΠΎ Β«ΠΎΠ±Π΅ΡΠ½ΡΡΡΒ» ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΡΠ½ΠΊΡΠΈΡ print().
younglinux.info
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 ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°.
pythonicway.com
Pythonicway — Python — ΠΠ±Π·ΠΎΡ
- Details
- Hits: 29260
Python ΡΡΠΎ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Python Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠ°ΠΊ «Π»Π΅Π³ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ» ΡΠ·ΡΠΊ, ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² ΡΠ»ΠΎΠ²Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
- Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ: ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° Python Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.
- Python ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ: ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΏΡΡΠΌΠΎ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ .
- Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Python ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΠΠ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΊΠΎΠ΄Π° Π² ΠΎΡΠΎΠ±ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ, ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
ΠΡΡΠΎΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python
Python Π½Π°ΡΠ°Π» ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ Π²ΠΎΡΡΠΌΠΈΠ΄Π΅ΡΡΡΡΡ Π³ΠΎΠ΄ΠΎΠ² ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠΌ ΠΠΎΠ»Π»Π°Π½Π΄ΡΠΊΠΎΠ³ΠΎ ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΠ½ΡΡΠΈΡΡΡΠ° ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ ΠΠ²ΠΈΠ΄ΠΎ Π²Π°Π½ Π ΠΎΡΡΡΠΌΠΎΠΌ.
Python Π²ΠΎΠ±ΡΠ°Π» Π² ΡΠ΅Π±Ρ ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Algol-68,Β C, C++, Modula-3Β ABC, SmallTalk, ΠΈ ΡΡΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ.
ΠΠ΅ΡΡΠΈΡ 1.0 ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² 1994 Π³ΠΎΠ΄Ρ, 2.0 Π² 2000-ΠΌ, Π° 3.0 Π² 2008-ΠΌ Π³ΠΎΠ΄Ρ. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π²ΡΠΎΡΠ°Ρ ΠΈ ΡΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Python’a ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²ΡΠ΅ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ½ΡΡΠΈΡΡΡΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π° Π²Π°Π½ Π ΠΎΡΡΡΠΌΠΎΠΌ ΠΎΡΡΠ°Π»ΠΎΡΡ ΠΏΡΠ°Π²ΠΎ ΡΠ΅ΡΠ°ΡΡΠ΅Π³ΠΎ Π³ΠΎΠ»ΠΎΡΠ° Π² Π²ΠΎΠΏΡΠΎΡΠ°Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠ·ΡΠΊΠ°.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Python:
- ΠΠ΅Π³ΠΊΠΈΠΉ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ: Π£ Python’a ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°Π»ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ², ΠΏΡΠΎΡΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π½Π°ΡΡΠΈΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΡΠ·ΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
- ΠΠ΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ: ΠΠ»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Python Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΡΡΡΡΠΏΠΎΠ², ΡΡΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²Π·ΡΡΡΠΌΠΈ ΠΈΠ· Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
- ΠΠ΅Π³ΠΊΠΈΠΉ Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ: ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½ ΡΠΈΡΠΎΠΊΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈΒ Python’a ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
- Π¨ΠΈΡΠΎΠΊΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°: ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΠΈΡΠΎΠΊΠΎΠΉ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°: ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ «Π½Π° Π»Π΅ΡΡ» ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°
- ΠΠΎΡΡΠ°ΡΠΈΠ²Π½ΠΎΡΡΡ:Β Python Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
- Π Π°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ: ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Β PythonΒ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π΄ΡΡΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΠΈΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ.
- Π Π°Π±ΠΎΡΠ° Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ : Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Python ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ .
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ GUI (ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ): Π½Π° Python Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ GUIΒ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΈΠΏΠ° Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
pythonicway.com