PythonDev
74 subscribers
7 photos
1 video
18 files
60 links
Канал, где рассказывают по Python

Админ - @mistcoder, @ALRU8
Донат - https://t.me/send?start=IVawE0JR96oZ
Download Telegram
F строка:
name = "John"
age = 30
greeting = f"Hello, my name is {name} and I am {age} years old."
print(greeting)

В этом примере мы используем f-строку для создания строки greeting, которая содержит переменные name и age. Фигурные скобки {} используются для указания мест, где должны быть вставлены значения переменных.

Выполнение этой программы выведет следующий результат:

Hello, my name is John and I am 30 years old.

F-строка позволяет создавать строки с вставленными значениями переменных в более удобном и readable виде, чем традиционные методы форматирования строк.

Вы можете использовать f-строку для форматирования строк с любыми типами данных, включая числа, строки, списки и т.д. Например:
numbers = [1, 2, 3, 4, 5]
message = f"The numbers are: {', '.join(map(str, numbers))}"
print(message)

В этом примере мы используем f-строку для создания строки message, которая содержит список чисел, преобразованный в строку с помощью метода join(). Выполнение этой программы выведет следующий результат:

The numbers are: 1, 2, 3, 4, 5

F-строка также поддерживает форматирование чисел с помощью спецификаторов формата, таких как :d для целых чисел или :f для чисел с плавающей точкой. Например:
pi = 3.14159
message = f"Pi is approximately {pi:.2f}"
print(message)

В этом примере мы используем f-строку для создания строки message, которая содержит значение числа pi с двумя знаками после запятой. Выполнение этой программы выведет следующий результат:

Pi is approximately 3.14

#обучение
🔥11
Подобие строк в Python

from difflib import SequenceMatcher
s = SequenceMatcher(lambda x: x==" ", "Мама мыла раму", "Мама мыла малину")
print(s.ratio())

# 0.8

Метод ratio() возвращает меру подобия последовательностей в виде числа с плавающей точкой в диапазоне от 0 до 1

#обучение
👍21
Иногда бывает нужно продолжить вывод текста, не начиная его с новой строки. В этом случае просто добавьте при выводе параметр end.
print('Первая часть текста.', end=' ') 
print('Вторая часть текста.')

Вывод:
Первая часть текста. Вторая часть текста.

#обучение
👍21
Конкатекация строк
letters = ['p', 'y', 't', 'h', 'o', 'n']
word = "".join(letters)
print(word)

Вывод:
python

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

Более эффективное решение этой задачи заключается в использовании функции join()

#обучение
👍21
This media is not supported in your browser
VIEW IN TELEGRAM
TheGamifAI — нейронка, которая может заменить целую команду гейм разработчиков.

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

#сервис
🔥21
Скрипт простого поисковика файлов на вашем пк
import os

B file_name = input('Введите название искомово файла:')

for root, dirs, files in os.walk('/'):
if file_name in files:
file_path = os.path.join(root,file_name)
print(f'Файл найден {file_path}')
break
else:
print('Файл не найден :(')


#скрипт
👍22
Оператор «+» для конкатенации

«+» — простой и понятный для новичков оператор, но он не всегда является самым эффективным решением для конкатенации. Чем больше строк вам нужно соединить в одну, тем больше плюсов придётся добавить, а это засоряет код. Поэтому для конкатенации лучше всего использовать f-строки.

#неудобно
name = input("your name:")
print("Welcome, " + name + "!"

#удобно
name = input("your name:")
print(f'Welcome, {name}!')

#обучение
👍1🔥11
Как отформатировать многострочный вывод

Чтобы вывод напоминал аккуратную табличку, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это резервирует пространство из 10 символов

name1 = 'Александр'
name2 = 'Иван'
print(f'{name1:10}: заказчик')
print(f'{name2:10}: исполнитель')

#обучение
👍21
Злоупотребление импортом

Начинающие разработчики часто импортируют все имена из модулей.

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

#можно
from math import pi
print(pi)

#нельзя
import math
print(pi)

#обучение
👨‍💻22
random.choice
import random

list = (10, 20, 30, 40, 50)
random_element = random.choice(list)
print(random_element)

random.choice — это функция из модуля random, которая позволяет выбрать случайный элемент из последовательности, такой как список, кортеж или строка. Если же передать пустую последовательность, функция вызовет ошибку IndexError.

#обучение
🔥22
list.pop
list = [1, 2, 3, 4, 5]
elem = list.pop(2)
print(elem)
print(list)


Метод pop() используется для удаления и возврата элемента из списка. По умолчанию удаляется и возвращается последний элемент списка, но можно также указать индекс элемента, который нужно удалить и вернуть. Если список пуст, pop() вызовет исключение IndexError.

#обучение
👍22
Использование itertools для создания комбинаций

import itertools

items = ['A', 'B', 'C', 'D']
combinations = list(itertools.combinations(items, 3))
print(combinations)


Модуль itertools в Python предоставляет множество функций для работы с итераторами, позволяя эффективно создавать и манипулировать последовательностями. Одной из полезных функций этого модуля является itertools.combinations, которая позволяет легко создавать все возможные комбинации элементов из списка заданной длины.

#обучение

Использование функции itertools.combinations позволяет легко и эффективно создавать комбинации элементов из списка, упрощая решение задач, связанных с комбинаторикой и анализом данных.
👍22
Библиотека Progressbar

from progressbar import ProgressBar
import time

pbar = ProgressBar(maxval=5)
pbar.start()

for i in range(4):
pbar.update(i)
time.sleep(1)
pbar.finish()


Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение прогресса, чтобы пользователь не беспокоился, что программа не отвечает.

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

Все это очень интересно, но если мы начнем самостоятельно писать полосу прогресса, то отвлечемся от основного кода. К счастью, в python есть библиотека Progressbar, которая делает все за нас.

#обучение
👍22
Задаем ширину текста

import textwrap 
text = 'apple orange banana lemon mango grapefruit watermelon kiwi'
print(textwrap.fill(text, width = 24))


Метод fill() модуля textwrap разбивает text по строкам так, что каждая строка имеет не более width(в нашем случае 24) символов длиной.
Метод возвращает одну строку, содержащую заключенный абзац.

#обучение
🔥332👍1
statistics.median

import statistics

data = [1, 3, 5, 7, 9]
madian = statistics.median(data)
print(f"Медиана: {median}")


Функция median из модуля statistics используется для вычисления медианы списка чисел. Медиана — это элемент, который делит упорядоченный список пополам. Если список имеет нечетное количество элементов, то медиана — это значение в середине списка. Если список имеет четное количество элементов, то медиана — это среднее значение двух центральных элементов.🖥

#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👨‍💻22👍1
Теперь тут есть комментарии!
👨‍💻3🔥22
list.extend

list = [1, 2, 3]
list.extend([4, 5, 6])
print(list)
# [1, 2, 3, 4, 5, 6]


list = [1, 2, 3]
for i in range(4, 7):
list.extend([i])
print(list)
# [1, 2, 3, 4, 5, 6]


Метод extend() используется для добавления всех элементов из итерируемого объекта (например, списка, кортежа или строки) в конец другого списка. Этот метод позволяет объединить два списка или добавить несколько элементов в один список за один вызов.

#обучение
🔥3👨‍💻22👍1
Обрезаем фотографии с помощью Python

from PIL import Image
pict = Image.open('my_photo.jpg')
cord = (200, 200, 2000, 2000) #лево, верх, право, низ
new_pict = pict.crop(cord)
new_pict.show()


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

Координаты обрезанной поверхности представлены диагональными координатами. При этом первые две точки находятся (x, y) от верхней левой диагональной точки, а следующие две точки (x2, y2) также являются диагональной точкой снизу справа.

#обучение
👍21👨‍💻11
Как_устроен_Python_Гид_для_разработчиков,_программистов_и_интересующихся.pdf
5.4 MB
📖 Как устроен Python. Гид для разработчиков, программистов и интересующихся [2019] Харрисон

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

PythonDev

#книга
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1👨‍💻11
Pyomo_Моделирование_оптимизации_на_Python_2023_Бинум,_Хакебейл,.pdf
5.9 MB
📖 Pyomo. Моделирование оптимизации на Python [2023] Бинум М., Хакебейл Г., Харт У.

Книга содержит полное руководство по Pyomo (Python Optimization Modeling Objects) — пакету с открытым исходным кодом, предназначенному для формулирования и решения крупномасштабных задач оптимизации. Pyomo включает классы Python для определения разреженных множеств, параметров и переменных, с помощью которых записываются алгебраические выражения, определяющие целевые функции и ограничения. Кроме того, программу можно использовать как из командной строки, так и из интерактивного окружения Python, что сильно упрощает создание моделей Pyomo, применение различных оптимизаторов и изучение решений. Благодаря многочисленным примерам, иллюстрирующим различные способы формулирования моделей, книга прекрасно раскрывает широту средств моделирования, поддерживаемых Pyomo, и ее подходы к сложным практическим приложениям.

PythonDev

#книга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👨‍💻11
math.gcd

import math
a = 48
b = 18
#НОД для 48 и 18
result = math.gcd(a, b)
print(result) #6


Функция math.gcd используется для нахождения наибольшего общего делителя (НОД) двух чисел. Наибольший общий делитель (НОД) двух чисел — это наибольшее число, на которое оба числа делятся без остатка. В первом примере НОД чисел 48 и 18 равен 6, потому что 6 является наибольшим числом, которое делит и 48, и 18 нацело.

PythonDev

#обучение
👍3👨‍💻21