🐍 Укус питона 🐍
2.51K subscribers
1.04K photos
23 videos
285 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет код?
👩‍💻 globals() — доступ к глобальным переменным

Функция globals() возвращает словарь всех глобальных переменных текущего модуля.
Можно использовать для динамического доступа к переменным по имени.

➡️ Пример:

x = 42
name = "Python"

print(globals()["x"]) # 42
print(globals()["name"]) # Python


📌 Полезно для отладки, метапрограммирования и работы с динамическими именами, но в обычном коде лучше использовать напрямую
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем используется метод append() в Python и когда его применять?

Метод append() добавляет элемент в конец списка. Это один из самых распространённых способов динамически расширять коллекцию.

Пример:

fruits = ["apple", "banana"]
fruits.append("orange")
print(fruits)
# ➜ ['apple', 'banana', 'orange']


📌В этом примере append() добавляет новый элемент "orange" в конец списка.

append() удобно использовать при работе с динамическими данными: сборе результатов в циклах, формировании очередей, накоплении элементов для дальнейшей обработки. Этот метод делает работу со списками гибкой и интуитивно понятной
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 hasattr — проверка наличия атрибута

Функция hasattr() позволяет проверить, есть ли у объекта указанный атрибут.
Возвращает True или False.

➡️ Пример:

class User:
def __init__(self, name):
self.name = name

u = User("Анна")

print(hasattr(u, "name")) # True
print(hasattr(u, "age")) # False


📌 Полезно для динамической работы с объектами и безопасного доступа к их свойствам
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 getattr — доступ к атрибутам по имени

Функция getattr() возвращает значение атрибута объекта по строковому имени.

Если атрибута нет, можно указать значение по умолчанию.


➡️ Пример:

class User:
def __init__(self, name):
self.name = name

u = User("Анна")

print(getattr(u, "name")) # Анна
print(getattr(u, "age", "неизвестно")) # неизвестно


📌 Удобно для динамического доступа к свойствам объектов, например при работе с данными из JSON или API
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 property — управление доступом к атрибутам

Декоратор @property позволяет превратить метод класса в атрибут, добавив к нему логику при чтении или записи.

➡️ Пример:

class User:
def __init__(self, name):
self._name = name

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

u = User("анна")
print(u.name) # Анна


📌 Удобно для валидации, форматирования и инкапсуляции, не меняя интерфейс класса
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 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, так как он учитывает наследование и делает код гибче
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем используется метод 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() удобно использовать при работе со стеками и очередями, а также когда нужно пошагово обрабатывать список, убирая уже использованные элементы
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Что выведет код?