Python Lounge: работа и стажировки для программистов
4.09K subscribers
93 photos
1.17K links
Здесь можно найти интересующую вас работу и стажировки для программистов, а так же полезные статьи про Python.

Размещение вакансии только - @perezvonyubot

Ссылка на канал: @python_lounge

Мы входим в сеть promopoisk.com

Реклама: @adtgassetsbot
Download Telegram
Какой принцип ООП описывает следующее предложение? Этот принцип является способностью использовать общий интерфейс для нескольких форм (типов данных).
Anonymous Quiz
10%
Инкапсуляция
48%
Полиморфизм
14%
Абстракция
28%
Наследование
ООП на Python: концепции, принципы и примеры реализации
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто.
Подробно с примеры с теорией изложены ниже по ссылке.
https://telegra.ph/OOP-na-Python-koncepcii-principy-i-primery-realizacii-03-11

Обсудить можно в нашем чате.
​​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]),
​​🚀Библиотека OpenCV :-֊ Установка, основные понятия, и сферы применения.🐍

- Что такое OpenCV?
OpenSource Библиотека компьютерного зрения и машинного обучения с открытым исходным кодом. В неё входят более 2500 алгоритмов, в которых есть как классические, так и современные алгоритмы для компьютерного зрения и машинного обучения. Эта библиотека имеет интерфейсы на различных языках, среди которых есть наш любимый Python.

- Установка OpenCV
Инструкцию по установке на Windows можно посмотреть здесь, а на Linuxздесь
.
- Для решении каких проблем была создана библиотека?

OpenCV позволяет достаточно быстро и эффективно реализовывать сложные алгоритмы
машинного зрения. Библиотека содержит более 500 функций, которые позволяют реализовывать приложения работающие во многих областях, в том числе:
- контроль качества выпускаемой продукции;
- обработке изображений в медицине;
- обеспечении безопасности;
- интерфейсе пользователя;
- робототехнике.

-----------------------------------
Исходный код примеров можете найти по ссылке ниже.
[ --code-- ]

Объяснение каждой строки в коде найдите здесь.
[ --explaining-- ]
​​⏱️Создание временных файлов и  каталогов🐍

⚠️Задача
Вам нужно создать временный файл или каталог, которые будут использоваться
во время выполнения вашей программы. После, возможно, вы захотите, чтобы
они были удалены.

Решение
В модуле 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
​​📄Объединяем словари
с помощью функции 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'}
Программируете на Python или хотите начать? Тогда заходите в авторский телеграм-канал о Python!
В нём:

🔺 топ ошибок новичков,
🔺 лайфхаки и трюки,
🔺 красивый код,
🔺 разбор вопросов с собеседований.

Тем, кто хочет понимать, что пишет: @python_in_depth
Сделать пост в Инстаграм с помощю 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")

Обсудить пост и пообщатся можно в нашем чате.
​​ - "Я тебя по IP вычислю". 👶🏻

Думаю все наши подписчики так или иначе сталкивались с подобной ситуацией.

Мы заинтересовались этой темой, и как и было ожидаемо, знание python поможет бороться с такими индивидуумами реально вычислив их по IP.

Для этого нам понадобится модуль названный ip2geotools и еще модуль socket

;Установить их можно соответственно командами :
> pip install ip2geotools
> pip install socket

;Сам скрипт :

import socket
from ip2geotools.databases.noncommercial import DbIpCity

IP = input("Введите IP")
response = DbIpCity.get(IP,api_key = "free")
print ("IP : ", IP)
print ("City : ", response.city)
print ("Region:", response.region)
print ("Country:", response.country)


-------------------------------------------------
Обсудить пост и пообщаться можно в нашем чате.
Эхо Бот для телеграма на python
используемые модули logging . telegram

"""
Простой бот для ответа на сообщения Telegram.
Сначала определяется несколько функций-обработчиков. Затем эти функции передаются в
Диспетчер и зарегистрированы по месту.
Затем бот запускается и работает, пока мы не нажмем Ctrl-C в командной строке.
Использование:
Базовый пример Echobot, повторяет сообщения.
Нажмите Ctrl-C в командной строке или отправьте сигнал процессу, чтобы остановить
бот.
"""
__________________________________________
Код можете найти по этой ссылке.
A oбсудить пост и пообщаться можно в нашем чате
​​Как объединить видео и аудио файлы в ffmpeg-python
Вот код python после того, как у вас есть pip install ffmpeg-python в вашей среде:

import ffmpeg
input_video = ffmpeg.input('./test/test_video.webm')
input_audio = ffmpeg.input('./test/test_audio.webm')
ffmpeg.concat(input_video, input_audio, v=1, a=1).output('./processed_folder/finished_video.mp4').run()

После обработки ваш файл будет лежать в файле ./processed_folder/finished_video.mp4

v=1 : Установите количество выходных видеопотоков, то есть также количество видеопотоков в каждом сегменте. Значение по умолчанию-1.
a=1 : установите количество выходных аудиопотоков, то есть также количество аудиопотоков в каждом сегменте. Значение по умолчанию-0.
Для получения подробной информации о ffmpeg.concat , проверьте: https://ffmpeg.org/ffmpeg-filters.html#concat .
Вы можете проверить больше примеров здесь: https://github.com/kkroening/ffmpeg-python/issues/281
PS. Если вы используете MacOS и у вас есть ошибка: FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg' во время выполнения кода, просто brew install ffmpeg в вашем terminal.
💡Лайфхаки и памятки для питонистов!

👉Вывести в консоль 2 или более списков одновременно.
>>>list1 = [1, 3, 5, 7]
>>>list2 = [2, 4, 6, 8]
>>>for a, b in zip(list1, list2):
...print (a, b)
Output:
>>>1 2
>>>3 4
>>>5 6
>>>7 8

👉Превратить строку в список.
>>>formatted_list = list(map(int, input().split()))
>>>print (formatted_list)
Output:
>>>[1, 2, 3]

👉Превратить список списков в один список.
>>>import itertools
>>>list1 = [[1,2], [3,4], [5,6]]
>>>lst = list(itertools.chain.from_iterable(list1))
Output:
>>>[1, 2, 3, 4, 5, 6]

👉Раздробить список в группы.
>>>list1 = ['Sun', 'Flowers', 'Peoples', 'Animals', 'Day', 'Night']
>>>partition = list(zip(*[iter(list1)] * 2))
>>>print(partition)
Output:
>>>[('Sun', 'Flowers'), ('Peoples', 'Animals'), ('Day', 'Night')]
🐍 Как Python применяется в блокчейн
Почему популярный язык программирования используется для блокчейна? Какие готовые инструменты Python помогут реализовать собственный проект? Как пошагово создать распределенную базу данных? На эти вопросы мы постараемся ответить в статье.

Обсудить тему можно в нашем <чате>.🚀
✊🏻✌🏻🤚🏻Проект для новичков и не только - Камень ножницы бумага

Ваша первая игра в Python: камень, ножницы, бумага.
Я предполагаю, что вы изучаете Python, потому что хотите писать интерактивные программы, например видеоигры. Что ж, сегодня твой счастливый день. Вы собираетесь запрограммировать свою первую игру на Python.

https://telegra.ph/Kamen-nozhnicy-bumaga-03-24

обсудить проект и просто пообщаться можно в нашем чате.
13 лучших книг по Python для начинающих и продолжающих

- 7 лучших книг по Python для начинающих

Python Crash Course, Eric Matthes

Head-First Python, Paul Barry

Invent Your Own Computer Games with Python, Al Sweigart

Think Python: How to Think Like a Computer Scientist, Allen B. Downey

Effective Computation in Physics: Field Guide to Research with Python, Anthony Scopatz, Kathryn D. Huff

Learn Python 3 the Hard Way, Zed A. Shaw

Real Python Course, Real Python Team
==========================

- Подборка лучших книг по Python для среднего и продвинутого уровня

Python Tricks: A Buffet of Awesome Python Features, Dan Bader

Fluent Python: Clear, Concise, and Effective Programming, Luciano Ramalho

Effective Python: 59 Ways to Write Better Python, Brett Slatkin

Python Cookbook, David Beazley & Brian K. Jones


Описание кождой книги найдите в этой <статье>.
Обсудить книги и просто пообщаться можно в нашем <чате>.
🐍3 способа добавить элемент в список

Напоминаю, списки в Python – упорядоченные последовательности элементов различных типов данных. Списки можно изменять, например добавлять новые элементы.

1. list.append(x) – добавляет элемент, переданный в качестве аргумента, в конец списка. Этот метод является самым простым и распространённым в коде.

arr = [1, 2]
arr.append(3)
# [1, 2, 3]

2. list.insert(i, x) – вставляет элемент в переданную позицию. Первый аргумент означает индекс элемента, перед которым будет добавлено новое значения.

Таким образом, list.insert(0, x) вставит элемент в начало списка, а list.insert(len(list), x) эквивалентно записи list.append(x).

arr = [1, 2]
arr.insert(1, 3)
# [1, 3, 2]

3. list.extend(iterable) – расширяет список, добавляя все элементы другой коллекции.

arr = [1, 2]
arr2 = [3, 4]
arr.extend(arr2)
# [1, 2, 3, 4]

Тема должна быть достаточно легкая и знакомая многим, но повторенье – мать ученья.

P. S. Накидайте в комменты тем, которые разобрать в следующих постах
JSON в Python

Подробнее про JSON
Не удивительно, что JavaScript Object Notation был вдохновен подмножеством языка программирования JavaScript, связанным с синтаксисом объектного литерала. У них есть отличный сайт, в котором все прекрасно объясняется. В конечном счете, большая часть сообщества приняла JSON благодаря его простоте как для людей, так и для машин.
Смотрите, это JSON!
https://telegra.ph/Json--python-03-30
Всем привет)
Ну что, кроме первоапрельской шутки с закрытием Python, были сегодня у вас ещё смешные моменты?

Делимся в комментариях, отдохнём сегодня от контента😅