Автоматический сборщик мусора в Python #1
Python — это мощный и удобный язык программирования, и одной из его ключевых особенностей является автоматический сборщик мусора (Garbage Collector).
🔹Как работает сборщик мусора в Python?
🔸Garbage Collector (GC) в Python автоматически управляет памятью, освобождая её от объектов, которые больше не используются программой. Это помогает избежать утечек памяти и улучшить производительность.
🔹Принцип работы
🔸Подсчет ссылок (Reference Counting): Python отслеживает количество ссылок на каждый объект в памяти. Когда количество ссылок на объект становится нулевым, память, занимаемая этим объектом, автоматически освобождается.
🔸Сборка циклических ссылок (Cycle Detection): Иногда объекты могут ссылаться друг на друга, образуя циклы, которые невозможно удалить с помощью подсчета ссылок. Python использует алгоритм сборки циклических ссылок, чтобы обнаружить и удалить такие циклы.
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Python — это мощный и удобный язык программирования, и одной из его ключевых особенностей является автоматический сборщик мусора (Garbage Collector).
🔹Как работает сборщик мусора в Python?
🔸Garbage Collector (GC) в Python автоматически управляет памятью, освобождая её от объектов, которые больше не используются программой. Это помогает избежать утечек памяти и улучшить производительность.
🔹Принцип работы
🔸Подсчет ссылок (Reference Counting): Python отслеживает количество ссылок на каждый объект в памяти. Когда количество ссылок на объект становится нулевым, память, занимаемая этим объектом, автоматически освобождается.
🔸Сборка циклических ссылок (Cycle Detection): Иногда объекты могут ссылаться друг на друга, образуя циклы, которые невозможно удалить с помощью подсчета ссылок. Python использует алгоритм сборки циклических ссылок, чтобы обнаружить и удалить такие циклы.
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Автоматический сборщик мусора в Python #2
🔹Особенности GC в Python
🔸Автоматическое управление: Пользователям не нужно вручную управлять памятью, что упрощает разработку.
🔸Настраиваемый GC: Python предоставляет модули
🔸Сборка циклов: GC эффективно обнаруживает и устраняет циклы ссылок, предотвращая утечки памяти.
Пример использования модуля gc:
Автоматический сборщик мусора в Python — это важный компонент, который помогает разработчикам эффективно управлять памятью и избегать утечек. Понимание его работы позволяет писать более оптимизированный и стабильный код.
➡️Читайте нас в Telegram и Сетке
#Coderikk #Python
🔹Особенности GC в Python
🔸Автоматическое управление: Пользователям не нужно вручную управлять памятью, что упрощает разработку.
🔸Настраиваемый GC: Python предоставляет модули
gc
, с помощью которых можно контролировать поведение сборщика мусора, включая настройку порогов для запуска сборки.🔸Сборка циклов: GC эффективно обнаруживает и устраняет циклы ссылок, предотвращая утечки памяти.
Пример использования модуля gc:
import gc
# Включение автоматического сборщика мусора
gc.enable()
# Отключение сборщика мусора
gc.disable()
# Принудительный запуск сборщика мусора
gc.collect()
# Получение информации о текущем состоянии GC
print(gc.get_stats())
Автоматический сборщик мусора в Python — это важный компонент, который помогает разработчикам эффективно управлять памятью и избегать утечек. Понимание его работы позволяет писать более оптимизированный и стабильный код.
➡️Читайте нас в Telegram и Сетке
#Coderikk #Python
Вопросы с собеседований #19
🔹Объясните разницу между deepcopy и shallow copy в Python.
🔸
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Объясните разницу между deepcopy и shallow copy в Python.
🔸
shallow copy
создаёт поверхностную копию объекта, что означает копирование только самого объекта, но не вложенных объектов. deepcopy
создаёт глубокую копию объекта, включая все вложенные объекты, создавая независимые копии всех уровней.➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #20
🔹Как в Python работают декораторы?
🔸Декораторы — это функции, которые модифицируют или расширяют функциональность других функций или методов. Они принимают функцию в качестве аргумента и возвращают новую функцию, которая обычно вызывает оригинальную функцию и добавляет к ней дополнительные действия.
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Как в Python работают декораторы?
🔸Декораторы — это функции, которые модифицируют или расширяют функциональность других функций или методов. Они принимают функцию в качестве аргумента и возвращают новую функцию, которая обычно вызывает оригинальную функцию и добавляет к ней дополнительные действия.
def decorator_func(original_func):
def wrapper_func():
print("Something is happening before the function.")
original_func()
print("Something is happening after the function.")
return wrapper_func
@decorator_func
def say_hello():
print("Hello!")
say_hello()
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #21
🔹Как вы можете обработать исключения в Python?
🔸В Python исключения обрабатываются с помощью конструкции
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Как вы можете обработать исключения в Python?
🔸В Python исключения обрабатываются с помощью конструкции
try-except
. В блоке try
помещается код, который может вызвать исключение, а в блоке except
— код для обработки возможных исключений. Можно также использовать finally
для кода, который выполнится независимо от того, произошло исключение или нет.try:
result = 10 / 0
except ZeroDivisionError:
print("Cannot divide by zero.")
finally:
print("This is executed regardless of exceptions.")
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #22
🔹Что такое генераторы и как они работают?
🔸Генераторы в Python — это функции, которые возвращают итератор и используются для генерации последовательности значений при запросе. Они определяются с помощью ключевого слова
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Что такое генераторы и как они работают?
🔸Генераторы в Python — это функции, которые возвращают итератор и используются для генерации последовательности значений при запросе. Они определяются с помощью ключевого слова
yield
вместо return
, что позволяет сохранять состояние функции между вызовами.def simple_generator():
yield 1
yield 2
yield 3
gen = simple_generator()
for value in gen:
print(value)
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #23
🔹Объясните разницу между list, tuple и set.
🔸
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Объясните разницу между list, tuple и set.
🔸
list
— изменяемая последовательность, допускающая дубликаты. tuple
— неизменяемая последовательность, также допускающая дубликаты. set
— изменяемое множество, не допускающее дубликаты и не гарантирует порядок элементов.➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #24
🔹Как создать класс в Python?
🔸Класс создаётся с помощью ключевого слова
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Как создать класс в Python?
🔸Класс создаётся с помощью ключевого слова
class
. В классе могут быть определены методы и атрибуты. Метод __init__
является конструктором класса и вызывается при создании нового объекта. Можно также определить другие методы, такие как str для строкового представления объекта.class Person:
def __init__(self, name):
self.name = name
def greet(self):
return f"Hello, my name is {self.name}."
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #25
🔹Как Python реализует многопоточность и какие есть ограничения?
🔸В Python многопоточность реализована с помощью модуля
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Как Python реализует многопоточность и какие есть ограничения?
🔸В Python многопоточность реализована с помощью модуля
threading
. Однако из-за Global Interpreter Lock (GIL) настоящая параллелизация потоков в CPython невозможна. GIL позволяет только одному потоку выполнять Python байт-код в данный момент времени. Для истинной параллельной обработки можно использовать модули multiprocessing
или asyncio
.➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
Вопросы с собеседований #26
🔹Что такое lambda функции и когда их стоит использовать?
🔸
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python
🔹Что такое lambda функции и когда их стоит использовать?
🔸
lambda
функции — это анонимные функции, которые определяются с помощью ключевого слова lambda
. Они могут содержать только одно выражение и используются для создания небольших, одноразовых функций, например, в качестве аргумента для функции map
или filter
.add = lambda x, y: x + y
print(add(5, 3))
➡️Читайте нас в Telegram и Сетке
#Coderikk #Собеседование #Python