Python Tech Talks
144 subscribers
361 photos
13 links
Python Tech Talks - это лучший телеграмм-канал для программистов на языке Python 🐍

Ссылка на канал: https://t.me/PythonTechTalks ✨

По всем вопросам: https://t.me/ARIM_bio🔥
Поддержка: pythontechtalks@gmail.com🍀
Download Telegram
Алгоритм Евклида

Алгоритм Евклида через вычитания, также известный как метод вычитания, используется для нахождения наибольшего общего делителя двух чисел путем последовательных вычитаний одного числа из другого. Он основан на простой идее, что если a больше b, то мы можем вычесть b из a, и продолжать это до тех пор, пока a и b не станут равными.
В данной реализации мы используем цикл while для последовательных вычитаний одного числа из другого до тех пор, пока они не станут равными. После этого оставшееся число и будет НОДом исходных чисел.

Пример:
Найти НОД для a = 30 и b = 18.
30 - 18 = 12
a = 12 и b = 18
18 - 12 = 6
a = 12 и и = 6
12 - 6 = 6
a = 6 и b = 6
Ответ: 6

#алгоритмы
👍3👏1
👍2
Парсинг сайтов (web scraping) - это процесс извлечения данных с веб-страниц с целью их анализа, обработки или сохранения. Парсинг сайтов может быть полезен для получения информации о товарах, ценах, новостях, контактной информации и многом другом.

Вот основные шаги парсинга сайтов:

1. Загрузка веб-страницы: Сначала необходимо загрузить HTML-код веб-страницы. Это можно сделать с помощью библиотеки Python, такой как requests, которая позволяет делать HTTP-запросы к серверу и получать HTML-код страницы.

2. Извлечение данных: После загрузки страницы необходимо извлечь нужные данные. Это можно сделать с помощью библиотеки BeautifulSoup, которая позволяет парсить HTML и извлекать нужные данные, такие как текст, ссылки, изображения и т.д.

3. Обработка данных: Полученные данные могут потребовать дополнительной обработки, например, очистки от лишних символов, преобразования формата и т.д.

4. Сохранение данных: После извлечения и обработки данных их можно сохранить, например, в файл или базу данных.

Пример парсинга сайта с использованием Python:

import requests
from bs4 import BeautifulSoup

# Загрузка веб-страницы
url = 'https://example.com'
response = requests.get(url)
html = response.text

# Извлечение данных с помощью BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
title = soup.title.text
print(title)

# Нахождение всех ссылок на странице
links = soup.find_all('a')
for link in links:
print(link.get('href'))


Таким образом, парсинг сайтов с помощью Python позволяет получать данные с веб-страниц для последующего анализа, обработки или сохранения. Однако при использовании парсинга следует учитывать правила использования данных сайта и законы о защите персональных данных.

#программирование
👍8
👍3
Что выведет приведённый выше код?
Anonymous Quiz
12%
1 Python
10%
3 Python Tech Talks
46%
3 Python
32%
1 PythonTechTalks
👍9
Pygame

Pygame — это библиотека для создания игр. В библиотеке собран набор программных средств,
помогающих разрабатывать двумерные игры.

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

Это довольно простая в освоении библиотека, поэтому ее часто выбирают начинающие для обучения. Кроме того, с Pygame могут работать и состоявшиеся игровые разработчики, а также геймдизайнеры и другие специалисты, занятые в геймдеве.

#библиотеки
👍4🔥1
🤣3😁1
Тип данных Fraction

В Python тип данных Fraction представляет собой рациональное число, представленное в виде дроби. Он позволяет работать с числами с плавающей запятой без потери точности.
Для использования типа данных Fraction необходимо импортировать модуль fractions.

#типы_данных
👍5👏1
Книга: "Высокопроизводительные Python-приложения. Практическое руководство по эффективному программированию. Миша Горелик, Йен Освальд"

Из этой книги вы узнаете как:
- заметно ускорить выполнение кода в программах, работающих с большими объемами данных;
- задействовать преимущества многоядерных архитектур или кластеров;
- построить систему, которая масштабируется без потери надежности;
- и много другого!

#книги
👍3
Метод get()

Метод get() в словарях в Python используется для получения значения по указанному
ключу. Он принимает один обязательный аргумент - ключ, и один
необязательный аргумент - значение по умолчанию, которое будет
возвращено, если ключ отсутствует в словаре.

Если ключ присутствует в словаре, метод get() возвращает соответствующее ему значение. Если ключ отсутствует, то метод вернет значение по умолчанию (или None, если значение по умолчанию не было указано).

#методы
👍5
👍4
Что выведет приведённый выше код?
Anonymous Quiz
13%
['bar foo']
8%
TypeError
55%
['b', 'a', 'r', ' ', 'f', 'o', 'o']
25%
['bar', 'foo']
👍3
Функцию map

Функция map применяет указанную функцию к каждому элементу последовательности (например, списку) и возвращает новую последовательность с результатами.

В примере, который приведён выше, мы создаем список numbers с числами от 1 до 5. Затем мы определяем функцию multiply_by_two, которая умножает число на 2. Далее мы используем функцию map для применения функции multiply_by_two к каждому элементу списка numbers. Результатом является новый итерируемый объект (в данном случае, map-объект), который содержит удвоенные значения исходного списка. Мы преобразуем этот объект в список с помощью функции list и выводим результат.

Таким образом, функция map позволяет применять заданную функцию к каждому элементу последовательности и получать новую последовательность с результатами этого преобразования.

#функции #python
👍4
NumPy

Библиотека NumPy gредназначена для работы с числами и сложной математикой. В первую очередь она облегчает расчеты с матрицами и многомерными массивами — именно в таком виде мы передаем любые данные на вход алгоритмам и моделям в методах глубокого обучения. Поэтому NumPy входит в базовый стек библиотек для Machine Learning.

#библиотеки
👍2👏1
Книга: «Python. К вершинам мастерства» — Лучано Рамальо

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

#книги
👍4
🔥2
Оценка сложности алгоритма

Оценка сложности алгоритма - это способ оценить, насколько быстро или медленно алгоритм будет выполняться в зависимости от размера входных данных. Сложность алгоритма обычно измеряется в терминах времени выполнения (временная сложность) и использования ресурсов (пространственная сложность).

Временная сложность алгоритма измеряется в терминах количества операций, необходимых для выполнения алгоритма в зависимости от размера входных данных. Временная сложность обычно выражается в "O-нотации" (например, O(n), O(n^2), O(log n)), где n - размер входных данных.

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

Примеры оценки сложности алгоритмов:
1. Линейная сложность O(n): Алгоритм, который выполняет постоянное количество операций для каждого элемента входных данных. Например, просмотр всех элементов в списке.
2. Квадратичная сложность O(n^2): Алгоритм, который выполняет количество операций, пропорциональное квадрату размера входных данных. Например, вложенные циклы, которые перебирают все комбинации элементов в списке.
3. Логарифмическая сложность O(log n): Алгоритм, время выполнения которого увеличивается логарифмически с увеличением размера входных данных. Например, бинарный поиск в отсортированном массиве.

Оценка сложности алгоритма позволяет предсказать, как он будет масштабироваться при увеличении размера входных данных, и помогает выбирать наиболее эффективные алгоритмы для решения конкретных задач.
👍1🤔1
👍1🔥1
Что выведет приведённый выше код?
Anonymous Quiz
25%
<class 'int'>
14%
TypeError
47%
<class 'range'>
14%
<class 'list'>