Python Hub - сборище Питонистов
رفتن به کانال در Telegram
Уголок счастья для любого питониста. Сотрудничество или заказы: @leshunist https://shcoder.dev - студия разработки ShcoderDevelopment https://t.me/pythonhub_chat - чат
نمایش بیشتر1 713
مشترکین
+124 ساعت
-107 روز
-2030 روز
آرشیو پست ها
Разбор 👨💻
Есть список a. Далее мы создаем переменную b - копию списка а.
Копия позволяет создать другой объект, но с тем же наполнением.
Проверка через is проверяет указывают ли переменные на один и тот же объект.
Ответ: нет —> False
⏺Оператор "is" в Python
Оператор "is" в Python сравнивает идентичность объектов, а не их эквивалентность. Это означает, что он проверяет, указывают ли две переменные на один и тот же объект в памяти. Если два объекта имеют одинаковое значение, это не обязательно означает, что они идентичны. Они могут быть разными объектами в памяти.
➡️ Примеры использования оператора "is"
Вот примеры использования оператора "is" в Python:
x = [1, 2, 3] y = x print(x is y) # TrueВ этом примере мы создали список "x" и присвоили его переменной "y". Затем мы использовали оператор "is", чтобы проверить, указывают ли "x" и "y" на один и тот же объект в памяти. Результатом является "True", потому что "x" и "y" указывают на один и тот же объект в памяти.
x = [1, 2, 3] y = [1, 2, 3] print(x is y) # FalseВ этом примере мы создали два разных списка "x" и "y", которые содержат одинаковые значения. Затем мы использовали оператор "is", чтобы проверить, указывают ли "x" и "y" на один и тот же объект в памяти. Результатом является "False", потому что "x" и "y" являются разными объектами в памяти, даже если они содержат одинаковые значения.
Разбор 👨💻
Мы кладем в переменные a и b разные классы. Хоть и называются они одинаково, но у нас происходит пересоздание/переопределение. Если мы проверим через данные через команду id(a) , id(b) —> получим разные id'шники. Это абсолютно разные сущности.
🔔 Как перевести текст в речь?
📹 Вышел короткий видос на ютубе c подробной инструкцией. Кому интересно, посмотрите и поддержите! 📹
https://www.youtube.com/watch?v=AhqRZiKZhS0&ab_channel=Shcoder
Разбор 👨💻
У нас есть словарь с данными.
Циклом мы пробегаемся по парам, благодаря конструкции .items(), заносим ключи в переменную i, а значения в j поочередно.
Далее, при помощи метода extend(), добавляем ключ и значение в наш список L, распаковав их.
Таким образом мы каждый раз добавляем в список распакованные ключ и значение из пары.
⏺ Какая база данных используется в Django?
➡️ SQLite
По умолчанию Django использует SQLite в качестве базы данных. SQLite - это легковесная база данных, которая хранит данные в одном файле. Она хорошо подходит для небольших приложений и тестирования, но может быть недостаточно мощной для крупных и сложных приложений. Если вы планируете создавать крупные приложения, вам, возможно, потребуется использовать другую базу данных.
➡️ PostgreSQL и MySQL
Django также поддерживает PostgreSQL и MySQL в качестве баз данных. Эти базы данных могут обрабатывать большие объемы данных и подходят для крупных и сложных приложений. При использовании этих баз данных вы можете использовать мощные функции, такие как репликация, кластеризация и балансировка нагрузки, что делает их идеальным выбором для больших проектов.
#django
Разбор 👨💻
В переменную а мы кладем число 10, переведенной в строковый формат —> str(10) —> "10"
В переменную b мы кладем результат вычисления, переведенный в строковый формат str( 1000 / 100 ) —> str(10.0) —> "10.0"
Далее выводим проверку на равенство. Очевидно, что два этих ТЕКСТА ( тип строки ) не равны.
Ответ: False
К посту выше.
Для чего нужна инкапсуляция вообще?
- Защита данных от внешнего доступа
- Предотвращение случайных изменений данных
- Упрощение взаимодействия с объектами
- Сокрытие сложной логики работы объекта от пользователя
Будет ли код работать без нее?
- Да, будет
⏺ Инкапсуляция в Python
Инкапсуляция - это один из четырех основных принципов объектно-ориентированного программирования. Она позволяет скрыть внутреннюю реализацию объекта от других объектов и защитить его состояние от неправильного использования.
➡️ Методы и атрибуты
В 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"
#ООП #инкапсуляцияХочу сказать спасибо всем, кто присылал решения на данную задачу!
Кто не присылал, присоединяйтесь следующий раз!😎
Начнем с разбора кода рекурсией.
Возьмем первое же решение. (они все схожи)
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вои вопросы по этой или другим темам вы можете задавать сюда или в предложку.
Скоро следующая задача!👨🎓Разбор 👨💻
Затянувшийся разбор, извиняюсь!
У нас отличный пример наследования. Так как класс Child наследуется от класса Parent, то __init__ Parent'a будет и __init__'ом Child'a.
Помним, что __init__ - это метод конструктор, вызывающийся при создании объекта.
Соответственно, создаем объект mark = Child('Mark') —> в поле name объекта помещается имя Mark.
Ну а далее метод info() выводит нам это имя на экран.
Ответ: Mark
⏺ Как использовать time.sleep()?
Функция time.sleep() используется для приостановки выполнения программы на определенное количество секунд. Это может быть полезно, когда вы хотите установить паузу между выполнением двух операций, чтобы дать вашей программе время на обработку данных или подключение к другим сервисам. Например, если вы хотите подключиться к веб-серверу и получить данные, то перед этим можете использовать функцию time.sleep() для установки паузы между отправкой запроса и получением ответа.
Функция time.sleep() принимает один аргумент - количество секунд, на которое нужно приостановить выполнение программы. Например, если вы хотите приостановить выполнение программы на 5 секунд, вы можете использовать следующий код:
import time
print("Начало выполнения программы")
# Приостановить выполнение программы на 5 секунд
time.sleep(5)
print("Программа завершила выполнение")
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
