🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° 🐍
2.51K subscribers
1.04K photos
23 videos
285 links
🐍 Канал ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС Python. ВСматичСскиС ΡƒΡ€ΠΎΠΊΠΈ ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ.

πŸ‘½ Админ - @it_dashka
πŸ”Š ΠšΡƒΠΏΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ: https://telega.in/c/byteofpython

πŸ‘‰ Π§Π°Ρ‚: @abyteofpython
πŸ‘‰ ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ: @byteofpython
Download Telegram
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
πŸ‘©β€πŸ’» name == "main" β€” Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

Π’ Python ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ __name__ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ эти случаи.

➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

def greet():
print("ΠŸΡ€ΠΈΠ²Π΅Ρ‚!")

if __name__ == "__main__":
greet() # выполнится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ прямом запускС Ρ„Π°ΠΉΠ»Π°


πŸ“Œ Π­Ρ‚ΠΎ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… запусков
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘©β€πŸ’» *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}


πŸ“Œ Π£Π΄ΠΎΠ±Π½ΠΎ для написания ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСскими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ
Please open Telegram to view this post
VIEW IN TELEGRAM
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
πŸ‘©β€πŸ’» zip β€” объСдинСниС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΏΠΎ элСмСнтам

Ѐункция zip() ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ элСмСнты Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΏΠΎ индСксам.
Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° самой ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ

➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

names = ["Анна", "Борис", "Π’Π΅Ρ€Π°"]
scores = [95, 88, 76]

for name, score in zip(names, scores):
print(f"{name}: {score}")

Анна: 95
Борис: 88
Π’Π΅Ρ€Π°: 76


πŸ“Œ Π£Π΄ΠΎΠ±Π½ΠΎ для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° списков
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘©β€πŸ’» 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')


πŸ“Œ ПолСзно ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², тСстов ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
Please open Telegram to view this post
VIEW IN TELEGRAM
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
❓ Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in Π² Python ΠΈ ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in провСряСт, содСрТится Π»ΠΈ элСмСнт Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (строкС, спискС, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅, мноТСствС ΠΈΠ»ΠΈ словарС). Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ способ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ принадлСТности.

βœ…ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

fruits = ["apple", "banana", "orange"]

print("apple" in fruits) # ➜ True
print("grape" in fruits) # ➜ False


πŸ“ŒΠ’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ in провСряСт, Π΅ΡΡ‚ΡŒ Π»ΠΈ элСмСнт Π² спискС.

in ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для поиска Π² коллСкциях, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² словарях ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстом. Он Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ ΠΈ понятным, избавляя ΠΎΡ‚ явных Ρ†ΠΈΠΊΠ»ΠΎΠ²
Please open Telegram to view this post
VIEW IN TELEGRAM
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
πŸ‘©β€πŸ’» collections.namedtuple β€” ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ

namedtuple ΠΈΠ· модуля collections создаёт ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ.

Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ


➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

from collections import namedtuple

Point = namedtuple("Point", ["x", "y"])
p = Point(2, 5)

print(p.x, p.y) # 2 5


πŸ“Œ Π’Π°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π»Ρ‘Π³ΠΊΠΈΠΉ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅, Ρ‡Π΅ΠΌ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΈΠ»ΠΈ класс
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯1