Python Lounge: работа и стажировки для программистов
Open in Telegram
Здесь можно найти интересующую вас работу и стажировки для программистов, а так же полезные статьи про Python. Размещение вакансии только - @perezvonyubot Ссылка на канал: @python_lounge Мы входим в сеть promopoisk.com Реклама: @adtgassetsbot
Show more4 245
Subscribers
No data24 hours
-157 days
-6530 days
Posts Archive
Делать разборы сложных проектов?
Сделать пост в Инстаграм с помощю python написав 4 строчки кода
Перед запуском скрипта нужно убедиться, что на машине установлен модуль instabot,
в противном случае нужно её установить написав в терминале следующую команду.
pip install instabot
from instabot import bot
bot = Bot()
bot.login(username = "user_name", password = "user_password")
bot upload_photo("Post.jpg", caption = "Posted via Python Bot")
Обсудить пост и пообщатся можно в нашем чате.Программируете на Python или хотите начать? Тогда заходите в авторский телеграм-канал о Python!
В нём:
🔺 топ ошибок новичков,
🔺 лайфхаки и трюки,
🔺 красивый код,
🔺 разбор вопросов с собеседований.
Тем, кто хочет понимать, что пишет: @python_in_depth
📄Объединяем словари
с помощью функции
update()📖.
Вы можете использовать функцию update() , чтобы скопировать ключи и значения
из одного словаря в другой.
Определим словарь pythons , содержащий имена юмористов:
>>> pythons = {
...'Chapman': 'Graham',
...'Cleese': 'John',
...'Gilliam': 'Terry',
...'Idle': 'Eric',
...'Jones': 'Terry',
...'Palin': 'Michael'}
>>> pythons
{'Chapman': 'Graham', 'Cleese': 'John', 'Gilliam': 'Terry',
'Idle': 'Eric', 'Jones': 'Terry', 'Palin': 'Michael'}
Кроме того, у нас есть еще один словарь — others , содержащий имена других
юмористов:
>>> others = { 'Marx': 'Groucho', 'Howard': 'Moe' }
Теперь появляется еще один программист, который решил, что члены второго словаря
others должны быть членами первого:
>>> pythons.update(others)
>>> pythons
{'Chapman': 'Graham', 'Cleese': 'John', 'Gilliam': 'Terry',
'Idle': 'Eric', 'Jones': 'Terry', 'Palin': 'Michael',
'Marx': 'Groucho', 'Howard': 'Moe'}
- А что произойдет, если во втором словаре будут находиться такие же ключи, что
и в первом?
- Победит значение из второго словаря:
>>> first = {'a': 1, 'b': 2}
>>> second = {'b': 'platypus'}
>>> first.update(second)
>>> first
{'a': 1, 'b': 'platypus'}⏱️Создание временных файлов и каталогов🐍
⚠️Задача
Вам нужно создать временный файл или каталог, которые будут использоваться
во время выполнения вашей программы. После, возможно, вы захотите, чтобы
они были удалены.
✅Решение
В модуле
tempfile есть различные функции, которые помогут решить эту задачу.
Чтобы создать безымянный временный файл, используйте tempfile.TemporaryFile:
from tempfile import TemporaryFile
with TemporaryFile('w+t') as f:
# Чтение/запись в файл
f.write('Hello World\n')
f.write('Testing\n')
# Перейти в начало и прочесть данные
f.seek(0)
data = f.read()
# Временный файл уничтожен
Также вы можете использовать файл таким образом:
f = TemporaryFile('w+t')
# Использовать временный файл
...
f.close()
# Файл уничтожен
Обсудить можно в нашем чате.
Объяснение кода по ссылке ниже
https://teletype.in/@tyom/DD1R_X2U5🚀Библиотека OpenCV :-֊ Установка, основные понятия, и сферы применения.🐍
- Что такое OpenCV?
OpenSource Библиотека компьютерного зрения и машинного обучения с открытым исходным кодом. В неё входят более 2500 алгоритмов, в которых есть как классические, так и современные алгоритмы для компьютерного зрения и машинного обучения. Эта библиотека имеет интерфейсы на различных языках, среди которых есть наш любимый Python.
- Установка OpenCV
Инструкцию по установке на Windows можно посмотреть здесь, а на Linux — здесь
.
- Для решении каких проблем была создана библиотека?
OpenCV позволяет достаточно быстро и эффективно реализовывать сложные алгоритмы
машинного зрения. Библиотека содержит более 500 функций, которые позволяют реализовывать приложения работающие во многих областях, в том числе:
- контроль качества выпускаемой продукции;
- обработке изображений в медицине;
- обеспечении безопасности;
- интерфейсе пользователя;
- робототехнике.
-----------------------------------
— Исходный код примеров можете найти по ссылке ниже.
[ --code-- ]
— Объяснение каждой строки в коде найдите здесь.
[ --explaining-- ]
Heap Sort (Сортировка кучей)
Сортировка кучей, пирамидальная сортировка — алгоритм сортировки, использующий структуру данных двоичная куча. Это неустойчивый алгоритм сортировки с временем работы O(nlogn)
, где n
— количество элементов для сортировки, и использующий O(1)
дополнительной памяти.
Реализация на Python
# Программа Python для реализации сортировки кучи
# Чтобы скопировать поддерево с корневым индексом i.
#@python_lounge
# n - размер кучи
def heapify(arr, n, i):
largest = i # Инициализировать largest как root
l = 2 * i + 1 # left = 2*i + 1
r = 2 * i + 2 # right = 2*i + 2
# Проверить, существует ли левый дочерний элемент root и есть ли
# больше, чем корень
if l < n and arr[i] < arr[l]:
largest = l
# Проверить, существует ли правый дочерний элемент root и есть ли он
# больше, чем корень
if r < n and arr[largest] < arr[r]:
largest = r
# Сменить корень, если нужно
if largest != i:
arr[i],arr[largest] = arr[largest],arr[i] # swap
# Заполнить корень.
heapify(arr, n, largest)
# Основная функция для сортировки массива заданного размера
def heapSort(arr):
n = len(arr)
# Создание maxheap.
# Поскольку последний родитель будет в ((n // 2) -1), мы можем начать с этого места.
for i in range(n // 2 - 1, -1, -1):
heapify(arr, n, i)
# Один за другим извлечь элементы
for i in range(n-1, 0, -1):
arr[i], arr[0] = arr[0], arr[i] # swap
heapify(arr, i, 0)
# Код драйвера для тестирования выше
arr = [ 12, 11, 13, 5, 6, 7]
heapSort(arr)
n = len(arr)
print ("Sorted array is")
for i in range(n):
print ("%d" %arr[i]),Data Science[ru] - русскоязычный канал с полезными материалами на такие темы как:
👉
Материалы на тему Machine Learning, DS, Python, Алгоритмы
👉 Задачи по алгоритмам
👉 Новости данной сферы
👉 Вакансии
👉 Конкурсы с розыгрышами билетов на разные конфы
Добро пожаловать!
➡️ @devspКак создавать сложные web-сайты на Python?
Первые шаги в этой специальности вы сделаете уже 15 марта на демо-занятии «Использование сторонних библиотек в django». Вместе с Леонидом Орловым вы рассмотрите общие принципы установки и использования сторонних библиотек вместе с django, а также научитесь пользоваться несколькими популярными библиотеками (django-debug-toolbar, django-cms, django-cleanup).
Демо-занятие является часть онлайн-курса «Python Web-Developer» и дает возможность познакомиться с преподавателем и оценить курс.
Для участия пройдите вступительный тест https://otus.pw/6ndL/
ООП на Python: концепции, принципы и примеры реализации
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто.
Подробно с примеры с теорией изложены ниже по ссылке.
https://telegra.ph/OOP-na-Python-koncepcii-principy-i-primery-realizacii-03-11
Обсудить можно в нашем чате.
Какой принцип ООП описывает следующее предложение? Этот принцип является способностью использовать общий интерфейс для нескольких форм (типов данных).
Что относится к основным принципам ООП?
Примеры проектов по машинному обучению — 10 лучших
https://teletype.in/@python_lounge/top10mlproject
Обсудить можно в нашем чате
Запишись на онлайн-курс «Профессия Python-разработчик» и научись писать программы под руководством личного наставника. Год обучения бесплатно!
На курсе тебя ждет:
39 тем, разработанных на основе требований работодателей методологами-практиками программирования;
работа с личным наставником;
доступ к курсу навсегда;
диплом Python-разработчика;
Переходи по ссылке: https://clc.am/xBrd8A и оставляй заявку на обучение. Всем студентам курса на время обучения мы даём бесплатный доступ к специализированной IDE (среде разработки) от компании JetBrains — PyCharm.
Micro Python — эффективная реализация Python 3 для микроконтроллеров
Английский разработчик Дэмьен Джордж (Damien George) в 2014ом году объявил об эффективной реализация Python 3 для встроенных систем с малым объёмом оперативной памяти. Разработка этой версии началась в декабре, после удачной кампании по сбору средств на выпуск Pyboard — контроллера, работающего на Питоне.
Micro Python — новая реализация языка программирования Python 3, которая должна быть правильно совместима с CPython, в то же время используя минимальное количество ОЗУ, компактный компилятор и высокую производительность в среде выполнения.
Джордж объясняет, что добиться этого удалось за счёт нескольких трюков с указателями и оптимизацией кода. В результате, Micro Python поддерживает почти весь синтаксис Python 3.4 (работа ещё продолжается), а большинство скриптов занимают гораздо меньше ОЗУ и выполняются заметно быстрее, по сравнению с CPython.
Минимальный билд под ARM умещается в 80k, а со всеми функциями под Linux — в 200k. Базовая REPL-среда требует всего 2 килобайта ОЗУ.
Дополнительно, в Micro Python встроены два режима AOT-компиляции в нативный код, есть встроенный ассемблер для написания критичных ко времени приложений на микроконтроллере.
Реализация написана на C99 ANSI C и нормально компилируется под Unix (POSIX), Mac OS X, Windows и некоторых ARM-микроконтроллерах.
Вот документация Micro Python - https://micropython-ru.readthedocs.io/ru/latest/
Да где же поугарать с IT-мемов в Телеге?
Да вот же, принесли на блюдечке — Programmer memes. Это самый популярный канал с юмором для программистов.
Только не забывай выходить из канала, чтобы дописать код. Ну или что ты там обычно делаешь.
@prgmemes
📄Модули🐍
Программы на Python содержат тысячи, десятки тысяч и сотни тысяч строк кода (есть проекты с миллионами). В таких условиях одним файлом с кодом не обойдёшься — его нужно разбивать на части. Для получения доступа к коду, который находится в других файлах, в Python реализован механизм модулей.
Модули и импортирование
Итак, файл с кодом на Python называется модулем. Имя модуля соответствует имени файла, поэтому файлы в Python принято называть в стиле "snake_case" (отметьте иронию: Python — питон — змея — snake — snake_case). Одни модули могут использовать содержимое других, если импортируют эти другие модули с помощью инструкции
import.
Строго говоря, в Python импортировать модули можно несколькими способами:
импортировать сам модуль
импортировать отдельные определения из модуля
импортировать всё содержимое модуля сразу
Импортирование модуля
Рассмотрим применение первого способа — импортирование модуля целиком. Главное удобство упоминания модуля по имени: глядя на код, мы сразу видим, что используемая переменная или вызываемая функция — это часть конкретного модуля.
Синтаксис импорта: import <имя_модуля (без суффикса ".py")>
Всё просто: после ключевого слова import указываем имя модуля (файла). Но при этом суффикс .py в имени надо опустить. То есть, к примеру, для модуля с именем my_module.py в инструкции импорта достаточно прописать my_module, а полный вид инструкции будет таким: import my_module.
В модуле (файле) с именем greeting.py определим функцию say_hi и переменную name:
# file: greeting.py
def say_hi():
print('Hi!')
name = 'Bob'
А в модуле с именем main.py сделаем импорт содержимого модуля greeting.py:
# file: main.py
import greeting # заметьте, расширение ".py" не указывается!
print(greeting.name) # => Bob
greeting.say_hi() # => Hi!
Импортирование модуля в таком виде делает модуль доступным по имени — в данном случае это greeting. К содержимому же модуля можно обратиться, как говорят, "через точку". Причём можно как получать доступ к переменным (greeting.name), так и вызывать функции модуля (greeting.say_hi()).
Импортирование отдельных определений
Синтаксис импорта: from <имя_модуля (без суффикса ".py")> import <список определений>.
Иногда из всего модуля нужна пара функций или переменных, а имя модуля слишком длинное, чтобы писать его каждый раз. Здесь нам может пригодиться следующий вариант использования инструкции import:
# file: main.py
from greeting import say_hi, name
print(name) # используем переменную
say_hi() # вызываем функцию
Здесь после ключевого слова from указано имя модуля, а затем после ключевого слова import — имена определений из этого модуля, которые мы в дальнейшем хотим использовать напрямую (а не "через точку").
В следующем уроке мы рассмотрим третий вариант импортирования модуля ("импорт всего содержимого") и в целом немного углубим наши познания в этой теме.📄Модули🐍
Программы на Python содержат тысячи, десятки тысяч и сотни тысяч строк кода (есть проекты с миллионами). В таких условиях одним файлом с кодом не обойдёшься — его нужно разбивать на части. Для получения доступа к коду, который находится в других файлах, в Python реализован механизм модулей.
Модули и импортирование
Итак, файл с кодом на Python называется модулем. Имя модуля соответствует имени файла, поэтому файлы в Python принято называть в стиле "snake_case" (отметьте иронию: Python — питон — змея — snake — snake_case). Одни модули могут использовать содержимое других, если импортируют эти другие модули с помощью инструкции
import.
Строго говоря, в Python импортировать модули можно несколькими способами:
импортировать сам модуль
импортировать отдельные определения из модуля
импортировать всё содержимое модуля сразу
Импортирование модуля
Рассмотрим применение первого способа — импортирование модуля целиком. Главное удобство упоминания модуля по имени: глядя на код, мы сразу видим, что используемая переменная или вызываемая функция — это часть конкретного модуля.
Синтаксис импорта: import <имя_модуля (без суффикса ".py")>
Всё просто: после ключевого слова import указываем имя модуля (файла). Но при этом суффикс .py в имени надо опустить. То есть, к примеру, для модуля с именем my_module.py в инструкции импорта достаточно прописать my_module, а полный вид инструкции будет таким: import my_module.
В модуле (файле) с именем greeting.py определим функцию say_hi и переменную name:
# file: greeting.py
def say_hi():
print('Hi!')
name = 'Bob'
А в модуле с именем main.py сделаем импорт содержимого модуля greeting.py:
# file: main.py
import greeting # заметьте, расширение ".py" не указывается!
print(greeting.name) # => Bob
greeting.say_hi() # => Hi!
Импортирование модуля в таком виде делает модуль доступным по имени — в данном случае это greeting. К содержимому же модуля можно обратиться, как говорят, "через точку". Причём можно как получать доступ к переменным (greeting.name), так и вызывать функции модуля (greeting.say_hi()).
Импортирование отдельных определений
Синтаксис импорта: from <имя_модуля (без суффикса ".py")> import <список определений>.
Иногда из всего модуля нужна пара функций или переменных, а имя модуля слишком длинное, чтобы писать его каждый раз. Здесь нам может пригодиться следующий вариант использования инструкции import:
# file: main.py
from greeting import say_hi, name
print(name) # используем переменную
say_hi() # вызываем функцию
Здесь после ключевого слова from указано имя модуля, а затем после ключевого слова import — имена определений из этого модуля, которые мы в дальнейшем хотим использовать напрямую (а не "через точку").
В следующем уроке мы рассмотрим третий вариант импортирования модуля ("импорт всего содержимого") и в целом немного углубим наши познания в этой теме.Что отличает хорошего работодателя для IT-специалистов от остальных компаний?
Поделитесь своим мнением в небольшом опросе и получите гарантированный приз — промокод на бесплатную книгу и скидку 25% на продукцию ЛитРес, а также возможность выиграть Яндекс.Станцию, сертификаты в ReStore или Ozon на 10 тысяч рублей.
Участвовать могут:
— Тестировщики, специалисты техподдержки, DevOps, IT-аналитики и разработчики.
— Опыт работы: от двух лет.
Пройдите опрос до 18 марта включительно: https://clc.am/hOghBQ
