π Π£ΠΊΡΡ ΠΏΠΈΡΠΎΠ½Π° π
ΠΡΠΊΡΡΡΡ Π² Telegram
π ΠΠ°Π½Π°Π» ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Python. Π’Π΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠΎΠΊΠΈ ΠΈ Π»Π°ΠΉΡΡ Π°ΠΊΠΈ. π½ ΠΠ΄ΠΌΠΈΠ½ - @tg_adminisrator π ΠΡΠΏΠΈΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ: https://telega.in/c/byteofpython π Π§Π°Ρ: @abyteofpython π ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π΄ΡΡΠ·ΡΡΠΌΠΈ: @byteofpython
ΠΠΎΠ»ΡΡΠ΅2 334
ΠΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΈ
ΠΠ΅Ρ Π΄Π°Π½Π½ΡΡ
24 ΡΠ°ΡΠ°
-117 Π΄Π½Π΅ΠΉ
-3730 Π΄Π½Π΅ΠΉ
ΠΡΡ
ΠΈΠ² ΠΏΠΎΡΡΠΎΠ²
π©βπ» collections.namedtuple β ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΆΠΈ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ
namedtuple ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ collections ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΡ
Π΅ΡΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ.
ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠ°ΠΌΠΈβ‘οΈ ΠΡΠΈΠΌΠ΅Ρ:
from collections import namedtuple
Point = namedtuple("Point", ["x", "y"])
p = Point(2, 5)
print(p.x, p.y) # 2 5
π Π’Π°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π»ΡΠ³ΠΊΠΈΠΉ ΠΊΠ°ΠΊ ΠΊΠΎΡΡΠ΅ΠΆ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, ΡΠ΅ΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡ
β ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
in Π² Python ΠΈ ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ?
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ in ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (ΡΡΡΠΎΠΊΠ΅, ΡΠΏΠΈΡΠΊΠ΅, ΠΊΠΎΡΡΠ΅ΠΆΠ΅, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅). ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ.
β
ΠΡΠΈΠΌΠ΅Ρ:
fruits = ["apple", "banana", "orange"]
print("apple" in fruits) # β True
print("grape" in fruits) # β False
πΠ ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ in ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π΅ΡΡΡ Π»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅.
in ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΡ , ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ Π² ΡΠ»ΠΎΠ²Π°ΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ. ΠΠ½ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, ΠΈΠ·Π±Π°Π²Π»ΡΡ ΠΎΡ ΡΠ²Π½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ²
π©βπ» itertools.product β Π²ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
itertools.product() ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π΅ΠΊΠ°ΡΡΠΎΠ²ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ β Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ
β‘οΈ ΠΡΠΈΠΌΠ΅Ρ:
from itertools import product
colors = ["red", "green"]
sizes = ["S", "M", "L"]
for combo in product(colors, sizes):
print(combo)
('red', 'S')
('red', 'M')
('red', 'L')
('green', 'S')
('green', 'M')
('green', 'L')
π ΠΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΡΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
π©βπ» zip β ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ
Π€ΡΠ½ΠΊΡΠΈΡ
zip() ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ Π² ΠΊΠΎΡΡΠ΅ΠΆΠΈ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌ.
Π Π°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΌΠΎΠΉ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
β‘οΈ ΠΡΠΈΠΌΠ΅Ρ:
names = ["ΠΠ½Π½Π°", "ΠΠΎΡΠΈΡ", "ΠΠ΅ΡΠ°"]
scores = [95, 88, 76]
for name, score in zip(names, scores):
print(f"{name}: {score}")
ΠΠ½Π½Π°: 95
ΠΠΎΡΠΈΡ: 88
ΠΠ΅ΡΠ°: 76
π Π£Π΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΡΠΏΠΈΡΠΊΠΎΠ²
π©βπ» *args ΠΈ kwargs β Π³ΠΈΠ±ΠΊΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ
Π Python ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΡ:
π’
*args ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΡΡΠ΅ΠΆ
π’**kwargs ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΡΠ»ΠΎΠ²Π°ΡΡ
β‘οΈ ΠΡΠΈΠΌΠ΅Ρ:
def show_info(*args, **kwargs):
print("args:", args)
print("kwargs:", kwargs)
show_info(1, 2, 3, name="ΠΠ½Π½Π°", age=25)
args: (1, 2, 3)
kwargs: {'name': 'ΠΠ½Π½Π°', 'age': 25}
π Π£Π΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
π©βπ» name == "main" β ΡΠΎΡΠΊΠ° Π²Ρ
ΠΎΠ΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π Python ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
__name__ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΡΠ»ΠΈΡΠΈΡΡ ΡΡΠΈ ΡΠ»ΡΡΠ°ΠΈ.
β‘οΈ ΠΡΠΈΠΌΠ΅Ρ:
def greet():
print("ΠΡΠΈΠ²Π΅Ρ!")
if __name__ == "__main__":
greet() # Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΡΡΠΌΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ°ΠΉΠ»Π°
π ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠΎΠ²
β ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄
pop() Π² Python ΠΈ ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ?
ΠΠ΅ΡΠΎΠ΄ pop() ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ±ΡΠ°Π² ΠΈΡ
ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
β
ΠΡΠΈΠΌΠ΅Ρ:
numbers = [10, 20, 30, 40]
last = numbers.pop()
print(last) # β 40
print(numbers) # β [10, 20, 30]
first = numbers.pop(0)
print(first) # β 10
print(numbers) # β [20, 30]
πΠ ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ pop() ΡΠ½Π°ΡΠ°Π»Π° ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π·Π°ΡΠ΅ΠΌ β ΠΏΠ΅ΡΠ²ΡΠΉ.
pop() ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΡΠ±ΠΈΡΠ°Ρ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ
π©βπ» isinstance vs type β ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΈΠΏΡ
Π Python Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΅ΡΡΡ Π΄Π²Π° ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°:
β’
type(obj) β ΡΡΡΠΎΠ³Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ
β’ isinstance(obj, Class) β ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Ρ ΡΡΡΡΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
β‘οΈ ΠΡΠΈΠΌΠ΅Ρ:
class Animal: pass
class Dog(Animal): pass
d = Dog()
print(type(d) == Animal) # False
print(isinstance(d, Animal)) # True
π ΠΠ±ΡΡΠ½ΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ isinstance, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π³ΠΈΠ±ΡΠ΅
