👍3🥰1
Python имеет множество встроенных функций. Одна из таких функций -
map(). Эта функция используется для преобразования каждого элемента в итерируемом объекте, таком как список или кортеж.Синтаксис функции
map() очень прост:map(function, iterable, ...)Первый аргумент - это функция, которая будет применена к каждому элементу итерируемого объекта. Второй аргумент - это итерируемый объект, который нужно преобразовать. Дополнительные аргументы могут быть добавлены для нескольких итерируемых объектов.
Пример использования функции
map():def square(x):Вывод:
return x ** 2
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))
[1, 4, 9, 16, 25]
map() часто используется вместе с лямбда-функциями, что делает код более компактным. Вот пример:numbers = [1, 2, 3, 4, 5]Вывод:
squared_numbers = map(lambda x: x ** 2, numbers)
print(list(squared_numbers))
[1, 4, 9, 16, 25]
Вы также можете использовать функцию
map() для преобразования нескольких списков одновременно. Вот пример:list1 = [1, 2, 3]Вывод:
list2 = [4, 5, 6]
summed_list = map(lambda x, y: x + y, list1, list2)
print(list(summed_list))
[5, 7, 9]Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
👍4❤1
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
У нас есть класс, с уже заданными в нем полями a = 5, b = 3. В классе так же есть метод res(), который возвращает результат суммы полей.
Создаем на основе класса объект a.
Далее, в переменную b присваиваем результат вызова A.res(a) —> вызвали метод через класс, а в self передали наш объект а —> получили сумму 5+3 = 8.
Далее c = a.res() —> вызываем метод уже через сам объект, но все равно сам объект идет в self. Получаем тоже 5 + 3 = 8
Проверка b == c —> 8 == 8 —> True
В этой задаче рассмотрены 2 способа вызова метода. Через класс, передавая объект, и через сам объект.
Создаем на основе класса объект a.
Далее, в переменную b присваиваем результат вызова A.res(a) —> вызвали метод через класс, а в self передали наш объект а —> получили сумму 5+3 = 8.
Далее c = a.res() —> вызываем метод уже через сам объект, но все равно сам объект идет в self. Получаем тоже 5 + 3 = 8
Проверка b == c —> 8 == 8 —> True
В этой задаче рассмотрены 2 способа вызова метода. Через класс, передавая объект, и через сам объект.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤯1
Функция time.sleep() используется для приостановки выполнения программы на определенное количество секунд. Это может быть полезно, когда вы хотите установить паузу между выполнением двух операций, чтобы дать вашей программе время на обработку данных или подключение к другим сервисам. Например, если вы хотите подключиться к веб-серверу и получить данные, то перед этим можете использовать функцию time.sleep() для установки паузы между отправкой запроса и получением ответа.
Функция time.sleep() принимает один аргумент - количество секунд, на которое нужно приостановить выполнение программы. Например, если вы хотите приостановить выполнение программы на 5 секунд, вы можете использовать следующий код:
import time
print("Начало выполнения программы")
# Приостановить выполнение программы на 5 секунд
time.sleep(5)
print("Программа завершила выполнение")Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Затянувшийся разбор, извиняюсь!
У нас отличный пример наследования. Так как класс Child наследуется от класса Parent, то __init__ Parent'a будет и __init__'ом Child'a.
Помним, что __init__ - это метод конструктор, вызывающийся при создании объекта.
Соответственно, создаем объект mark = Child('Mark') —> в поле name объекта помещается имя Mark.
Ну а далее метод info() выводит нам это имя на экран.
Ответ: Mark
У нас отличный пример наследования. Так как класс Child наследуется от класса Parent, то __init__ Parent'a будет и __init__'ом Child'a.
Помним, что __init__ - это метод конструктор, вызывающийся при создании объекта.
Соответственно, создаем объект mark = Child('Mark') —> в поле name объекта помещается имя Mark.
Ну а далее метод info() выводит нам это имя на экран.
Ответ: Mark
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Python Hub - сборище Питонистов
Хочу сказать спасибо всем, кто присылал решения на данную задачу!
Кто не присылал, присоединяйтесь следующий раз!😎
Начнем с разбора кода рекурсией.
Возьмем первое же решение. (они все схожи)
А теперь то же самое, только при помощи while. Ничего особо не меняем и... вуаля.
Скоро следующая задача!👨🎓
Кто не присылал, присоединяйтесь следующий раз!😎
Начнем с разбора кода рекурсией.
Возьмем первое же решение. (они все схожи)
def is_power_of_two(n): #Функция получает в себя число
if n == 1: #Проверка на то, что число равно 1
return "YES" #Возвращаем YES в ВЫЗОВ
elif n % 2 == 1: #Проверка на нечетность(степенью никак не может быть)
return "NO" #Возвращаем NO в ВЫЗОВ
else: #Иначе
return is_power_of_two(n//2) #Возвращаем вызов функции.
Хочется отметить, что возвращая вызов функции, мы вернем ТО, ЧТО ФУНКЦИЯ ВЕРНЕТ. То есть у нас получается возврат, возвращаемого значения. Надеюсь, поняли🙃.А теперь то же самое, только при помощи while. Ничего особо не меняем и... вуаля.
def is_power_of_two(n): #Функция получает в себя число
while True:
if n == 1: #Проверка на то, что число равно 1
return "YES" #Возвращаем YES в ВЫЗОВ
elif n % 2 == 1: #Проверка на нечетность(степенью никак не может быть)
return "NO" #Возвращаем NO в ВЫЗОВ
else: #Иначе
n = n//2 #Уменьшаем значение n
Cвои вопросы по этой или другим темам вы можете задавать сюда или в предложку.Скоро следующая задача!👨🎓
Telegram
PythonHub/Programemes [Предложка]
Бот-предложка. Отправь мне вопрос, сообщение или мем.
👍2👎1
👍3
Инкапсуляция - это один из четырех основных принципов объектно-ориентированного программирования. Она позволяет скрыть внутреннюю реализацию объекта от других объектов и защитить его состояние от неправильного использования.
В Python, чтобы скрыть атрибуты объекта, их нужно объявить как приватные, используя два подчеркивания перед именем атрибута. Например, для создания приватного атрибута
name нужно написать __name. Также для доступа к этому атрибуту извне класса нужно использовать специальные методы get и set.Метод
get возвращает значение приватного атрибута, а метод set устанавливает новое значение. Эти методы должны быть определены в самом классе. Например:class Person:#ООП #инкапсуляция
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
person = Person("John")
print(person.get_name()) # "John"
person.set_name("Mike")
print(person.get_name()) # "Mike"
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
К посту выше.
Для чего нужна инкапсуляция вообще?
- Защита данных от внешнего доступа
- Предотвращение случайных изменений данных
- Упрощение взаимодействия с объектами
- Сокрытие сложной логики работы объекта от пользователя
Будет ли код работать без нее?
- Да, будет
Для чего нужна инкапсуляция вообще?
- Защита данных от внешнего доступа
- Предотвращение случайных изменений данных
- Упрощение взаимодействия с объектами
- Сокрытие сложной логики работы объекта от пользователя
Будет ли код работать без нее?
- Да, будет
🔥5
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
В переменную а мы кладем число 10, переведенной в строковый формат —> str(10) —> "10"
В переменную b мы кладем результат вычисления, переведенный в строковый формат str( 1000 / 100 ) —> str(10.0) —> "10.0"
Далее выводим проверку на равенство. Очевидно, что два этих ТЕКСТА ( тип строки ) не равны.
Ответ: False
В переменную b мы кладем результат вычисления, переведенный в строковый формат str( 1000 / 100 ) —> str(10.0) —> "10.0"
Далее выводим проверку на равенство. Очевидно, что два этих ТЕКСТА ( тип строки ) не равны.
Ответ: False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что выдаст код выше?
Anonymous Quiz
2%
[]
39%
['a', 5, 'b', 2, 'c', 15]
7%
['a', 'b', 'c',]
37%
[('a', 5), ('b', 2), ('c', 15)]
7%
Error
7%
Не знаю
👍3
По умолчанию Django использует SQLite в качестве базы данных. SQLite - это легковесная база данных, которая хранит данные в одном файле. Она хорошо подходит для небольших приложений и тестирования, но может быть недостаточно мощной для крупных и сложных приложений. Если вы планируете создавать крупные приложения, вам, возможно, потребуется использовать другую базу данных.
Django также поддерживает PostgreSQL и MySQL в качестве баз данных. Эти базы данных могут обрабатывать большие объемы данных и подходят для крупных и сложных приложений. При использовании этих баз данных вы можете использовать мощные функции, такие как репликация, кластеризация и балансировка нагрузки, что делает их идеальным выбором для больших проектов.
#django
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
У нас есть словарь с данными.
Циклом мы пробегаемся по парам, благодаря конструкции .items(), заносим ключи в переменную i, а значения в j поочередно.
Далее, при помощи метода extend(), добавляем ключ и значение в наш список L, распаковав их.
Таким образом мы каждый раз добавляем в список распакованные ключ и значение из пары.
Циклом мы пробегаемся по парам, благодаря конструкции .items(), заносим ключи в переменную i, а значения в j поочередно.
Далее, при помощи метода extend(), добавляем ключ и значение в наш список L, распаковав их.
Таким образом мы каждый раз добавляем в список распакованные ключ и значение из пары.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👍3
https://www.youtube.com/watch?v=AhqRZiKZhS0&ab_channel=Shcoder
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Текст в голос на PYTHON | Преобразуем текст в речь
В этом видео мы посмотрим, как можно преобразовать текст в речь на языке программирования пайтон.
Используем библиотеку gtts для синтеза речи. Библиотеку pygame для воспроизведения аудиофайла.
Если вы хотели бы увидеть гайд по созданию голосового помощника…
Используем библиотеку gtts для синтеза речи. Библиотеку pygame для воспроизведения аудиофайла.
Если вы хотели бы увидеть гайд по созданию голосового помощника…
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Мы кладем в переменные a и b разные классы. Хоть и называются они одинаково, но у нас происходит пересоздание/переопределение. Если мы проверим через данные через команду id(a) , id(b) —> получим разные id'шники. Это абсолютно разные сущности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2