Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Системное администрирование 📌
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Telegram
DevOps Star (Звезда Девопса)
Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin
Метод __init__
Этот метод используется для инициализации, то есть установки начального состояния нового экземпляра класса. Вызывается сразу при создании объекта (смотри пример на картинке). В большинстве случаев метод просто хранит атрибуты.
Если не прописывать
👉@BookPython
Этот метод используется для инициализации, то есть установки начального состояния нового экземпляра класса. Вызывается сразу при создании объекта (смотри пример на картинке). В большинстве случаев метод просто хранит атрибуты.
Если не прописывать
__init__
в классе, то при создании его экземпляра атрибуты автоматически не будут установлены. Придётся вызывать дополнительные методы. __init__
решает эту проблему.👉@BookPython
Некоторые способы упростить конструкцию if-else
Иногда можно выбросить
Иногда можно всё написать в одну строку. Выглядит красиво, но следует помнить, что такая конструкция плохо расширяемая.
Вместо большого количества or в условии можно использовать последовательности. Например, можно создать кортеж и положить в него все важные для условия значения.
👉@BookPython
Иногда можно выбросить
else
. В функции return в блоке if
прерывает её выполнение, поэтому в том, чтобы писать блок else
просто нет надобности.Иногда можно всё написать в одну строку. Выглядит красиво, но следует помнить, что такая конструкция плохо расширяемая.
Вместо большого количества or в условии можно использовать последовательности. Например, можно создать кортеж и положить в него все важные для условия значения.
👉@BookPython
16-, 8- и 4-битные форматы чисел с плавающей запятой
Уже лет 50, со времён выхода первого издания «Языка программирования Си» Кернигана и Ритчи, известно, что «числа с плавающей запятой» одинарной точности имеют размер 32 бита, а числа двойной точности — 64 бита. Существуют ещё и 80-битные числа расширенной точности типа «long double». Эти типы данных покрывали почти все нужды обработки вещественных чисел. Но в последние несколько лет, с наступлением эпохи больших нейросетевых моделей, у разработчиков появилась потребность в типах данных, которые не «больше», а «меньше» существующих, потребность в том, чтобы как можно сильнее «сжать» типы данных, представляющие числа с плавающей запятой.
https://habr.com/ru/companies/wunderfund/articles/776496/
👉@BookPython
Уже лет 50, со времён выхода первого издания «Языка программирования Си» Кернигана и Ритчи, известно, что «числа с плавающей запятой» одинарной точности имеют размер 32 бита, а числа двойной точности — 64 бита. Существуют ещё и 80-битные числа расширенной точности типа «long double». Эти типы данных покрывали почти все нужды обработки вещественных чисел. Но в последние несколько лет, с наступлением эпохи больших нейросетевых моделей, у разработчиков появилась потребность в типах данных, которые не «больше», а «меньше» существующих, потребность в том, чтобы как можно сильнее «сжать» типы данных, представляющие числа с плавающей запятой.
https://habr.com/ru/companies/wunderfund/articles/776496/
👉@BookPython
Одинарные и двойные подчёркивания в именах Python
В Python есть несколько важных соглашений об именовании, касающихся использования одинарного или двойного подчёркивания
Например, в Python приватные и защищённые методы классов реализованы лишь на уровне договорённостей между разработчиками. Так, перед приватными методами нужно писать двойное нижнее подчёркивание, а перед защищёнными — одно.
👉@BookPython
В Python есть несколько важных соглашений об именовании, касающихся использования одинарного или двойного подчёркивания
(_)
.Например, в Python приватные и защищённые методы классов реализованы лишь на уровне договорённостей между разработчиками. Так, перед приватными методами нужно писать двойное нижнее подчёркивание, а перед защищёнными — одно.
👉@BookPython
Модуль difflib для сравнения последовательностей
Особенно полезен для работы с текстами. Содержит функции для создания отчётов в нескольких распространённых форматах, в том числе в HTML.
▪️Класс Differ(), например, выводит различия в отдельных строках, сопровождая их префиксами.
▪️Класс SequenceMatcher() позволяет вычислить сходство между строками. Функция get_opcodes() возвращает список инструкций для приведения первой последовательности к виду второй.
Таким образом, difflib полезен в ситуациях, когда нужно определить не только факт различия между двумя последовательностями, но и конкретные места, где эти различия возникают.
👉@BookPython
Особенно полезен для работы с текстами. Содержит функции для создания отчётов в нескольких распространённых форматах, в том числе в HTML.
▪️Класс Differ(), например, выводит различия в отдельных строках, сопровождая их префиксами.
▪️Класс SequenceMatcher() позволяет вычислить сходство между строками. Функция get_opcodes() возвращает список инструкций для приведения первой последовательности к виду второй.
Таким образом, difflib полезен в ситуациях, когда нужно определить не только факт различия между двумя последовательностями, но и конкретные места, где эти различия возникают.
👉@BookPython
Зачем нужен модуль enum
Содержит в себе перечисления, которые используются для создания именованных констант. Рассмотрим на примере:
Вы пишете приложение, в котором нужно обрабатывать различные типы ошибок (404, 500 и так далее). Перечисления могут быть использованы для представления разных кодов ошибок.
По сути, перечисления — это набор символических имён, связанных с уникальными значениями. По ним можно итерироваться. В целом, модуль enum позволяет создать более читаемый и самодокументирующийся код.
https://habr.com/ru/companies/timeweb/articles/564826/
👉@BookPython
Содержит в себе перечисления, которые используются для создания именованных констант. Рассмотрим на примере:
Вы пишете приложение, в котором нужно обрабатывать различные типы ошибок (404, 500 и так далее). Перечисления могут быть использованы для представления разных кодов ошибок.
По сути, перечисления — это набор символических имён, связанных с уникальными значениями. По ним можно итерироваться. В целом, модуль enum позволяет создать более читаемый и самодокументирующийся код.
https://habr.com/ru/companies/timeweb/articles/564826/
👉@BookPython
Модуль pprint для красивого вывода сложных структур данных
Используется как обычный
Также в модуле есть функция
Ещё для
👉@BookPython
Используется как обычный
print()
, но в отличие от него выводит данные в удобном для чтения человеком виде. Также в модуле есть функция
pformat()
, которая создаёт строковые представления вместо вывода. Это может пригодиться для логгирования.Ещё для
pprint()
можно задать ширину экрана печати, отступ последующего уровня вложенности и даже автоматически отсортировать словарь перед выводом. 👉@BookPython
Минимальные примеры структур данных и алгоритмов на Python
Устанавливается просто через
Затем можно импортировать различные алгоритмы:
▫️сортировки (быстрая, пузырьком и ещё +22 вида);
▫️графовые;
▫️поиска;
▫️на деревьях и так далее.
https://github.com/keon/algorithms/
👉@BookPython
Устанавливается просто через
pip install algorithms
Затем можно импортировать различные алгоритмы:
▫️сортировки (быстрая, пузырьком и ещё +22 вида);
▫️графовые;
▫️поиска;
▫️на деревьях и так далее.
https://github.com/keon/algorithms/
👉@BookPython
Модуль fractions для работы с дробями
Создать рациональное число можно через
Целые и вещественные числа Python можно преобразовать в дробь, передав их
С модулем
👉@BookPython
Создать рациональное число можно через
Fraction()
из пары целых чисел, другого рационального числа или строки. Numerator
— это числитель, а denominator
— знаменатель. По умолчанию numerator=0
, denominator=1
. Целые и вещественные числа Python можно преобразовать в дробь, передав их
Fraction()
.С модулем
fractions
устраняются проблемы с ошибками представления, возникающие в числах с плавающей точкой. 👉@BookPython
Более эффективный метод объединения строк
Про объединение (конкатенацию) строк с помощью оператора + говорят в каждом туториале по Python для новичков. Однако иногда это не самый эффективный способ решить задачу.
Дело в том, что строки — неизменяемые объекты в Python. Это означает, что каждый раз при конкатенации вы создаёте новую строку с объединённым содержимым.
Более экономно по памяти и быстрее будет использовать метод
👉@BookPython
Про объединение (конкатенацию) строк с помощью оператора + говорят в каждом туториале по Python для новичков. Однако иногда это не самый эффективный способ решить задачу.
Дело в том, что строки — неизменяемые объекты в Python. Это означает, что каждый раз при конкатенации вы создаёте новую строку с объединённым содержимым.
Более экономно по памяти и быстрее будет использовать метод
join()
для списков. При вызове он создаёт единственную строку. 👉@BookPython
Операции над множествами в Python
Операции над множествами в Python реализуются с помощью встроенного типа данных
Множества — это неупорядоченные коллекции уникальных элементов. Python предоставляет несколько полезных операций над множествами, таких как объединение, пересечение, разность и симметрическая разность.
Примеры основных операций над множествами в Python:
Создание множества
Объединение множеств (
Объединение возвращает множество, содержащее все элементы обоих множеств.
Пересечение множеств (
Пересечение возвращает множество, содержащее только общие элементы двух множеств.
Разность множеств (
Разность возвращает множество, содержащее элементы, которые находятся только в одном множестве.
Симметрическая разность множеств (
Симметрическая разность возвращает множество, содержащее элементы, которые находятся в одном из множеств, но не в обоих сразу.
Проверка подмножества (
Возвращает
Проверка надмножества (
Возвращает
Проверка пересечения множеств (
Возвращает
Добавление элемента в множество
Удаление элемента из множества
👉@BookPython
Операции над множествами в Python реализуются с помощью встроенного типа данных
set
. Множества — это неупорядоченные коллекции уникальных элементов. Python предоставляет несколько полезных операций над множествами, таких как объединение, пересечение, разность и симметрическая разность.
Примеры основных операций над множествами в Python:
Создание множества
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
Объединение множеств (
union
)Объединение возвращает множество, содержащее все элементы обоих множеств.
c = a.union(b)
# или можно использовать оператор |
c = a | b
print(c) # {1, 2, 3, 4, 5, 6}
Пересечение множеств (
intersection
)Пересечение возвращает множество, содержащее только общие элементы двух множеств.
c = a.intersection(b)
# или можно использовать оператор &
c = a & b
print(c) # {3, 4}
Разность множеств (
difference
)Разность возвращает множество, содержащее элементы, которые находятся только в одном множестве.
c = a.difference(b)
# или можно использовать оператор -
c = a - b
print(c) # {1, 2}
Симметрическая разность множеств (
symmetric_difference
)Симметрическая разность возвращает множество, содержащее элементы, которые находятся в одном из множеств, но не в обоих сразу.
c = a.symmetric_difference(b)
# или можно использовать оператор ^
c = a ^ b
print(c) # {1, 2, 5, 6}
Проверка подмножества (
issubset
)Возвращает
True
, если все элементы одного множества содержатся в другом множестве.
c = {1, 2}
print(c.issubset(a)) # True
Проверка надмножества (
issuperset
)Возвращает
True
, если множество содержит все элементы другого множества.
print(a.issuperset(c)) # True
Проверка пересечения множеств (
isdisjoint
)Возвращает
True
, если два множества не содержат общих элементов.
print(a.isdisjoint(b)) # False
Добавление элемента в множество
a.add(5)
print(a) # {1, 2, 3, 4, 5}
Удаление элемента из множества
a.remove(5)
print(a) # {1, 2, 3, 4}
👉@BookPython
Что делает класс ChainMap() модуля collections
Он позволяет объединять несколько словарей так, чтобы их можно было рассматривать как единое целое.
Лучше всего посмотреть на примере:
Экземпляр ChainMap не копирует входные словари, а хранит ссылки на них. Поэтому он может быть более эффективным по памяти по сравнению с другими методами, которые создают копии словарей.
Обновление или вставка в ChainMap затрагивают только первый входной словарь. Снова посмотрим на примере:
👉@BookPython
Он позволяет объединять несколько словарей так, чтобы их можно было рассматривать как единое целое.
Лучше всего посмотреть на примере:
d1 = dict(a=1, b=3)
d2 = dict(a=2, b=4, c=6)
from collections import ChainMap
chain = ChainMap(d1, d2)
print(chain['a']) # -> 1
print(chain['c']) # -> 6
Экземпляр ChainMap не копирует входные словари, а хранит ссылки на них. Поэтому он может быть более эффективным по памяти по сравнению с другими методами, которые создают копии словарей.
Обновление или вставка в ChainMap затрагивают только первый входной словарь. Снова посмотрим на примере:
chain['c'] = -1
print(d1) # -> {'a': 1, 'b': 3, 'c': -1}
print(d2) # -> {'a': 2, 'b': 4, 'c': 6}
👉@BookPython
Media is too big
VIEW IN TELEGRAM
Как я устроился Python разработчиком без опыта. Реальное собеседование
00:00 Новогоднее вступление
00:42 Асинхронное программирование
01:16 Мультитрединг, мультипроцессинг
02:40 Микросервисы
04:30 Вопросы по питону
06:21 Лайфкодинг
08:17 Сложность алгоритма
источник
👉@BookPython
00:00 Новогоднее вступление
00:42 Асинхронное программирование
01:16 Мультитрединг, мультипроцессинг
02:40 Микросервисы
04:30 Вопросы по питону
06:21 Лайфкодинг
08:17 Сложность алгоритма
источник
👉@BookPython
Тонкая настройка приложений Python WSGI и ASGI для Flask, Django и FastAPI
В этой статье я расскажу о лучших практиках настройки веб-серверов Python, таких как Gunicorn, Uvicorn и Hypercorn. Мы расскажем об архитектуре всех программных компонентов, которые находятся между вашим Python-кодом и пользователями. Мы также коснемся методов проверки, таких как нагрузочное тестирование, чтобы убедиться, что ваша конфигурация выдерживает некоторый пользовательский трафик.
https://tonybaloney.github.io/posts/fine-tuning-wsgi-and-asgi-applications.html
👉@BookPython
В этой статье я расскажу о лучших практиках настройки веб-серверов Python, таких как Gunicorn, Uvicorn и Hypercorn. Мы расскажем об архитектуре всех программных компонентов, которые находятся между вашим Python-кодом и пользователями. Мы также коснемся методов проверки, таких как нагрузочное тестирование, чтобы убедиться, что ваша конфигурация выдерживает некоторый пользовательский трафик.
https://tonybaloney.github.io/posts/fine-tuning-wsgi-and-asgi-applications.html
👉@BookPython
Локализуем игру в слова с искусственным интеллектом
Все началось с коллеги, который закинул в локальный чат сообщение, что он сыграл в игру #59 и угадал слово с 33 попыток и одной подсказки. Игра оказалась простая и сложная одновременно: сайт загадал слово и нужно его отгадать. В поле ввода отправляешь слово, а искусственный интеллект на сайте определяет, насколько отправленное слово близко по смыслу к загаданному.
Интересная игра, тренирующая ассоциативное мышление и умение строить связи. Новое слово появляется каждый день, что в некотором смысле выглядит ограничителем. Также игра доступна только на португальском и английском языках. С одной стороны, это дополнительная практика, а с другой — сомнения «а знаю ли я это слово?» смазывают впечатления от игры.
https://habr.com/ru/companies/selectel/articles/705410/
👉@BookPython
Все началось с коллеги, который закинул в локальный чат сообщение, что он сыграл в игру #59 и угадал слово с 33 попыток и одной подсказки. Игра оказалась простая и сложная одновременно: сайт загадал слово и нужно его отгадать. В поле ввода отправляешь слово, а искусственный интеллект на сайте определяет, насколько отправленное слово близко по смыслу к загаданному.
Интересная игра, тренирующая ассоциативное мышление и умение строить связи. Новое слово появляется каждый день, что в некотором смысле выглядит ограничителем. Также игра доступна только на португальском и английском языках. С одной стороны, это дополнительная практика, а с другой — сомнения «а знаю ли я это слово?» смазывают впечатления от игры.
https://habr.com/ru/companies/selectel/articles/705410/
👉@BookPython
Media is too big
VIEW IN TELEGRAM
Создайте мессенджер с помощью Django (за 6 минут) 🌮
0:00 Showing the final product
0:22 Setup Django and Daphne
1:08 Add async and sync views
2:09 Add templates with EventSource
2:52 Explaining how the chat works
3:35 Explaining how sending a message works
4:19 Create models to store data
4:25 Run our server
4:42 Visit our real-time chat app
5:28 Add styling to improve UI
6:00 Benefits and mailing list for more free content
источник
👉@BookPython
0:00 Showing the final product
0:22 Setup Django and Daphne
1:08 Add async and sync views
2:09 Add templates with EventSource
2:52 Explaining how the chat works
3:35 Explaining how sending a message works
4:19 Create models to store data
4:25 Run our server
4:42 Visit our real-time chat app
5:28 Add styling to improve UI
6:00 Benefits and mailing list for more free content
источник
👉@BookPython
Ускоряем работу python с numba
Numba — это Just-In-Time компилятор, который превращает ваш код на питоне в машинный код на лету. Это не просто мелкая оптимизация, а серьёзно ускорение.
Если вы знакомы с интерпретируемыми языками, вы знаете, что они обычно медленнее компилируемых из-за необходимости анализировать и исполнять код на лету. Но что, если бы вы могли получить лучшее из обоих миров? JIT-компиляция позволяет интерпретируемому языку, каким является питон, динамически компилировать части кода в машинный код, значительно ускоряя исполнение.
Numba использует этот подход, чтобы помочь вашему коду на питоне быть быстрей. Она анализирует вашу функцию, определяет типы данных и затем компилирует её в оптимизированный машинный код. И всё это происходит во время выполнения вашего кода.
https://habr.com/ru/companies/otus/articles/784068/
👉@BookPython
Numba — это Just-In-Time компилятор, который превращает ваш код на питоне в машинный код на лету. Это не просто мелкая оптимизация, а серьёзно ускорение.
Если вы знакомы с интерпретируемыми языками, вы знаете, что они обычно медленнее компилируемых из-за необходимости анализировать и исполнять код на лету. Но что, если бы вы могли получить лучшее из обоих миров? JIT-компиляция позволяет интерпретируемому языку, каким является питон, динамически компилировать части кода в машинный код, значительно ускоряя исполнение.
Numba использует этот подход, чтобы помочь вашему коду на питоне быть быстрей. Она анализирует вашу функцию, определяет типы данных и затем компилирует её в оптимизированный машинный код. И всё это происходит во время выполнения вашего кода.
https://habr.com/ru/companies/otus/articles/784068/
👉@BookPython