ru
Feedback

НС ΠΏΠΎΠΏΠ°Π΄ΠΈΡ‚Π΅ΡΡŒ Π½Π° ΠΊΠ°Π½Π°Π» Π±ΠΎΡ‚Π°Π²ΠΎΠ΄Π°! Telemetrio Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°Π½Π°Π»Ρ‹ πŸ‘‰ Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΡƒ β€” ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ подписку

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° 🐍

🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° 🐍

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Telegram

🐍 Канал ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС Python. ВСматичСскиС ΡƒΡ€ΠΎΠΊΠΈ ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ. πŸ‘½ Админ - @tg_adminisrator πŸ”Š ΠšΡƒΠΏΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ: https://telega.in/c/byteofpython πŸ‘‰ Π§Π°Ρ‚: @abyteofpython πŸ‘‰ ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ: @byteofpython

Π‘ΠΎΠ»ΡŒΡˆΠ΅
2 334
ΠŸΠΎΠ΄ΠΏΠΈΡΡ‡ΠΈΠΊΠΈ
НСт Π΄Π°Π½Π½Ρ‹Ρ…24 часа
-117 Π΄Π½Π΅ΠΉ
-3730 Π΄Π½Π΅ΠΉ
Архив постов
Π’Π°ΠΊ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ
Π’Π°ΠΊ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ

πŸ”₯ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ slots Π² Python ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½? slots ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ список Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρƒ экзСмпляров класса, экономя ΠΏΠ°ΠΌΡΡ‚ΡŒ Π·Π° счСт ΠΎΡ‚ΠΊΠ°Π·Π° ΠΎΡ‚ dict. βœ… ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ класс Π±Π΅Π· slots:
class Person:
    def init(self, name, age):
        self.name = name
        self.age = age

p = Person("Alice", 25)
p.city = "New York"  # МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚
βœ… Класс с slots:
class Person:
    slots = ("name", "age")  # Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эти Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹

    def init(self, name, age):
        self.name = name
        self.age = age

p = Person("Alice", 25)
p.city = "New York"  # ❌ AttributeError: 'Person' object has no attribute 'city'
βž• ΠŸΠ»ΡŽΡΡ‹ slots β€’ Π­ΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ (Π½Π΅ создаСтся dict) β€’ УскоряСт доступ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ β€’ ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ созданиС Π»ΠΈΡˆΠ½ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ⚑️ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ slots, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π²Π°ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ!

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
Anonymous voting

photo content

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ @property Π² Python? @property ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса Π² свойство, позволяя ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ Π±Π΅Π· скобок. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
class Person:
    def init(self, name):
        self._name = name

    @property
    def name(self):  
        return self._name  

p = Person("Alice")
print(p.name)  # Alice (ΠΊΠ°ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, Π½ΠΎ с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ)
Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ? β€’ ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠ°ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ β€’ Π—Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ прямого измСнСния β€’ ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π±Π΅Π· измСнСния интСрфСйса ⚑️ @property Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‰Π΅ ΠΈ бСзопаснСС, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ!

НСмноТко ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ set Π² Python ΠŸΠΎΡ‡Π΅ΠΌΡƒ set Π² Python Π½Π΅ всСгда Ρ‚Π°ΠΊΠΎΠΉ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ, ΠΊΠ°ΠΊ каТСтся? РазбираСмся, ΠΊΠ°ΠΊ мноТСства уст
НСмноТко ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ set Π² Python ΠŸΠΎΡ‡Π΅ΠΌΡƒ set Π² Python Π½Π΅ всСгда Ρ‚Π°ΠΊΠΎΠΉ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ, ΠΊΠ°ΠΊ каТСтся? РазбираСмся, ΠΊΠ°ΠΊ мноТСства устроСны ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ порядок элСмСнтов ΠΈΠ½ΠΎΠ³Π΄Π° оказываСтся прСдсказуСмым.

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
Anonymous voting

photo content

↔️ Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ is ΠΈ == Π² Python πŸ”Ή == (равСнство) провСряСт, Ρ€Π°Π²Π½Ρ‹ Π»ΠΈ значСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)  # True (значСния ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅)
πŸ”Ή is (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ) провСряСт, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти:
print(a is b)  # False (Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹)
πŸ”Ή Но для immutable-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, int, str, tuple) Python ΠΊΠ΅ΡˆΠΈΡ€ΡƒΠ΅Ρ‚ значСния:
x = 256
y = 256
print(x is y)  # True (ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚)
βœ… Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ == для сравнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ is для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти!

photo content

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄:
Anonymous voting

photo content

πŸ”₯ *args ΠΈ **kwargs Π² Python πŸ”Ή *args β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:
def add_numbers(*args):
    return sum(args)

print(add_numbers(1, 2, 3))  # 6
πŸ”Ή **kwargs β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ:
def greet(**kwargs):
    print(kwargs)

greet(name="Alice", age=25)  # {'name': 'Alice', 'age': 25}
βœ… Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ *args для списка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ **kwargs для Π³ΠΈΠ±ΠΊΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²!

photo content

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄ свСрху?
Anonymous voting

photo content

πŸ”₯ lambda β€” ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python lambda β€” это анонимная функция, которая записываСтся Π² ΠΎΠ΄Π½Ρƒ строку ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ def. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½Π° простая опСрация Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. βœ… ΠŸΡ€ΠΈΠΌΠ΅Ρ€ (обычная функция vs. lambda):
def square(x):
    return x ** 2

square_lambda = lambda x: x ** 2

print(square(5))        # 25
print(square_lambda(5)) # 25
πŸ”Ή Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ? 1️⃣ map() β€” ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ списку
nums = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, nums))  
print(squared)  # [1, 4, 9, 16]
2️⃣ filter() β€” Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…
even = list(filter(lambda x: x % 2 == 0, nums))
print(even)  # [2, 4]
3️⃣ sorted() β€” Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ
pairs = [(1, 'one'), (3, 'three'), (2, 'two')]
pairs.sort(key=lambda x: x[0])
print(pairs)  # [(1, 'one'), (2, 'two'), (3, 'three')]
⚑️ Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ lambda? β€’ Когда функция простая ΠΈ короткая β€’ Когда ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ❌ НС стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ lambda, Ссли Π»ΠΎΠ³ΠΈΠΊΠ° слоТная – Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ def.

Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
Anonymous voting