fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

🐍 Укус питона 🐍

🐍 Укус питона 🐍

رفتن به کانال در Telegram

🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки. 👽 Админ - @tg_adminisrator 🔊 Купить рекламу: https://telega.in/c/byteofpython 👉 Чат: @abyteofpython 👉 Поделиться с друзьями: @byteofpython

نمایش بیشتر
2 334
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-117 روز
-3730 روز

در حال بارگذاری داده‌ها

جذب مشترکین
اکتبر '26
اکتبر '260
در 0 کانال‌ها
سپتامبر '260
در 0 کانال‌ها
Get PRO
اوت '260
در 0 کانال‌ها
Get PRO
ژوئیه '260
در 0 کانال‌ها
Get PRO
ژوئن '260
در 0 کانال‌ها
Get PRO
مه '260
در 0 کانال‌ها
Get PRO
آوریل '260
در 0 کانال‌ها
Get PRO
مارس '26
+2
در 0 کانال‌ها
Get PRO
فوریه '26
+2
در 0 کانال‌ها
Get PRO
ژانویه '26
+5
در 0 کانال‌ها
Get PRO
دسامبر '25
+1
در 0 کانال‌ها
Get PRO
نوامبر '25
+3
در 0 کانال‌ها
Get PRO
اکتبر '25
+5
در 0 کانال‌ها
Get PRO
سپتامبر '25
+5
در 0 کانال‌ها
Get PRO
اوت '25
+7
در 0 کانال‌ها
Get PRO
ژوئیه '25
+6
در 0 کانال‌ها
Get PRO
ژوئن '25
+4
در 0 کانال‌ها
Get PRO
مه '25
+3
در 0 کانال‌ها
Get PRO
آوریل '25
+53
در 0 کانال‌ها
Get PRO
مارس '25
+9
در 0 کانال‌ها
Get PRO
فوریه '25
+11
در 0 کانال‌ها
Get PRO
ژانویه '25
+10
در 0 کانال‌ها
Get PRO
دسامبر '24
+8
در 0 کانال‌ها
Get PRO
نوامبر '24
+9
در 0 کانال‌ها
Get PRO
اکتبر '24
+9
در 0 کانال‌ها
Get PRO
سپتامبر '24
+15
در 0 کانال‌ها
Get PRO
اوت '24
+11
در 0 کانال‌ها
Get PRO
ژوئیه '24
+15
در 0 کانال‌ها
Get PRO
ژوئن '24
+10
در 0 کانال‌ها
Get PRO
مه '24
+20
در 0 کانال‌ها
Get PRO
آوریل '24
+17
در 0 کانال‌ها
Get PRO
مارس '24
+25
در 0 کانال‌ها
Get PRO
فوریه '24
+18
در 1 کانال‌ها
Get PRO
ژانویه '24
+12
در 0 کانال‌ها
Get PRO
دسامبر '23
+7
در 1 کانال‌ها
Get PRO
نوامبر '23
+232
در 8 کانال‌ها
Get PRO
اکتبر '23
+13
در 1 کانال‌ها
Get PRO
سپتامبر '23
+14
در 0 کانال‌ها
Get PRO
اوت '23
+18
در 0 کانال‌ها
Get PRO
ژوئیه '23
+21
در 0 کانال‌ها
Get PRO
ژوئن '23
+9
در 0 کانال‌ها
Get PRO
مه '23
+17
در 0 کانال‌ها
Get PRO
آوریل '23
+27
در 0 کانال‌ها
Get PRO
مارس '23
+48
در 0 کانال‌ها
Get PRO
فوریه '23
+50
در 0 کانال‌ها
Get PRO
ژانویه '23
+77
در 0 کانال‌ها
Get PRO
دسامبر '22
+359
در 0 کانال‌ها
Get PRO
نوامبر '22
+259
در 0 کانال‌ها
Get PRO
اکتبر '22
+823
در 0 کانال‌ها
Get PRO
سپتامبر '22
+1 769
در 0 کانال‌ها
Get PRO
اوت '22
+1 898
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
26 اکتبر0
25 اکتبر0
24 اکتبر0
23 اکتبر0
22 اکتبر0
21 اکتبر0
20 اکتبر0
19 اکتبر0
18 اکتبر0
17 اکتبر0
16 اکتبر0
15 اکتبر0
14 اکتبر0
13 اکتبر0
پست‌های کانال
Массивы в pattern matching. В качестве шаблонов также могут выступать массивы. Подобным шаблоны также могут содержать либо ко
Массивы в pattern matching. В качестве шаблонов также могут выступать массивы. Подобным шаблоны также могут содержать либо конкретные значения, либо переменные, которые передаются элементы массивов, либо символ прочерка _, если элемент массива не важен. В данном случае функция print_people принимает массив, который, как предполагается, состоит из трех элементов, рассмотрим их в следующей части. 🐍 Укус питона // 💬 Чат // #теория #pattern_matching #массивы

2
👩‍💻 Динамическое создание классов — метапрограммирование в чистом виде В Python классы — это тоже объекты, и их можно создавать "на лету" с помощью функции type(). Это открывает путь к динамическому API, автоматическим моделям и DSL. ➡️ Пример: def make_model(name, **fields): return type(name, (object,), fields) User = make_model("User", name="Анна", age=25) print(User.name) # Анна admin = User() admin.role = "admin" print(admin.role) # admin 📌 Здесь type() создаёт новый класс User прямо во время исполнения.
236
3
Ответ:
225
4
Что выведет код? x = 0 def outer(): x = 1 def inner(): nonlocal x x += 1 return x print("A", inner(), x) x = 5 print("B", inner(), x) outer() print("G", x)
194
5
بدون متن...
200
6
👩‍💻 Контракты через аннотации — не просто подсказки типов Аннотации типов (type hints) — это не только помощь IDE. С их помощью можно внедрять контроль логики исполнения — проверять типы, значения и инварианты прямо во время работы программы. ➡️ Пример: from typing import get_type_hints def enforce_types(func): hints = get_type_hints(func) def wrapper(*args, **kwargs): for name, arg in zip(hints, args): if not isinstance(arg, hints[name]): raise TypeError(f"{name} должен быть {hints[name].__name__}") return func(*args, **kwargs) return wrapper @enforce_types def greet(name: str, age: int): print(f"{name}, {age}") greet("Анна", 25) # ✅ greet("Анна", "25") # ❌ TypeError 📌 Здесь аннотации становятся частью исполняемого контракта, а не просто документацией.
193
7
👩‍💻 WeakRef — как избежать утечек памяти в Python Иногда объект больше не нужен, но на него всё ещё ссылаются другие части программы. Обычная ссылка удерживает объект в памяти, а слабая ссылка (weak reference) — нет. Она не мешает сборщику мусора удалить объект, если больше нет сильных ссылок ➡️ Пример: import weakref class Data: def __init__(self, name): self.name = name def __del__(self): print(f"{self.name} удалён") obj = Data("Test") ref = weakref.ref(obj) print(ref()) # <__main__.Data object at ...> del obj print(ref()) # None — объект собран GC 📌 weakref.ref() создаёт слабую ссылку: объект может быть удалён, даже если ссылка ещё существует.
164
8
Ответ:
159
9
Что выведет код? import itertools lst = [[1, 2], [3]] it = itertools.chain.from_iterable(lst) print(next(it)) lst.append([4, 5]) print(list(it))
159
10
بدون متن...
170
11
👩‍💻 Протокол дескрипторов — скрытый механизм свойств и ORM В Python за @property, staticmethod, classmethod и даже ORM-поля стоит единый механизм — дескрипторы. Это объекты, которые управляют доступом к атрибутам через методы __get__, __set__, __delete__ ➡️ Пример: class LoggedAttribute: def __init__(self, name): self.name = name def __get__(self, instance, owner): value = instance.__dict__.get(self.name) print(f"Получено {self.name} = {value}") return value def __set__(self, instance, value): print(f"Изменено {self.name} = {value}") instance.__dict__[self.name] = value class User: age = LoggedAttribute("age") u = User() u.age = 30 print(u.age) 📌 При обращении к u.age срабатывают методы дескриптора, а не прямой доступ к атрибуту.
161
12
👩‍💻 Протокол итерации — как работает цикл for под капотом В Python любой объект можно сделать итерируемым, если он реализует протокол итерации — методы __iter__() и __next__(). Это основа работы for, генераторов, списковых включений и даже файлов ➡️ Пример: class Counter: def __init__(self, limit): self.limit = limit self.value = 0 def __iter__(self): return self def __next__(self): if self.value < self.limit: self.value += 1 return self.value raise StopIteration for i in Counter(3): print(i) # 1 2 3 📌 Цикл for просто вызывает next() до тех пор, пока не появится StopIteration.
147
13
Ответ:
153
14
Что выведет код? class A: def __eq__(self, o): return isinstance(o, A) class B: def __eq__(self, o): return isinstance(o, B) __hash__ = object.__hash__ s = set() try: s.add(A()) except TypeError: print("A") b = B() s.add(b) print("B", b in s)
164
15
❓ Зачем используется метод replace() в Python и когда его применять? Метод replace() возвращает новую строку, в которой все вхождения указанной подстроки заменены на другую. Это удобный способ быстро изменить текст без сложных регулярных выражений. ✅Пример: text = "Python is hard, but Python is fun!" new_text = text.replace("Python", "Coding") print(new_text) # ➜ Coding is hard, but Coding is fun! 📌В этом примере replace() заменяет все вхождения слова "Python" на "Coding" replace() удобно использовать при очистке данных, форматировании строк, замене символов и шаблонов в текстах. Метод не изменяет исходную строку, что делает его безопасным для повторного использования данных
151
16
بدون متن...
196
17
👩‍💻 Мемоизация — ускорение функций без переписывания логики Мемоизация — это техника кэширования результатов функций. Если функция вызывается с теми же аргументами, результат возвращается из памяти, а не вычисляется заново ➡️ Пример: from functools import lru_cache @lru_cache(maxsize=None) def fib(n): if n < 2: return n return fib(n-1) + fib(n-2) print(fib(35)) # быстро! 📌 Здесь @lru_cache запоминает все вызовы fib(). Без него вычисление числа Фибоначчи 35 заняло бы секунды, а с ним — доли миллисекунды.
222
18
Ответ:
199
19
Что выведет код? import asyncio async def worker(): await asyncio.sleep(0.05) return "ok" async def main(): t = asyncio.create_task(worker()) try: await asyncio.wait_for(asyncio.shield(t), timeout=0.01) except asyncio.TimeoutError: print("timeout") print(t.cancelled(), t.done()) print(await t) asyncio.run(main())
197
20
بدون متن...
167