Python β ΡΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΈ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΡΠ²Π΅ΠΉΡΠ°ΡΡΠΊΠ°Ρ Π°ΡΠΌΠ΅ΠΉΡΠΊΠ°Ρ Π½ΠΎΠΆΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° 10 Ρ ΠΈΡΡΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΡΡΠ°ΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΌ ΠΌΠ°ΡΡΠ΅ΡΠΎΠΌ Python, Π° Π·Π°ΠΎΠ΄Π½ΠΎ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅Π»ΡΡ Π²Π°Ρ!
enumerate()ΠΠ°Π±ΡΠ»ΠΈ, ΠΊΠ°ΠΊ ΡΡΠΈΡΠ°ΡΡ? ΠΠ΅ Π±Π΅Π΄Π°! ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ for i in range(len(my_list)), ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ enumerate(my_list). Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ Π² Π±Π΅ΡΠΊΡΠ°ΠΉΠ½ΠΈΡ
ΠΏΡΠΎΡΡΠΎΡΠ°Ρ
ΡΠΏΠΈΡΠΊΠ°!
for index, value in enumerate(my_list):
print(index, value)
Π ΠΏΠΎΠΌΠ½ΠΈΡΠ΅: "Π‘ΡΠΈΡΠ°Ρ, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ!"
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ²ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π²Ρ ΡΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΎΡΠ΅Π½Ρ ΡΠΌΠ½ΡΠΌ. ΠΡΠΎ ΠΊΠ°ΠΊ ΠΌΠ°Π³ΠΈΡ, ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· ΡΠ»ΡΠΏΡ ΠΈ ΠΊΡΠΎΠ»ΠΈΠΊΠΎΠ².
squared = [x**2 for x in range(10)]
Π Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅: "Π‘ΠΏΠΈΡΠΎΠΊ β ΡΡΠΎ ΠΊΠ°ΠΊ Π²Π°ΡΠ° ΠΆΠΈΠ·Π½Ρ: ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ±ΡΠ°ΡΡ Π»ΠΈΡΠ½Π΅Π΅!"
zip()Π‘ΠΎΠ±ΡΠ°ΡΡ Π΄Π²Π° ΡΠΏΠΈΡΠΊΠ° Π² ΠΎΠ΄ΠΈΠ½? ΠΠ΅Π³ΠΊΠΎ! ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ zip(), ΡΡΠΎΠ±Ρ Π½Π΅ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ Π² ΠΏΠ°ΡΠ°Ρ
, ΠΊΠ°ΠΊ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΡ
.
names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 95]
combined = list(zip(names, scores))
"ΠΡΠ»ΠΈ Π±Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΆΠΈΠ·Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π»ΡΠ΄Π΅ΠΉ!"
defaultdictΠΠ°Π±ΡΠ΄ΡΡΠ΅ ΠΏΡΠΎ KeyError! Π‘ defaultdict Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°ΠΊ Ρ
ΠΎΡΠΎΡΠΈΠΉ Π΄ΡΡΠ³, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΡ.
from collections import defaultdict
my_dict = defaultdict(int)
my_dict['a'] += 1
"ΠΠ»ΠΎΡ ΠΈΠ΅ Π΄ΡΡΠ·ΡΡ β ΡΡΠΎ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠ»ΠΎΠ²Π°ΡΠΈ: Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄Π²ΠΎΠ΄ΡΡ!"
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ. ΠΠ½ΠΈ ΠΊΠ°ΠΊ Π΄ΠΈΠ΅ΡΠ° Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°: ΠΌΠ΅Π½ΡΡΠ΅ ΠΆΠΈΡΠ°, Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·Ρ!
def my_generator():
for i in range(10):
yield i**2
"ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ: ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ 'yield'!"
with Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈΠ Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ with, ΡΡΠΎΠ±Ρ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ Π·Π°ΠΊΡΡΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠ»Π΅ΡΠΎΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°!
with open('file.txt') as f:
content = f.read()
"ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² β ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ±ΠΎΡΠΊΠ° Π² ΠΊΠΎΠΌΠ½Π°ΡΠ΅: Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ ΠΎΡΠ΅ΡΡΡ, Π½ΠΎ Π΄Π΅Π»Π°ΡΡ Π½ΡΠΆΠ½ΠΎ!"
itertoolsΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡ Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ, itertools β Π²Π°Ρ Π»ΡΡΡΠΈΠΉ Π΄ΡΡΠ³. ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΠΉΡΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΠ²Π°ΠΉΡΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΡΡΡΠΎΠΊ!
import itertools
for combination in itertools.combinations(['A', 'B', 'C'], 2):
print(combination)
"ΠΡΠ΅ΡΠ°ΡΠΈΠΈ: ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅ΠΉ ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ!"
functools.lru_cacheΠ£ΡΡΠ°Π»ΠΈ ΠΎΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ? ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅! ΠΡΠΎ ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΡΡ ΠΎΡΡΠ°ΡΠΊΠΈ Π΅Π΄Ρ Π² Ρ ΠΎΠ»ΠΎΠ΄ΠΈΠ»ΡΠ½ΠΈΠΊΠ΅: Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° Π³ΠΎΠ»ΠΎΠ΄Π΅Π½!
from functools import lru_cache
@lru_cache(maxsize=None)
def fibonacci(n):
if n < 2:
return n
return fibonacci(n-1) + fibonacci(n-2)
"ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΡΠ» Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π²Ρ!"
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΡΠΎ ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ: Π²ΡΡ Π½Π° ΡΠ²ΠΎΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ , ΠΈ ΠΈΡΠΊΠ°ΡΡ Π»Π΅Π³ΡΠ΅!
"Π₯Π°ΠΎΡ Π² ΠΊΠΎΠ΄Π΅ β ΡΡΠΎ ΠΊΠ°ΠΊ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΠΊ Π² Π³ΠΎΠ»ΠΎΠ²Π΅: Π»ΡΡΡΠ΅ ΠΈΠ·Π±Π΅Π³Π°ΡΡ!"
docstringsΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄! ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ docstrings, ΡΡΠΎΠ±Ρ Π²Π°ΡΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π½Π΅ Π΄ΡΠΌΠ°Π»ΠΈ, ΡΡΠΎ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ Π½Π° Π΄ΡΠ΅Π²Π½Π΅ΠΌ ΡΠ·ΡΠΊΠ΅.
def my_function():
"""ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ-ΡΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅."""
pass
*"ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅,
All images are taken from the Pixabay.comΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ 4adm.in