Функция
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() удобно использовать при работе с динамическими данными: сборе результатов в циклах, формировании очередей, накоплении элементов для дальнейшей обработки. Этот метод делает работу со списками гибкой и интуитивно понятной
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция
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()
возвращает значение атрибута объекта по строковому имени.Если атрибута нет, можно указать значение по умолчанию.
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
позволяет превратить метод класса в атрибут, добавив к нему логику при чтении или записи.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
В 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() удобно использовать при работе со стеками и очередями, а также когда нужно пошагово обрабатывать список, убирая уже использованные элементы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1