В программировании на языке Python существует множество способов форматирования строк. Один из самых удобных и мощных способов - использование 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." Здесь мы использовали форматирование значений с помощью двоеточия и точки с двумя знаками после запятой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python Hub - сборище Питонистов
что выведет код выше?
Начнём с скобок, в которых кроется 50% процентов загадки
Скобки - это не структура данных, а просто группировка для правильной последовательности выполнения действий. Поэтому у нас переменная хранит число 25.
! Чтобы получить кортеж, нужно чтобы в скобках была хотябы одна запятая.
так, ("hello, world") является строкой, а вот ("hello, world",) уже структурой — кортежем.
type() возвращает класс типа данных аргумента. Если мы передадим строку, то получим класс str, если целое число, то int.
А если попробовать вывести класс, то получим вывод <class 'имя класса'>.
В итоге получаем вывод <class 'int'> !
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
👍4
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Если у функции указаны уже значения переменных в скобках аргументов, то эти значения будут подставлены по умолчанию, если в функцию не передадут данный параметр.
В нашей задаче в функцию передается 2 числа a,b , потом они складываются —> результат суммы возвращается из функции.
Если не было передано а, то по умолчанию оно будет равно 5, если не передано b, то b будет равно 1.
Сначала вычисляем суммы 3(передали) + 1(по умолчанию) = 4 и 5(по умолчанию) + 10(передали) = 15
Потом вычисляем сумму этих двух чисел —> 19
Вот и ответ.
В нашей задаче в функцию передается 2 числа a,b , потом они складываются —> результат суммы возвращается из функции.
Если не было передано а, то по умолчанию оно будет равно 5, если не передано b, то b будет равно 1.
Сначала вычисляем суммы 3(передали) + 1(по умолчанию) = 4 и 5(по умолчанию) + 10(передали) = 15
Потом вычисляем сумму этих двух чисел —> 19
Вот и ответ.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
В современном мире разработки программного обеспечения все больше и больше акцент делается на создании API (Application Programming Interface) для обмена данными между различными приложениями. Когда дело доходит до тестирования и отладки этих API, инструменты, такие как POSTMAN, становятся незаменимыми.
POSTMAN - это инструмент для тестирования и отладки API, который предоставляет разработчикам простой и удобный способ отправки HTTP-запросов и получения ответов. Он имеет интуитивно понятный пользовательский интерфейс, который позволяет легко создавать и отправлять запросы различных типов, таких как GET, POST, PUT и DELETE. POSTMAN также позволяет добавлять параметры запросов, заголовки и тело запроса, что делает его мощным инструментом для тестирования различных сценариев.
POSTMAN также обладает возможностью автоматизации тестирования API. С помощью коллекций запросов и сценариев, вы можете создавать наборы тестовых сценариев и запускать их в автоматическом режиме. Это особенно полезно при разработке и поддержке сложных API, где необходимо проверить множество различных запросов и ответов.
Сайт: https://www.postman.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
zipfile, который предоставляет функционал для работы с архивами ZIP. Давайте создадим простой пример, чтобы продемонстрировать его возможности:import zipfile
# Создаем новый ZIP файл
with zipfile.ZipFile('новый_архив.zip', 'w') as new_zip:
# Добавляем файлы в архив
new_zip.write('file1.txt')
new_zip.write('file2.txt')
# Можно добавить еще файлы по мере необходимости
Этот небольшой код создает новый ZIP архив под именем новый_архив.zip и помещает в него файлы file1.txt и file2.txt.
Модуль
zipfile обладает широкими возможностями, позволяя извлекать файлы, читать содержимое архива, добавлять и удалять файлы, а также многое другое. Это удобный инструмент, который позволяет манипулировать архивами непосредственно из кода Python.Если вам интересно узнать больше о модуле zipfile или экспериментировать с архивами в Python, рекомендую обратиться к официальной документации Python.Попробуйте создать свои собственные ZIP архивы, это интересно!
Please open Telegram to view this post
VIEW IN TELEGRAM
Python documentation
zipfile — Work with ZIP archives
Source code: Lib/zipfile/ The ZIP file format is a common archive and compression standard. This module provides tools to create, read, write, append, and list a ZIP file. Any advanced use of this ...
👍8🤯2
Кидайте ссылки, что еще можно потом спарсить)
https://www.youtube.com/watch?v=w2HGZYjOHcY
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
ПАРСЕР новостей с VCRU на PYTHON | Requests | Bs4
В этом видео мы создадим парсер для новостей с сайта vc.ru. Использовать для этого мы будем язык программирования пайтон и баблиотеки requests для того, чтобы отправлять запросы на сайт и BeautifulSoup из bs4, чтобы обрабатывать html код.
👨💻 Подписывайся…
👨💻 Подписывайся…
👍3
Linked List (связанный список) - это структура данных, которая позволяет хранить и организовывать элементы в памяти компьютера. Он состоит из узлов, каждый из которых содержит данные и ссылку на следующий узел. Отличительной особенностью связанного списка является то, что элементы могут быть расположены в разных областях памяти и связаны между собой с помощью ссылок.
Давайте рассмотрим пример создания связанного списка на языке программирования Python. Для начала, мы создадим класс Node, который будет представлять узел связанного списка. Каждый узел будет содержать данные и ссылку на следующий узел.
class Node:
def __init__(self, data):
self.data = data
self.next = None
Затем мы создадим класс LinkedList, который будет представлять сам связанный список. У него будет ссылка на первый узел списка (голова).
class LinkedList:
def __init__(self):
self.head = None
Теперь мы можем добавить методы для работы со связанным списком, такие как добавление элемента и вывод списка.
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
def display(self):
current = self.head
while current:
print(current.data)
current = current.next
Теперь мы можем создать экземпляр класса LinkedList и использовать его для создания и отображения связанного списка.
linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
linked_list.display()
Вывод:
1
2
3
🧐 А приходилось ли вам где-то применять знания Linked List'ов?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤯1
👍7
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
В переменную L будет помещен список [1, 1, 1, 2, 2, 2]
Далее мы считаем длину set'a этого списка. set убирает все повторяющиеся элементы —> длина 1, 2 —> 2
Далее то же самое, только со всей длиной списка —> 6
Задача на внимательность: выводим выражение 2 in 6 —> мы не можем in'ом проверять int в int'е.
Ответ: ошибка
кто попался? 💀
Далее мы считаем длину set'a этого списка. set убирает все повторяющиеся элементы —> длина 1, 2 —> 2
Далее то же самое, только со всей длиной списка —> 6
Задача на внимательность: выводим выражение 2 in 6 —> мы не можем in'ом проверять int в int'е.
Ответ: ошибка
кто попался?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2🤯1
В программировании, оператор моржа в Python, также известный как оператор присваивания с условием, является нововведением в версии Python 3.8. Он предоставляет удобный способ проверить условие и присвоить значение переменной, если условие истинно.
Оператор моржа в Python обозначается двумя символами ":= ", за которыми следует символ ">" для сравнения. Этот оператор может быть использован в выражениях if и while, чтобы одновременно проверить условие и присвоить значение переменной. Например:
if (x := some_function()) > 10:
print("x is greater than 10")
else:
print("x is less than or equal to 10")
В этом примере, если значение, возвращаемое функцией
some_function(), больше 10, то оно будет присвоено переменной x, и будет выведено сообщение "x is greater than 10". В противном случае будет выведено сообщение "x is less than or equal to 10".Оператор моржа предлагает несколько преимуществ, которые могут значительно упростить кодирование. Во-первых, он позволяет объединить проверку условия и присваивание значения в одной строке, что делает код более компактным и легким для чтения. Во-вторых, он устраняет необходимость использования временных переменных для хранения результатов выражений, что уменьшает количество кода и повышает эффективность. Наконец, оператор моржа может быть использован в циклах, что позволяет более эффективно использовать ресурсы и улучшить производительность программы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
secrets в Python: Защита вашей информацииsecrets предоставляет инструменты для создания безопасных случайных данных, сложнее предсказать.secrets:1.
secrets.choice(sequence): Выбирает случайный элемент из последовательности. Полезно для генерации случайных выборок или паролей из определенного набора символов.2.
secrets.randbelow(n): Возвращает случайное число от 0 до n-1. Используется для генерации случайных чисел в определенном диапазоне.3.
secrets.randbits(k): Генерирует k случайных битов. Полезно для создания случайных битовых строк или чисел.4.
secrets.token_bytes(nbytes=None): Генерирует безопасную случайную последовательность байтов длиной nbytes (по умолчанию - 32 байта).5.
secrets.token_hex(nbytes=None): Генерирует безопасную случайную строку в шестнадцатеричном формате длиной nbytes (по умолчанию - 32 байта).6.
secrets.token_urlsafe(nbytes=None): Генерирует безопасную случайную URL-совместимую строку длиной nbytes (по умолчанию - 32 байта).7.
secrets.compare_digest(a, b): Сравнивает две строки для предотвращения временных атак. Это полезно при сравнении хэшей паролей или токенов без утечки информации о длине сравниваемых строк.secrets лучше?-
secrets предоставляет криптографически безопасные данные, что делает их сложными для предсказания.- Эти функции обеспечивают высокий уровень безопасности при генерации случайных данных, паролей и токенов в Python.
Используйте модуль
secrets для защиты вашей информации и обеспечения безопасности ваших данных в Python. Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Если формат зайдет, то продолжим в том же духе!
https://www.youtube.com/watch?v=w3FlW2THtUk
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Рекурсия в Python | Как работает рекурсивная функция
В этом видео мы разберем, что такое рекурсия. Разберем, как работает рекурсия. Делать мы это будем на примере языка программирования Python.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 https://t.m…
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 https://t.m…
👍6
🤟 Суббота - время отдыхать и решать задачки на Codewars или leetcode? 🤟
💻 В этот раз задачи решаю на кодварс — закрываю год на любимом алгоритмическом сайте!
https://youtu.be/6y19_r6XxvE
https://youtu.be/6y19_r6XxvE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python предоставляет нам множество возможностей для работы с данными. Одной из таких возможностей является использование списков для хранения объектов. Сейчас мы рассмотрим, как создать класс, создать объекты на основе этого класса, поместить эти объекты в список и обратиться к ним.
Для начала, давайте создадим класс, который будет представлять людей. Класс будет иметь атрибуты "имя" и "возраст". Вот пример такого класса:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
Теперь, когда у нас есть класс, мы можем создать объекты на его основе. Например, давайте создадим двух людей:
person1 = Person("John", 25)
person2 = Person("Alice", 30)
Чтобы поместить объекты в список, мы можем использовать метод
append(). Например, чтобы создать список людей и добавить туда наших двух людей, мы можем написать следующий код:people = []
people.append(person1)
people.append(person2)
Теперь у нас есть список
people, в котором хранятся объекты, представляющие двух людей.Чтобы обратиться к объектам в списке, мы можем использовать индексы. Например, чтобы получить имя первого человека в списке
people, мы можем написать следующий код:first_person_name = people[0].name
Теперь в переменной
first_person_name будет храниться значение "John".Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
С наступающим 2024 годом!
От имени всей команды сообщества Shcoder, мы желаем вам бесконечного цикла успеха и счастья, чтобы ваш код всегда был чистым, а переменные — всегда именованными с любовью! 💻❤️
Пусть новый год принесет вам меньше багов, больше интересных проектов и нового опыта! 🎁🐞
Пусть ваши проекты будут масштабируемыми, а итерации — всегда успешными! 🔄🚀
Пусть у вас всегда будет актуальная и понятная документация! 📚🤝
С наступающим вас, Шкодеры! Пусть 2024 год будет полон новых версий ваших идей! 🥳🔍
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻5👍3🥰1🤯1
Кэширование результатов функций в Python 🐍
💬 Что такое кеширование?
Кеширование позволяет сохранять результаты выполнения функций, избегая повторных вычислений. Это полезно, особенно если функция часто вызывается с одними и теми же данными или выполняет сложные операции.
❓ Как это сделать?
В Python есть модуль
🥸 Зачем это нужно?
Кеширование ускоряет программу, сохраняя результаты вычислений функций. Это особенно полезно при работе с большими данными или сложными расчетами.
Пример:
💻 Теперь вы знаете, как использовать кеширование в Python для улучшения производительности кода.
Оставайтесь с нами для еще больше интересной информации о Python!😉
Кеширование позволяет сохранять результаты выполнения функций, избегая повторных вычислений. Это полезно, особенно если функция часто вызывается с одними и теми же данными или выполняет сложные операции.
В Python есть модуль
functools, включающий декоратор lru_cache, который автоматически кеширует результаты функции.Кеширование ускоряет программу, сохраняя результаты вычислений функций. Это особенно полезно при работе с большими данными или сложными расчетами.
Пример:
from functools import lru_cache
@lru_cache(maxsize=20) # 20 - это максимальное количество "запоминаний"
def fibonacci(n):
if n < 2:
return n
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10)) # Первый вызов - вычисляем
print(fibonacci(10)) # Результат уже закеширован
Оставайтесь с нами для еще больше интересной информации о Python!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5