Как ускорить код на Python?
На Python можно написать всё: от десктопных программ до высокопрофессиональных веб-приложений. Это интерпретируемый язык и на нём можно использовать продвинутые инструменты, типа интроспекции и метапрограммирования.
Есть у Python и один минус, который превращается в жирный довод в спорах про «самый лучший ЯП» — это низкая скорость работы по сравнению с программами, написанными на компилируемых языках программирования (C++ и др).
Но на самом деле, тут всё зависит от прямоты рук. Давайте разбираться, как проанализировать и здорово ускорить код на Python: https://tproger.ru/articles/kak-uskorit-prilozheniya-na-python/
На Python можно написать всё: от десктопных программ до высокопрофессиональных веб-приложений. Это интерпретируемый язык и на нём можно использовать продвинутые инструменты, типа интроспекции и метапрограммирования.
Есть у Python и один минус, который превращается в жирный довод в спорах про «самый лучший ЯП» — это низкая скорость работы по сравнению с программами, написанными на компилируемых языках программирования (C++ и др).
Но на самом деле, тут всё зависит от прямоты рук. Давайте разбираться, как проанализировать и здорово ускорить код на Python: https://tproger.ru/articles/kak-uskorit-prilozheniya-na-python/
❤13👍8
Дайджест Python: пишем AI-плеер для сайта и боремся с лесными пожарами
Собрали свежий дайджест из лучших материалов по Python.
Узнайте, как создать плеер для сайта на основе ИИ, как предсказать развитие лесных пожаров, почему крупные IT-компании США массово увольняют сотрудников и как быстро прокачать свой код на Python: https://tproger.ru/articles/dajdzhest-python-3-pishem-ai-pleer-dlja-sajta-i-boremsja-s-lesnymi-pozharami/
#дайджест
Собрали свежий дайджест из лучших материалов по Python.
Узнайте, как создать плеер для сайта на основе ИИ, как предсказать развитие лесных пожаров, почему крупные IT-компании США массово увольняют сотрудников и как быстро прокачать свой код на Python: https://tproger.ru/articles/dajdzhest-python-3-pishem-ai-pleer-dlja-sajta-i-boremsja-s-lesnymi-pozharami/
#дайджест
🔥4👍1
Самые популярные вопросы на собеседовании: « В чем разница между remove, del и pop?»
Тип данных
1.
2.
3.
#собеседование
Тип данных
List
в Python помогает сохранять разные типы данных в определенной связанной последовательности. И есть несколько методов для удаления элементов из списка. Вот в чём их основное различие:1.
remove()
удаляет первое совпадающее значение:li = ['a','b','c','d']
li.remove('b')
print(li)
#=> ['a', 'c', 'd']
2.
del
удаляет элемент по его индексу:li = ['a','b','c','d']
del li[0]
print(li)
#=> ['b', 'c', 'd']
3.
pop()
удаляет элемент по индексу и возвращает этот элемент:li = ['a','b','c','d']
print(li.pop(2))
print(li)
#=> 'c'
#=> ['a', 'b', 'd']
#собеседование
👍54
У нас для вас отличные новости! Наш сайт обновился и теперь может уведомлять по почте и в Telegram о новых материалах, которые интересны именно вам
Для этого вам нужно:
1. Авторизоваться на сайте tproger.ru
2. Зайти в свой профиль и подписаться на интересные вам теги в разделе «Подписки». Например, библиотеки, инструменты и другие
3. В разделе уведомлений выбрать, как именно вы хотите получать уведомления
4. Всё! Вы великолепны и теперь всегда будете первым узнавать о свежих материалах
Для этого вам нужно:
1. Авторизоваться на сайте tproger.ru
2. Зайти в свой профиль и подписаться на интересные вам теги в разделе «Подписки». Например, библиотеки, инструменты и другие
3. В разделе уведомлений выбрать, как именно вы хотите получать уведомления
4. Всё! Вы великолепны и теперь всегда будете первым узнавать о свежих материалах
💩10👍4
Какие книги по Python вы читали недавно? Какая книга вам понравилась больше всего, а какую лучше вообще не открывать?
❤🔥8💩1
Forwarded from IT Юмор
Media is too big
VIEW IN TELEGRAM
«Я не смог найти подходящий фреймворк, поэтому напишу свой»
😁16❤14👍3💩2
Введение в Git: от установки до основных команд
Git — это консольная утилита, с помощью которой вы можете откатывать свой проект до более старой версии, сравнивать, анализировать или соединять изменения в одном репозитории. Притом, это может быть что угодно — не только код.
И сегодня умение работать с Git — мастхев для разработчика на любом языке программирования. Если ещё не разбирались с Git, вот простой и доступный гайд для начинающих: https://tproger.ru/translations/beginner-git-cheatsheet/
#git #начинающим
Git — это консольная утилита, с помощью которой вы можете откатывать свой проект до более старой версии, сравнивать, анализировать или соединять изменения в одном репозитории. Притом, это может быть что угодно — не только код.
И сегодня умение работать с Git — мастхев для разработчика на любом языке программирования. Если ещё не разбирались с Git, вот простой и доступный гайд для начинающих: https://tproger.ru/translations/beginner-git-cheatsheet/
#git #начинающим
👍14
Как писать чистый код на Python?
Python — один из наиболее элегантных и чистых языков программирования. Но красивый и чистый синтаксис не означает чистый код.
Бьерн Страуструп, создатель C++, говорит, что чистый код должен быть красивым и эффективным. Логика должна быть понятной, зависимостей как можно меньше, а производительность — приближена к оптимальной.
Годная заметка, в которой показывают, как реализовать это всё на Python: https://pythonist.ru/kak-pisat-chistyj-kod-na-python/
Python — один из наиболее элегантных и чистых языков программирования. Но красивый и чистый синтаксис не означает чистый код.
Бьерн Страуструп, создатель C++, говорит, что чистый код должен быть красивым и эффективным. Логика должна быть понятной, зависимостей как можно меньше, а производительность — приближена к оптимальной.
Годная заметка, в которой показывают, как реализовать это всё на Python: https://pythonist.ru/kak-pisat-chistyj-kod-na-python/
🔥8👍3
Forwarded from Python: задачки и вопросы
Функция-декоратор — это ...
Anonymous Quiz
83%
функция, оборачивающая другую функцию. Используется для расширения её функциональности
10%
функция, необходимая для улучшения читаемости кода. Не влияет на его функционал явным образом
4%
функция, задающая внешний вид приложения/веб-приложения
2%
ничего из вышеперечисленного
👍14🔥4❤1
Forwarded from Python: задачки и вопросы
Ответ:
Функция-декоратор
— это функция, которая оборачивает другую функцию. В разработке она используется для расширения обёрнутой функции🔥23👍3
Самые популярные вопросы на собеседовании: «Что такое декоратор?»
Этот вопрос, пожалуй, встречается на каждом собеседовании. Вообще декораторы — тема большая и как-нибудь обязательно найду хороший материал, чтобы раскрыть её шире. Но а пока давайте базово разберёмся в этом вопросе.
Если вкратце, декоратор позволяет добавить новую функциональность к существующей функции. Это делается так. Функция передаётся декоратору, а он выполняет и существующий и дополнительный код. Для примера напишем декоратор, который записывает в журнал вызовы другой функции.
Напишем функцию декоратора
В качестве аргумента он принимает функцию
Напишем другие функции, к которым позже добавим декоратор:
Теперь добавим декоратор к эти двум функциям:
Теперь легко добавить ведение журнала в любую функцию, которую мы пишем. Достаточно написать перед ней
#собеседование
Этот вопрос, пожалуй, встречается на каждом собеседовании. Вообще декораторы — тема большая и как-нибудь обязательно найду хороший материал, чтобы раскрыть её шире. Но а пока давайте базово разберёмся в этом вопросе.
Если вкратце, декоратор позволяет добавить новую функциональность к существующей функции. Это делается так. Функция передаётся декоратору, а он выполняет и существующий и дополнительный код. Для примера напишем декоратор, который записывает в журнал вызовы другой функции.
Напишем функцию декоратора
В качестве аргумента он принимает функцию
func
. Декоратор определяет функцию log_function_called
, которая вызывает func()
и выполняет код print(f'{func} called.')
. А затем возвращает определенную им функцию:def logging(func):
def log_function_called():
print(f'{func} called.')
func()
return log_function_called
Напишем другие функции, к которым позже добавим декоратор:
def my_name():
print('chris')
def friends_name():
print('naruto')
my_name() #=> chris
friends_name() #=> naruto
Теперь добавим декоратор к эти двум функциям:
@logging
def my_name():
print('chris')
@logging
def friends_name():
print('naruto')
my_name()
#=> <function my_name at 0x10fca5a60> called.
#=> chris
friends_name()
#=> <function friends_name at 0x10fca5f28> called.
#=> naruto
Теперь легко добавить ведение журнала в любую функцию, которую мы пишем. Достаточно написать перед ней
@logging
.#собеседование
👍26👎1🔥1💩1
Первый взгляд на Arduino Lab for MicroPython и сравнение с Thonny IDE
В ноябре 2022 года Arduino объявили, что MicroPython стал частью их экосистемы. Вместе с этим разработчики выпустили новую IDE — Arduino Lab for MicroPython. Но чем она лучше той же Thonny, которую до сих пор используют для программирования микроконтроллеров на Python?
Если работаете или планируете работать с Arduino, вот небольшая заметка с обзором новой функциональности: https://habr.com/ru/company/selectel/blog/716098/
#arduino
В ноябре 2022 года Arduino объявили, что MicroPython стал частью их экосистемы. Вместе с этим разработчики выпустили новую IDE — Arduino Lab for MicroPython. Но чем она лучше той же Thonny, которую до сих пор используют для программирования микроконтроллеров на Python?
Если работаете или планируете работать с Arduino, вот небольшая заметка с обзором новой функциональности: https://habr.com/ru/company/selectel/blog/716098/
#arduino
👍3
Leetcode 934: Разбор задачи на Python с использованием dfs + bfs
Вообще, LeetCode — это онлайн-платформа с алгоритмическими задачами по программированию, своего рода тренажёр для подготовки к техническим собеседованиям. Считается, что если регулярно с ним заниматься, то через полгода ваши шансы устроиться в бигтех.
На практике конечно, там много нюансов, но это и не важно! Давайте пока просто познакомимся с типичной задачкой и попробуем её решить.
Вам дана двоичная матрица размера n x n, где 1 представляет сушу, а 0 представляет воду. Остров — это 4-направленно связанная группа 1, не связанная ни с какими другими 1. В сетке ровно два острова. Вы можете изменить 0 на 1, чтобы соединить два острова в один остров.
Как найти наименьшее количество нулей, которое нужно перевернуть, чтобы соединить два острова?
Решение разобрали здесь: https://tproger.ru/articles/leetcode-934-razbor-zadachi-s-ispol-zovaniem-dfs-bfs/
#задачи
Вообще, LeetCode — это онлайн-платформа с алгоритмическими задачами по программированию, своего рода тренажёр для подготовки к техническим собеседованиям. Считается, что если регулярно с ним заниматься, то через полгода ваши шансы устроиться в бигтех.
На практике конечно, там много нюансов, но это и не важно! Давайте пока просто познакомимся с типичной задачкой и попробуем её решить.
Вам дана двоичная матрица размера n x n, где 1 представляет сушу, а 0 представляет воду. Остров — это 4-направленно связанная группа 1, не связанная ни с какими другими 1. В сетке ровно два острова. Вы можете изменить 0 на 1, чтобы соединить два острова в один остров.
Как найти наименьшее количество нулей, которое нужно перевернуть, чтобы соединить два острова?
Решение разобрали здесь: https://tproger.ru/articles/leetcode-934-razbor-zadachi-s-ispol-zovaniem-dfs-bfs/
#задачи
👍11👎1
Над чем вы работали на этой неделе, какие задачи героически решили и какие баги превратили в фичи?
Делимся всем, чем хочется похвастаться — текст, скриншоты кода и даже ссылочки на видео: https://tproger.ru/articles/chto-vy-delali-na-jetoj-nedele-post-ljogkogo-hvastovstva-za-20-24-fevralja/
Делимся всем, чем хочется похвастаться — текст, скриншоты кода и даже ссылочки на видео: https://tproger.ru/articles/chto-vy-delali-na-jetoj-nedele-post-ljogkogo-hvastovstva-za-20-24-fevralja/
💩6👍1