Pythoner
7.23K subscribers
861 photos
27 videos
4 files
655 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
Что выдаст код
Anonymous Quiz
11%
bangkok
14%
kokbang
23%
angkok
26%
angko
13%
kokgna
14%
Error
👍4
Разбор

.capitalize() - возвращает слово, сделав первую букву заглавной. bangkok —> Bangkok

a[0].upper() —> берем первую букву b и переводим ее в верхний регистр при помощи .upper(). Далее склеиваем со срезом с 1 индекса по конец. (angkok) —> получим Bangkok.

В результате получаем одинаковый результат с обеих сторон от ==

Тогда нужно вывести наше изначальное слово срезом от 1 до -1 (-1 — это последний индекс). Начинаем со второй буквы (индекс 1) и закачиваем предпоследней (правая граница не включается)

Ответ: angko
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥43
➡️Слияние словарей - частое действие в программировании на Python. Существует множество способов сделать это. Но все они были уродливы до версии Python 3.9.

➡️Начиная с Python 3.9, мы наконец-то получили самый элегантный способ объединения словарей - использование операторов объединения.

⬆️В примере на фото, код выведет:

{'New York City': 'US', 'Los Angeles': 'US', 'London': 'UK', 'Birmingham': 'UK'}


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤷‍♀63🔥3
🔎В программировании существует множество алгоритмов сортировки, и одним из самых известных и простых является сортировка пузырьком.

➡️Описание алгоритма сортировки пузырьком

Сортировка пузырьком основывается на принципе сравнения и перестановки соседних элементов массива до тех пор, пока весь массив не будет отсортирован. На каждой итерации алгоритма самый большой элемент "всплывает" на правильное место, поэтому данный алгоритм получил название "пузырьковая сортировка".

➡️Пример кода сортировки пузырьком на языке Python:

def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]

# Пример использования
array = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(array)
print("Отсортированный массив:")
for i in range(len(array)):
print("%d" % array[i])


➡️Преимущества и недостатки сортировки пузырьком

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

Однако, у сортировки пузырьком есть и некоторые недостатки. Во-первых, алгоритм имеет квадратичную сложность, то есть время выполнения растет пропорционально квадрату количества элементов в массиве. Это делает его неэффективным для больших массивов данных. Во-вторых, сортировка пузырьком не является стабильной, то есть она не сохраняет порядок элементов с одинаковыми значениями, если они находятся на разных расстояниях друг от друга.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🔥1
😁21🤣13👍3
Jinja 2 - это шаблонизатор для языка программирования Python. Он предоставляет удобные инструменты для создания динамических веб-страниц и генерации контента на основе шаблонов. Он основан на языке шаблонов Django и предоставляет более гибкую и простую в использовании альтернативу.

➡️Основные возможности Jinja 2

Jinja 2 обладает множеством полезных функций, которые делают его мощным инструментом для разработки веб-приложений. Одна из главных возможностей - это использование переменных и выражений в шаблонах. Вы можете передавать данные из вашего приложения в шаблон и использовать их для генерации контента динамически. Это позволяет создавать персонализированный контент для каждого пользователя.

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

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

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥4👍2
➡️Стандартная библиотека Python 3 содержит модуль pathlib, включающий в себя функцию Path(), достаточную для полноценной работы с файловыми путями.

➡️Одной из самых крутых фич в работе с путями является замена os.path.join() на более удобный и элегантный вариант, изображенный на картинке.

По сути эта библиотека заменяет ранее используемые для работы с путями функции из модуля os (например os.mkdir или os.path) на более удобные.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥3
🔎Библиотека Keras - это высокоуровневая нейронная сеть, написанная на языке Python. Она предоставляет простой и интуитивно понятный интерфейс для создания и обучения глубоких нейронных сетей. Благодаря своей простоте и гибкости, Keras позволяет разработчикам быстро создавать и испытывать различные модели машинного обучения.

➡️Преимущества Keras

Keras имеет несколько преимуществ, которые делают его популярным выбором среди разработчиков машинного обучения. Во-первых, Keras обладает простым и интуитивно понятным API, что делает его легко изучаемым и использованием даже для новичков. Во-вторых, Keras предоставляет множество предварительно обученных моделей, которые можно использовать для решения различных задач. Наконец, Keras обеспечивает высокую производительность и эффективность, благодаря использованию оптимизированных библиотек, таких как TensorFlow и Theano.

➡️Возможности Keras

Keras поддерживает широкий спектр возможностей машинного обучения. Он позволяет создавать и обучать различные типы нейронных сетей, включая полносвязные сети, сверточные нейронные сети и рекуррентные нейронные сети. Кроме того, Keras предоставляет инструменты для работы с изображениями, текстом и временными рядами. Он также поддерживает автоматическое распределение обучения на несколько GPU, что позволяет ускорить процесс обучения на больших данных.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5🔥2
😁18👍8🤣71
Всем привет👋

Сегодня для канала очень важный день❗️ За последние дни канал подвергся значительным изменениям, для подписчиков самое заметное будет - дизайн, он был полностью переработать в лучшую сторону. А так же контент, который будет совершенствоваться, будем стараться делать более информативные, полезные и интересные посты⬆️

🐍Сегодня уже выйдет новый пост, изменится дизайн и начнётся большая работа по расширению нашего небольшого комьюнити🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍76🤔2
Channel photo updated
🧠OpenAI Gym - это библиотека Python, которая предоставляет набор виртуальных сред для обучения агентов искусственного интеллекта. Среды Gym представляют собой упрощенные модели реальных задач, таких как игра в гольф, вождение автомобиля или управление роботом.

🔎Библиотека Gym может использоваться для:

➡️Для обучения агентов искусственного интеллекта, таких как нейронные сети и генетические алгоритмы.

➡️Для исследования искусственного интеллекта, например, для разработки новых алгоритмов обучения агентов.

➡️Для визуализации действий агентов искусственного интеллекта.

➡️OpenAI Gym предоставляет простой и интуитивно понятный интерфейс для взаимодействия с средами. Разработчики могут создавать агентов, определять действия, наблюдать состояния и получать обратную связь. Он также предлагает мощные инструменты для оценки и сравнения алгоритмов машинного обучения, позволяя разработчикам точно измерять производительность своих моделей.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍116🔥5
✈️itertools — Это удивительный инструмент, который помогает работать с итерациями (повторениями) в Python более эффективно.

➡️Основные функции itertools:

1. count(start, step): Генерирует бесконечную арифметическую прогрессию, начиная с start, с шагом step.

2. cycle(iterable): Бесконечно повторяет элементы из iterable.

3. chain(*iterables): Объединяет несколько итерируемых объектов в один последовательный поток.

4. zip_longest(*iterables, fillvalue=None):
Объединяет элементы из разных итерируемых объектов, даже если их длины различаются, то недостающее количество елментом заполнится заполнителем fillvalue.

➡️Пример использования:

import itertools

# Создаем бесконечную последовательность с шагом 2
counter = itertools.count(start=10, step=2)
for _ in range(5):
print(next(counter)) # Выведет числа: 10, 12, 14, 16, 18

# Объединяем несколько списков в один последовательный поток
letters = ['a', 'b', 'c']
numbers = [1, 2, 3]
combined = itertools.chain(letters, numbers)
print(list(combined)) # Выведет: ['a', 'b', 'c', 1, 2, 3]


➡️Вот официальная документация в которой максимально подробно расписано о itertools.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125🔥4😡1
🔎Бинарный поиск - это эффективный алгоритм поиска элемента в упорядоченном списке данных.

➡️Бинарный поиск основан на принципе "разделяй и властвуй". Он работает следующим образом: сначала мы определяем середину списка и сравниваем искомый элемент с этой серединой. Если элемент равен середине, то поиск завершается успешно. Если элемент меньше середины, то мы продолжаем поиск в левой половине списка. Если элемент больше середины, то мы продолжаем поиск в правой половине списка. Повторяем эти шаги до тех пор, пока не найдем искомый элемент или пока список не будет пустым.

➡️Вот пример реализации бинарного поиска на языке Python:

def binary_search(arr, target):
left = 0
right = len(arr) - 1

while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1

return -1

# Пример использования
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
target = 5
result = binary_search(arr, target)
if result != -1:
print("Элемент найден в позиции", result)
else:
print("Элемент не найден")


➡️Преимущества бинарного поиска

Бинарный поиск обладает несколькими преимуществами по сравнению с другими алгоритмами поиска. Во-первых, он имеет временную сложность O(log n), что делает его очень эффективным даже для больших списков данных. Во-вторых, он работает только с упорядоченными списками, что позволяет сократить количество операций поиска. И, наконец, бинарный поиск является универсальным и может быть применен для поиска элементов в любом упорядоченном списке данных.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍76🔥2
Forwarded from Pythoner
✈️Программисты, имеющие долгий опыт работы с Python, обычно ценят мощь и гибкость встроенных функций, таких как filter(). Этот инструмент предоставляет простой и эффективный способ фильтрации элементов последовательности в соответствии с заданным условием.

➡️Что делает функция filter()?

Функция filter() в Python принимает два аргумента: функцию и итерируемый объект (например, список, кортеж или другую последовательность). Она применяет заданную функцию к каждому элементу итерируемого объекта и возвращает итератор, содержащий только те элементы, для которых функция вернула True.

➡️Что нужно передать в функцию filter()?

1. Функцию фильтрации: Это функция, которая принимает один аргумент (элемент итерируемого объекта) и возвращает True или False, определяя, должен ли этот элемент быть включен в результирующий итератор.
2. Итерируемый объект: Это коллекция элементов, которые будут проверены на соответствие условию функции фильтрации.

➡️Где и зачем использовать функцию filter()?

filter() полезна там, где требуется отфильтровать элементы итерируемого объекта в соответствии с определенным условием. Она может быть использована для:

- Фильтрации списка: Удаление элементов списка, не соответствующих заданному условию.
- Устранения ненужных данных: Очистка данных от нежелательных значений или форматов.
- Обработки ввода пользователя: Фильтрация ввода пользователя для удаления ошибочных или неподходящих значений.
- Фильтрации данных из базы данных: Выборка данных из базы в соответствии с критериями фильтрации.

➡️Пример использования функции filter()

# Пример: отфильтровать список чисел, оставив только четные числа
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def is_even(n):
return n % 2 == 0

even_numbers = list(filter(is_even, numbers))
print(even_numbers) # Вывод: [2, 4, 6, 8, 10]


⬆️ В этом примере функция is_even() определяет, является ли число четным. Функция filter() применяет is_even() к каждому элементу списка numbers и возвращает новый список, содержащий только четные числа.

🔎 Функция filter() - мощный инструмент, который позволяет программистам Python легко фильтровать данные в соответствии с определенным условием, повышая читаемость и эффективность кода.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍136🔥2
😁22🤣9👍41🔥1😢1
➡️В программировании на языке Python существует множество способов форматирования строк. Один из самых удобных и мощных способов - использование f-строк. F-строки представляют собой специальный синтаксис, который позволяет вставлять значения переменных непосредственно в строку.

➡️Синтаксис f-строк

F-строки начинаются с префикса "f" перед открывающей кавычкой строки. Внутри строки можно использовать фигурные скобки "{}", в которых указываются переменные или выражения, значения которых нужно вставить. Например, вот простой пример использования f-строки:

name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")


⬆️В результате выполнения данного кода будет выведено сообщение: "My name is Alice and I am 25 years old." Здесь мы использовали фигурные скобки, чтобы указать места, где нужно вставить значения переменных name и age.

➡️Выражения внутри фигурных скобок

Внутри фигурных скобок можно не только указывать переменные, но и выполнять любые выражения. Например:

x = 10
y = 5
print(f"The sum of {x} and {y} is {x + y}.")


⬆️В результате выполнения данного кода будет выведено сообщение: "The sum of 10 and 5 is 15." Здесь мы использовали выражение {x + y} внутри фигурных скобок, чтобы получить сумму переменных x и y.

➡️Форматирование значений

F-строки также позволяют форматировать значения, которые вставляются в строку. Например, можно указать количество знаков после запятой для чисел или выровнять строки. Вот примеры:

pi = 3.14159265359
print(f"The value of pi is approximately {pi:.2f}.")


⬆️В результате выполнения данного кода будет выведено сообщение: "The value of pi is approximately 3.14." Здесь мы использовали форматирование значений с помощью двоеточия и точки с двумя знаками после запятой.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍74
✈️Строки в Python имеют свойство регистра — прописные и строчные буквы считаются разными символами.

➡️Для преобразования регистра используются методы строк:
str.upper() — преобразует строку к верхнему регистру.
str.lower() — преобразует строку к нижнему регистру.
str.swapcase() — меняет регистр каждого символа на противоположный.
str.capitalize() — делает первую букву заглавной, остальные строчными.

➡️Регистр конкретного символа можно проверить в строке методами:
str.isupper() — проверка на заглавный регистр.
str.islower() — проверка на строчный регистр.

🔎Регистр важно учитывать при сравнении строк на равенство.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍7🔥3
🔎 Все дело в том, что Python создан на языке 💻, и встроенные методы выполняются именно на этом языке. Это делает их более быстрыми, эффективными и оптимизированными.

➡️В итоге, использование встроенных инструментов не только упрощает код, но и повышает производительность программы. Так что советую отказаться от своих решений в пользу встроенных функций.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3
🤣19😢8🔥32😁2