Всем привет👋
Сегодня для канала очень важный день❗️ За последние дни канал подвергся значительным изменениям, для подписчиков самое заметное будет - дизайн, он был полностью переработать в лучшую сторону. А так же контент, который будет совершенствоваться, будем стараться делать более информативные, полезные и интересные посты⬆️
🐍 Сегодня уже выйдет новый пост, изменится дизайн и начнётся большая работа по расширению нашего небольшого комьюнити🚀
Сегодня для канала очень важный день
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍7❤6🤔2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤6🔥5
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]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5🔥4😡1
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), что делает его очень эффективным даже для больших списков данных. Во-вторых, он работает только с упорядоченными списками, что позволяет сократить количество операций поиска. И, наконец, бинарный поиск является универсальным и может быть применен для поиска элементов в любом упорядоченном списке данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤6🔥2
Forwarded from Pythoner
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 легко фильтровать данные в соответствии с определенным условием, повышая читаемость и эффективность кода.Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤6🔥2
F-строки начинаются с префикса "f" перед открывающей кавычкой строки. Внутри строки можно использовать фигурные скобки "{}", в которых указываются переменные или выражения, значения которых нужно вставить. Например, вот простой пример использования f-строки:
name = "Alice"
age = 25
print(f"My name is {name} and I am {age} years old.")
Внутри фигурных скобок можно не только указывать переменные, но и выполнять любые выражения. Например:
x = 10
y = 5
print(f"The sum of {x} and {y} is {x + y}.")
F-строки также позволяют форматировать значения, которые вставляются в строку. Например, можно указать количество знаков после запятой для чисел или выровнять строки. Вот примеры:
pi = 3.14159265359
print(f"The value of pi is approximately {pi:.2f}.")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍7❤4
str.upper() — преобразует строку к верхнему регистру.str.lower() — преобразует строку к нижнему регистру.str.swapcase() — меняет регистр каждого символа на противоположный.str.capitalize() — делает первую букву заглавной, остальные строчными.str.isupper() — проверка на заглавный регистр.str.islower() — проверка на строчный регистр.Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍7🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥3
zipfile, который предоставляет функционал для работы с архивами ZIP. import zipfile
# Создаем новый ZIP файл
with zipfile.ZipFile('новый_архив.zip', 'w') as new_zip:
# Добавляем файлы в архив
new_zip.write('file1.txt')
new_zip.write('file2.txt')
# Можно добавить еще файлы по мере необходимости
zipfile обладает широкими возможностями, позволяя извлекать файлы, читать содержимое архива, добавлять и удалять файлы, а также многое другое. Это удобный инструмент, который позволяет манипулировать архивами непосредственно из кода Python.Если вам интересно узнать больше о модуле zipfile или экспериментировать с архивами в Python, рекомендую обратиться к официальной документации Python.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤5👍4
Давайте рассмотрим пример создания связанного списка на языке программирования 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤5🔥5
if (x := some_function()) > 10:
print("x is greater than 10")
else:
print("x is less than or equal to 10")
Оператор моржа предлагает несколько преимуществ, которые могут значительно упростить кодирование. Во-первых, он позволяет объединить проверку условия и присваивание значения в одной строке, что делает код более компактным и легким для чтения. Во-вторых, он устраняет необходимость использования временных переменных для хранения результатов выражений, что уменьшает количество кода и повышает эффективность. Наконец, оператор моржа может быть использован в циклах, что позволяет более эффективно использовать ресурсы и улучшить производительность программы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥5⚡4❤1
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
👍9❤5🔥2
@override используется для переопределения методов в классах-наследниках. Он позволяет указать, что метод в подклассе переопределяет метод базового класса.— Повышения читабельности кода, так как сразу видно, какие методы переопределены.
— Выявления ошибок: если имя метода в дочернем классе не совпадает с именем в родительском, будет выдана ошибка.
— Проверки типов аргументов: декоратор гарантирует, что типы аргументов совпадают с базовым методом.
do_semething в ChildClass переопределяет метод базового класса AbstractClass с помощью декоратора @override. Это делает код более понятным и безопасным.Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥4👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤6👍5
Для начала, давайте создадим класс, который будет представлять людей. Класс будет иметь атрибуты "имя" и "возраст". Вот пример такого класса:
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, мы можем написать следующий код:
first_person_name = people[0].name
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍8🔥3🗿2
