Какой принцип ООП описывает следующее предложение? Этот принцип является способностью использовать общий интерфейс для нескольких форм (типов данных).
Anonymous Quiz
10%
Инкапсуляция
48%
Полиморфизм
14%
Абстракция
28%
Наследование
ООП на Python: концепции, принципы и примеры реализации
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто.
Подробно с примеры с теорией изложены ниже по ссылке.
https://telegra.ph/OOP-na-Python-koncepcii-principy-i-primery-realizacii-03-11
Обсудить можно в нашем чате.
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто.
Подробно с примеры с теорией изложены ниже по ссылке.
https://telegra.ph/OOP-na-Python-koncepcii-principy-i-primery-realizacii-03-11
Обсудить можно в нашем чате.
Telegraph
ООП на Python: концепции, принципы и примеры реализации
Объектно-ориентированная парадигма имеет несколько принципов: Данные структурируются в виде объектов, каждый из которых имеет определенный тип, то есть принадлежит к какому-либо классу. Классы – результат формализации решаемой задачи, выделения главных ее…
Heap Sort (Сортировка кучей)
Сортировка кучей, пирамидальная сортировка — алгоритм сортировки, использующий структуру данных двоичная куча. Это неустойчивый алгоритм сортировки с временем работы O(nlogn)
, где n
— количество элементов для сортировки, и использующий O(1)
дополнительной памяти.
Реализация на Python
Сортировка кучей, пирамидальная сортировка — алгоритм сортировки, использующий структуру данных двоичная куча. Это неустойчивый алгоритм сортировки с временем работы 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-- ]
- Что такое OpenCV?
OpenSource Библиотека компьютерного зрения и машинного обучения с открытым исходным кодом. В неё входят более 2500 алгоритмов, в которых есть как классические, так и современные алгоритмы для компьютерного зрения и машинного обучения. Эта библиотека имеет интерфейсы на различных языках, среди которых есть наш любимый Python.
- Установка OpenCV
Инструкцию по установке на Windows можно посмотреть здесь, а на Linux — здесь
.
- Для решении каких проблем была создана библиотека?
OpenCV позволяет достаточно быстро и эффективно реализовывать сложные алгоритмы
машинного зрения. Библиотека содержит более 500 функций, которые позволяют реализовывать приложения работающие во многих областях, в том числе:
- контроль качества выпускаемой продукции;
- обработке изображений в медицине;
- обеспечении безопасности;
- интерфейсе пользователя;
- робототехнике.
-----------------------------------
— Исходный код примеров можете найти по ссылке ниже.
[ --code-- ]
— Объяснение каждой строки в коде найдите здесь.
[ --explaining-- ]
⏱️Создание временных файлов и каталогов🐍
⚠️Задача
Вам нужно создать временный файл или каталог, которые будут использоваться
во время выполнения вашей программы. После, возможно, вы захотите, чтобы
они были удалены.
✅Решение
В модуле
Чтобы создать безымянный временный файл, используйте
Обсудить можно в нашем чате.
Объяснение кода по ссылке ниже
https://teletype.in/@tyom/DD1R_X2U5
⚠️Задача
Вам нужно создать временный файл или каталог, которые будут использоваться
во время выполнения вашей программы. После, возможно, вы захотите, чтобы
они были удалены.
✅Решение
В модуле
tempfile есть различные функции, которые помогут решить эту задачу.Чтобы создать безымянный временный файл, используйте
tempfile.TemporaryFile:from tempfile import TemporaryFilewith 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
📄Объединяем словари
с помощью функции
Вы можете использовать функцию
из одного словаря в другой.
Определим словарь
Кроме того, у нас есть еще один словарь — others , содержащий имена других
юмористов:
Теперь появляется еще один программист, который решил, что члены второго словаря
others должны быть членами первого:
- А что произойдет, если во втором словаре будут находиться такие же ключи, что
и в первом?
- Победит значение из второго словаря:
с помощью функции
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_in_depth
Сделать пост в Инстаграм с помощю python написав 4 строчки кода
Перед запуском скрипта нужно убедиться, что на машине установлен модуль instabot,
в противном случае нужно её установить написав в терминале следующую команду.
Обсудить пост и пообщатся можно в нашем чате.
Перед запуском скрипта нужно убедиться, что на машине установлен модуль instabot,
в противном случае нужно её установить написав в терминале следующую команду.
pip install instabot from instabot import botbot = Bot()bot.login(username = "user_name", password = "user_password")bot upload_photo("Post.jpg", caption = "Posted via Python Bot")Обсудить пост и пообщатся можно в нашем чате.
Делать разборы сложных проектов?
Anonymous Poll
79%
Да 🐍
20%
Нет, давайте побольше простых
1%
Я предложу идею в комментариях
- "Я тебя по IP вычислю". 👶🏻
Думаю все наши подписчики так или иначе сталкивались с подобной ситуацией.
Мы заинтересовались этой темой, и как и было ожидаемо, знание python поможет бороться с такими индивидуумами реально вычислив их по IP.
Для этого нам понадобится модуль названный ip2geotools и еще модуль socket
;Установить их можно соответственно командами :
;Сам скрипт :
-------------------------------------------------
Обсудить пост и пообщаться можно в нашем чате.
Думаю все наши подписчики так или иначе сталкивались с подобной ситуацией.
Мы заинтересовались этой темой, и как и было ожидаемо, знание python поможет бороться с такими индивидуумами реально вычислив их по IP.
Для этого нам понадобится модуль названный ip2geotools и еще модуль socket
;Установить их можно соответственно командами :
> pip install ip2geotools> pip install socket;Сам скрипт :
import socketfrom ip2geotools.databases.noncommercial import DbIpCityIP = 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
используемые модули
"""
Простой бот для ответа на сообщения Telegram.
Сначала определяется несколько функций-обработчиков. Затем эти функции передаются в
Диспетчер и зарегистрированы по месту.
Затем бот запускается и работает, пока мы не нажмем Ctrl-C в командной строке.
Использование:
Базовый пример Echobot, повторяет сообщения.
Нажмите Ctrl-C в командной строке или отправьте сигнал процессу, чтобы остановить
бот.
"""
__________________________________________
Код можете найти по этой ссылке.
A oбсудить пост и пообщаться можно в нашем чате
используемые модули
logging . telegram"""
Простой бот для ответа на сообщения Telegram.
Сначала определяется несколько функций-обработчиков. Затем эти функции передаются в
Диспетчер и зарегистрированы по месту.
Затем бот запускается и работает, пока мы не нажмем Ctrl-C в командной строке.
Использование:
Базовый пример Echobot, повторяет сообщения.
Нажмите Ctrl-C в командной строке или отправьте сигнал процессу, чтобы остановить
бот.
"""
__________________________________________
Код можете найти по этой ссылке.
A oбсудить пост и пообщаться можно в нашем чате
Как объединить видео и аудио файлы в ffmpeg-python
Вот код python после того, как у вас есть
После обработки ваш файл будет лежать в файле
Для получения подробной информации о
Вы можете проверить больше примеров здесь: https://github.com/kkroening/ffmpeg-python/issues/281
PS. Если вы используете MacOS и у вас есть ошибка:
Вот код python после того, как у вас есть
pip install ffmpeg-python в вашей среде:import ffmpeginput_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.mp4v=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 или более списков одновременно.
Output:
👉Превратить строку в список.
Output:
👉Превратить список списков в один список.
Output:
👉Раздробить список в группы.
Output:
👉Вывести в консоль 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 помогут реализовать собственный проект? Как пошагово создать распределенную базу данных? На эти вопросы мы постараемся ответить в статье.
Обсудить тему можно в нашем <чате>.🚀
Telegraph
🐍 Как Python применяется в блокчейн
Блокчейн без крипты или сферы применения распределенных баз данных Люди часто считают блокчейн «чем-то про криптовалюты», поэтому в сети можно встретить много спекулятивных материалов вокруг этой технологии. Действительно, впервые блокчейн был использован…
✊🏻✌🏻🤚🏻Проект для новичков и не только - Камень ножницы бумага
Ваша первая игра в Python: камень, ножницы, бумага.
Я предполагаю, что вы изучаете Python, потому что хотите писать интерактивные программы, например видеоигры. Что ж, сегодня твой счастливый день. Вы собираетесь запрограммировать свою первую игру на Python.
https://telegra.ph/Kamen-nozhnicy-bumaga-03-24
обсудить проект и просто пообщаться можно в нашем чате.
Ваша первая игра в Python: камень, ножницы, бумага.
Я предполагаю, что вы изучаете Python, потому что хотите писать интерактивные программы, например видеоигры. Что ж, сегодня твой счастливый день. Вы собираетесь запрограммировать свою первую игру на Python.
https://telegra.ph/Kamen-nozhnicy-bumaga-03-24
обсудить проект и просто пообщаться можно в нашем чате.
Telegraph
Камень ножницы бумага
Ваша первая игра в Python: камень, ножницы, бумага Откройте IDLE и создайте новый файл rps.py. Затем введите следующее: from random import randint #create a list of play options t = ["Rock", "Paper", "Scissors"] #assign a random play to the computer computer…
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
Описание кождой книги найдите в этой <статье>.
Обсудить книги и просто пообщаться можно в нашем <чате>.
- 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) – добавляет элемент, переданный в качестве аргумента, в конец списка. Этот метод является самым простым и распространённым в коде.
2. list.insert(i, x) – вставляет элемент в переданную позицию. Первый аргумент означает индекс элемента, перед которым будет добавлено новое значения.
Таким образом,
3. list.extend(iterable) – расширяет список, добавляя все элементы другой коллекции.
Тема должна быть достаточно легкая и знакомая многим, но повторенье – мать ученья.
P. S. Накидайте в комменты тем, которые разобрать в следующих постах
Напоминаю, списки в 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
Подробнее про JSON
Не удивительно, что JavaScript Object Notation был вдохновен подмножеством языка программирования JavaScript, связанным с синтаксисом объектного литерала. У них есть отличный сайт, в котором все прекрасно объясняется. В конечном счете, большая часть сообщества приняла JSON благодаря его простоте как для людей, так и для машин.
Смотрите, это JSON!
https://telegra.ph/Json--python-03-30
Telegraph
Json & python
Структура JSON Готовьтесь. Я собираюсь показать реальный пример JSON— такой же, какой вы встретите в реальной жизни. Это нормально, подразумевается что JSON является читаемым для любого, кто пользовался С-языками, а Python – это С-язык, так что мы говорим…
Всем привет)
Ну что, кроме первоапрельской шутки с закрытием Python, были сегодня у вас ещё смешные моменты?
Делимся в комментариях, отдохнём сегодня от контента😅
Ну что, кроме первоапрельской шутки с закрытием Python, были сегодня у вас ещё смешные моменты?
Делимся в комментариях, отдохнём сегодня от контента😅
Switch-конструкция с помощью словаря
К сожалению, в Python не существует switch-конструкций, в отличие от большинства других языков программирования, и поэтому приходится строить башни из условных операторов в своём коде.
Однако есть одно хитрое решение — использовать словарь, где значениями будут функции. Например, напишем словарь, который будет использован для математических операторов.
В этом примере были использованы lambda-функции для простоты, но вместо них можете подставить любые другие. Для тех, кто не знает: lambda - объявление анонимной функции (можно косвенно сравнить с def); x, y - принимаемые аргументы; x + y - то, что функция возвращает.
Примерно вот так мы можем пользоваться подобной штукой. Думаю, что многие найдут полезное применение подобному использованию словарей.
К сожалению, в Python не существует switch-конструкций, в отличие от большинства других языков программирования, и поэтому приходится строить башни из условных операторов в своём коде.
Однако есть одно хитрое решение — использовать словарь, где значениями будут функции. Например, напишем словарь, который будет использован для математических операторов.
switch = { '+': lambda x, y: x + y, '-': lambda x, y: x - y, '*': lambda x, y: x * y, '/': lambda x, y: x / y}В этом примере были использованы lambda-функции для простоты, но вместо них можете подставить любые другие. Для тех, кто не знает: lambda - объявление анонимной функции (можно косвенно сравнить с def); x, y - принимаемые аргументы; x + y - то, что функция возвращает.
result = switch['*'](4, 5)print(result)# Output: 20Примерно вот так мы можем пользоваться подобной штукой. Думаю, что многие найдут полезное применение подобному использованию словарей.