Найти тему
Статьи
GIL (Global Interpreter Lock) в Python
Изначально я хотел сразу начать отвечать на вопрос с собеса про память в Python, но поняв, что выйдет очень длинно, решил разбить на несколько постов. Сейчас поговорим про Gil, в следующих статьях про GC, закончим уже поверхностно про пуллы памяти, арены. Gil - это просто Лок, который разрешает только...
161 прочтение · 4 года назад
Отношение к компаниям, помогающим призывникам.
Дело в том, что как обычно, я офигиваю с предков. Они не очень радостно отнеслись к заказу услуг у одной из таких компаний. Значит два человека, два мнения: Не понимаю своих родных. Всё же очень просто! Когда мы хотим причу - идём к парикмахеру, когда хотим поесть - в какое-то заведение, где нам приготовят. Когда я хочу узнать о непризывных заболеваниях, иметь помощь юриста чуть что и чтобы меня за ручку поводили по врачам - я обращаюсь к людям, которые в этом шарят. Каждая услуга стоит денег...
30 прочтений · 4 года назад
Как устроен словарь (dict) в Python
Если с объяснением того, что такое дикт и как его юзать у нас проблем не возникает, то вот ответить как они устроены в Python, а при правильном ответе получить следующий: “А как решаются коллизии?”, то уже ответить проблематичнее. Отвечаю сразу на первый вопрос - в Python’e ассоциативный массив реализован с помощью хеш-таблицы (для заметки, в C++ красно-чёрные деревья). В основе всего лежит хеш-функция. И вот многие говорят, что хорошая хеш-функция эта то, что дает более рандомный ответ, но разрабы путона так не считают и их хеша схожи, даже для разных строк. Этим свойством они пользуются для оптимизации, но об этом ниже...
509 прочтений · 4 года назад
Встроенные типы в Python и интересные моменты
Иногда на собесах просят просто перечислить встроенные типы. Из дефолт пакетов тоже любят спросить. int, float, bool, str. Очень интересно, ага, да. Или рил интересно? Целые числа У интов есть методы, ведь у нас тут всё классы. Поэтому можно так: (1).bit_lenght(), а ещё .(to/from)_bytes. Больше интересного нет. Числа с плавающей точкой Класс float - имплементация абстрактного класса Real. Тоже есть методы, например, такой классный как .is_integer() и .hex() Если в комплексном нам нужна j в конце для обозначения, то тут точка. a = 1. b = 1.1 Комплексные числа a = 27j - тип complex (даа, j в конце)...
61 прочтение · 4 года назад
Типизация в Python и не надо хейтить за динамическую (или надо)
Чтобы разобраться чё там у Python'a, надо понять что есть вообще, чем отличается и т.д. и т.п. Тип - множество значений и операций над этими значениями (пасиба вики). Как знает большинство, бывает статическая и динамическай типизация. А чё-нить ещё знает большинство или только зная это уже хейтит? Статическая/динамическая, сильная/слабая, явная/неявная. Максимально быстро по каждому, а то прошлый пост большим вышел. Теперь мы знаем что есть и давайте сравним JavaScript и Python. Вот как раз в сильной типизации вся сила, как бы это не звучало...
1K прочтений · 4 года назад
Python, интерпретаторы, байткод, .pyc, .pyo, .pyd, JIT и прочее
Заголовок сочный, но как и говорил, всё очень кратко. Давайте для начала примем, что Python - это интерфейс. Просто существует определённый набор того, что и как должно происходить, как должно себя вести. Только выбрав имплементацию интерфейса уже можно говорить что-то о компиляции, байткоде и т.д. По дефолту такой реализацией является CPython - он же официальный (от самих разработчиков), он же самый популярный. Его и выберем, а о других просто будем знать, чтобы при необходимости заюзать. Есть машинный код, а есть байткод. Машинный код прекрасен тем, что позволяет напрямую выполнять инструкции процессором...
595 прочтений · 4 года назад