Python Hub - сборище Питонистов
1.71K subscribers
657 photos
1 video
37 files
278 links
Уголок счастья для любого питониста.

Сотрудничество или заказы: @leshunist

https://shcoder.dev - студия разработки ShcoderDevelopment

https://t.me/pythonhub_chat - чат
Download Telegram
Оператор "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" являются разными объектами в памяти, даже если они содержат одинаковые значения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что выдаст код выше?
Anonymous Quiz
60%
True
33%
False
2%
Error
4%
Не знаю
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Есть список a. Далее мы создаем переменную b - копию списка а.
Копия позволяет создать другой объект, но с тем же наполнением.

Проверка через is проверяет указывают ли переменные на один и тот же объект.

Ответ: нет —> False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
*новая картинка
👍3
👀 Искал какой-нибудь roadmap для Python разработчика.

Важно, чтобы было картинкой и на русском. Может кому-то будет интересно и полезно.

Если у вас тоже есть roadmap, то поделитесь в комментариях🥹
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91🤝1
Python Hub - сборище Питонистов
*новая картинка
Разбор 👨‍💻

Мы создаем пустой список b.
Далее мы пробегаемся циклом по числам от 0 до 2, добавляя их в список b, а результаты, которые возвращает функция append() кладем в список a.

Порядочные люди знают, что append() ничего не возвращает —> возвращает None. Таким образом, ответом будет являться список из 3-ех None —> [None, None, None]

p.s. там даже случайно в других вариках была допущена ошибка. Список генерирует 3 элемента, а там списки, где доходит до 4-ех.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
▶️ Задача:
Число N по одной

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

*(усложнение)
При решении этой задачи нельзя использовать строки, списки, массивы, циклы. Разрешена только рекурсия и целочисленная арифметика. Использовать операцию получения остатка от деления, и операцию целочисленного деления.

Ответы пишите в комментарии или присылайте в предложку!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что выдаст Python код?
Anonymous Quiz
29%
True
37%
False
18%
None
8%
Error
8%
Не знаю
👍41
Что хранится в файле settings Django?


➡️ DEBUG - параметр, указывающий, включен ли режим отладки. При установке значения True включается режим отладки, который выводит дополнительную информацию об ошибках.

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

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

➡️ STATIC_URL - параметр, указывающий на путь к статическим файлам. Этот путь используется для обращения к статическим файлам в вашем приложении.

➡️ TEMPLATES - раздел, отвечающий за настройку шаблонов.

Это лишь некоторые из наиболее важных параметров, которые могут быть заданы в файле settings.py.
Настройки редактируются в процессе написания программы в зависимости от потребностей проекта.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

В одном из постов говорилось о том, что метод append() ничего не возвращает.
Поэтому сравнение в принте можно переписать —> not None == None

None == None ? Да! —> True. НО!
У нас же есть not. not True —> False

Ответ: False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Сразу отметим, что метод sort() сортирует исходный список и возвращает None.
Функция sorted() возвращает отсортированный список.

Получается, что на 3-й строке в b будет занесено None, а список a отсортируется.

Далее, в 4-й строке мы занесем отсортированный список в переменную c. (результат же возвращается)

Ну и теперь в принте осталось проверить:

[1, 2, 3, 10] == None , [1, 2, 3, 10] == [1, 2, 3, 10]

False, True
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Python Hub - сборище Питонистов
▶️ Задача: Число N по одной Дано натуральное число N. Выведите все его цифры по одной, в обратном порядке, разделяя их пробелами или новыми строками. *(усложнение) При решении этой задачи нельзя использовать строки, списки, массивы, циклы. Разрешена только…
▶️ Разберем задачу

Поступил только 1 ответ, поэтому начнем рассмотрение с него.

Создание анонимной функции s(), в которую требуется передать число.

s = lambda x: '' if not x else str(x%10)+'\n'+s(x//10)

Теперь давайте представим это в виде обычной функции для наглядности:

def s(x): # создаем функцию
if not x: #проверяем, что x != 0 <-- not 0 <-- not False <-- True
return '' # возвращаем пустой текст
else:
return str(x % 10) + '\n' + s(x // 10) #переводим остаток от деления на 10 в строку, прибавляем переход на новую строку, прибавляем вызов функции s (рекурсия), куда передаем число, деля его целочисленно на 10 --> обрубаем последнюю цифру, так как остаток уже достал нам ее

Суть заключается в том, что мы можем брать последнюю цифру числа при помощи остатка от деления на 10 ( x%10), а потом обрубать эту последнюю цифру при помощи целочисленного деления ( x//10).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Что выдаст код выше?
Anonymous Quiz
17%
-0.19
9%
0.19
43%
0.0
19%
Error
13%
Не знаю
👍4🤡4
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Все мы знаем, что round() округляет число до n знаков после точки.
Но что будет, если мы округлим до -n?
Он будет округлять целую часть, оставив в дробной .0

Вот наглядный пример:

value = 123456

print(round(value, -1))
# 123460
print(round(value, -2))
# 123500
print(round(value, -3))
# 123000
print(round(value, -4))
# 120000

В нашем случае получим 0.0, так как целой части нет, а дробной не останется.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2