и посмотреть медиа
Python Вопросы собесов - тесты
и посмотреть медиа
Вопросы, тесты и задачи для Python собеседований.
Вопросы, тесты и задачи для Python собеседований.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Канал с вопросами для собеседований по Python. Тесты, задачи и материалы для подготовки.
🤔 В чем отличие изменяемые / неизменяемые? В Python все данные делятся на изменяемые (mutable) и неизменяемые (immutable) 🚩Неизменяемые (`immutable`) типы После создания их нельзя изменить! x = 10 print(id(x)) # 140735598722544 (адрес в памяти) x = x + 5 # Создаётся новый объект! print(id(x)) # 140735598722704 (новый адрес) Пример: str неизменяемая s = "hello" print(id(s)) # 140735598723664 s = s + " world" # Создаётся новая строка! print(id(s)) # 140735598724240 (новый адрес) 🚩Изменяемые (`mutable`) типы Можно менять их содержимое без создания нового объекта. lst = [1, 2, 3] print(id(lst)) # 140735598722544 lst.append(4) # Изменяем список print(id(lst)) # 140735598722544 (адрес остался тот же!) Пример: dict изменяемый d = {"name": "Alice"} print(id(d)) # 140735598723664 d["age"] = 25 # Добавляем ключ print(id(d)) # 140735598723664 (адрес не изменился!) 🚩Почему это важно? Неизменяемые объекты безопаснее для ключей dict и set d = {} d[[1, 2, 3]] = "Ошибка!" # ❌ TypeError: unhashable type: 'list' Используем tuple вместо list (он неизменяемый) d[(1, 2, 3)] = "OK" Ошибки с изменяемыми значениями по умолчанию def add_item(lst=[]): # ❌ Опасный код! lst.append(1) return lst print(add_item()) # [1] print(add_item()) # [1, 1] ❌ Список не создаётся заново! Используем None вместо списка def add_item(lst=None): if lst is None: lst = [] lst.append(1) return lst 🚩Копирование объектов (`copy()` vs `deepcopy()`) copy() делает поверхностную копию (новый объект, но старые вложенные элементы). deepcopy() делает глубокую копию (всё новое). import copy lst1 = [[1, 2, 3], [4, 5, 6]] lst2 = copy.copy(lst1) # Поверхностная копия lst2[0][0] = 99 print(lst1) # [[99, 2, 3], [4, 5, 6]] ❌ Исходный список изменился! Используем deepcopy() для полной независимой копии lst3 = copy.deepcopy(lst1) lst3[0][0] = 100 print(lst1) # [[99, 2, 3], [4, 5, 6]] ✅ Не изменился! Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!
Swing canal de trading con señales para BitmexandBinance. Material de entrenamiento de análisis técnico para el rentable comercio de criptogramas.
Canal con letras de 2020: éxitos uzbekos y mundiales. Completa.lyricskaraoke y audición.
Canal de Arquitectura y Administración de Redes: Lecciones, Consejos y Noticias para Ingenieros de Redes