Python_No_Panic
2.06K subscribers
123 photos
18 videos
49 links
Самый перспективный, полезный и ламповый канал по Python в русскоязычном телеграме!

Обучающие посты в хронологическом порядке, посты по софт скиллам и чат, где вам всегда помогут админы и комьюнити.

Сотрудничество:
@Niik_Whaale
Download Telegram
Как повысить эффективность алгоритмов ч.1

Мы с вами уже начали говорить про алгоритмы, но мы совершено забыли обсудить их эффективность. В сегодняшнем посте мы не будем говорить о том, как измерять эффективность алгоритма, но поговорим о том, как его улучшить. Мы разделили наш пост на две части, чтобы вам было удобнее читать и использовать наш материал.

Для того, чтобы сделать ваш алгоритм более быстрым и эффективным, вы можете выполнить следующие действия:

Оптимизируйте сам алгоритм. Ищите способы упростить логику алгоритма, чтобы уменьшить количество шагов, необходимых для его выполнения.

Используйте более эффективные структуры данных. Рассмотрите возможность использования структур данных, оптимизированных для определенного типа выполняемых операций.

Распараллелить алгоритм. Если алгоритм можно разделить на более мелкие независимые задачи, рассмотрите возможность одновременного запуска этих задач на нескольких процессорах или компьютерах.

Надеемся, что вы нашли для себя полезные шаги для оптимизации ваших алгоритмов. В следующем посте мы обсудим новые методики для улучшения ваших алгоритмов.

Поддержите нас реакцией, ваша обратная связь очень важна для нас.

Всем отличного и продуктивного дня!

#learning_python #algorithms
🔥7💯2👍1
Поговорим про Django

Django — это высокоуровневая веб-инфраструктура Python, которая позволяет быстро разрабатывать безопасные и удобные в обслуживании веб-сайты. Фреймворк следует архитектурному шаблону модель-шаблон-представление и предоставляет полнофункциональную структуру для создания динамических веб-сайтов и веб-приложений.

Вот некоторые из ключевых особенностей Django:

Маршрутизация URL-адресов — Django позволяет вам сопоставлять URL-адреса с представлениями чистым и организованным способом.

Объектно-реляционное сопоставление (ORM) — платформа предоставляет высокоуровневый API базы данных, который упрощает взаимодействие с вашими базами данных с помощью кода Python.

Встроенная панель администратора. Django поставляется со встроенной панелью администратора, которая предоставляет веб-интерфейс для управления данными приложения.

Безопасность. Django имеет ряд встроенных функций безопасности, таких как защита от межсайтового скриптинга (XSS), подделки межсайтовых запросов (CSRF) и атак путем внедрения SQL.

Модульный дизайн. Django имеет модульный дизайн, который упрощает повторное использование кода и расширение существующей функциональности.

В целом, Django — это мощная и гибкая веб-инфраструктура, которая упрощает создание надежных и масштабируемых веб-приложений.

Надеемся, мы смогли вам помочь разобраться в том, что такое Django, и с чем его едят. В следующих постах мы начнем разбирать этот фреймворк более подробно.

Всем прекрасного дня!

#learning_python #learning_django
🔥81
Как повысить эффективность алгоритма ч.2

Всем привет! В прошлом посте мы говорили про Django, а сегодня вернемся к беседе об увеличении эффективности наших алгоритмов. Как вы помните, от эффективности наших алгоритмов будет зависеть работа и быстродействие нашей программы. Во второй части мы добавили несколько пунктов к уже имеющимся, а именно:

Использование кэширования или запоминания. Храните результаты дорогостоящих вычислений в памяти, чтобы их не приходилось пересчитывать каждый раз при запуске алгоритма.

Уменьшение размера входных данных. Если возможно, попробуйте уменьшить размер набора входных данных, чтобы ускорить вычисления.

Предварительная обработка. При необходимости рассмотрите возможность выполнения любой необходимой предварительной обработки перед запуском основного алгоритма, чтобы уменьшить объем работы, которую он должен выполнить.

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

‌Надеемся, вы будете учитывать изложенные выше практики в своей работе. Мы желаем вам написания только эффективных программ и быстрых алгоритмов.

Всем отличного настроения!

#learning_python #algorithms
4
Словари!

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

Словарь в Python — это структура данных, которая сопоставляет ключи со значениями. Это неупорядоченный набор пар ключ-значение, где каждый ключ уникален и используется для получения связанного с ним значения. Ключи в словаре могут относиться к любому хешируемому типу данных, например к целым числам, строкам или кортежам, а значения могут относиться к любому типу данных, включая другие словари.

Вот пример того, как вы можете создать и использовать словарь в Python:

Создание словаря

dict = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}

Доступ к значениям с помощью ключей

print(dict['key1'])

Вывод: значение1

Добавление новой пары ключ-значение

dict['key4'] = 'value4'

Обновление значения ключа

dict['key1'] = 'new_value1'

Удаление пары ключ-значение

del dict['key2']

Цикл по словарю

for key, value in dict.items():

print(key, ':', value)

Надеемся вам поможет наш материал в устранении пробелов по этой теме. Ставьте ваши лайки и пишите предложения в комментариях. Ваша обратная связь очень цена для нас. Всем отличного настроения!
9👍6👎1
Что такое пузырьковая сортировка

В прошлом посте мы рассказали вам о такой важной теме как словари. А сегодня поговорим о чем-то более замысловатом, но в меру сложном. Мы вправду хотим подробно рассказать вам о том, как пройти техническое интервью не в самые простые компании. Наша задача состоит в том, чтобы помочь вам расти и быть вашим каналом-помощником в обучении. Так что надеемся, что этот пост будет для вам действительно полезен. А теперь к делу!

Пузырьковая сортировка — это простой алгоритм сортировки, который многократно проходит по списку, сравнивает соседние элементы и меняет их местами, если они расположены в неправильном порядке. Алгоритм получил свое название из-за того, что более мелкие элементы «всплывают» вверх списка. Вот реализация Python алгоритма пузырьковой сортировки выглядит следующим образом:

def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]

В приведенном выше коде arr — это список для сортировки, а n — длина списка. Внешний цикл для i в диапазоне (n) проходит через все элементы в массиве. Внутренний цикл для j в диапазоне (0, n-i-1) проходит через несортированную часть списка. Оператор if arr[j] > arr[j+1] проверяет, больше ли текущий элемент, чем следующий элемент, и если это так, то два элемента меняются местами.

Анализ временной сложности:

Временная сложность алгоритма пузырьковой сортировки составляет O(n^2), где n — количество элементов в списке. Это связано с тем, что в худшем случае внутренний цикл будет выполняться n*(n-1) раз, что дает в общей сложности n^2 - n итераций.

Надеемся, что этот пост вам понравился и вы поддержите нашу работу лайком. Если у вас есть предложения или идеи для наших дальнейших постов, то мы готовы вас выслушать и работать как партнеры!

Отличного вам настроения!

#learning_python_algorithms
👍17💯2🍌1
Реализация и анализ сортировки выбором

Всем привет! Совсем недавно мы говорили с вами про bubble sort - сортировку пузырьком. А теперь пришло время говорить о более быстрых алгоритмах, так как в прошлом посте мы выяснили, что сортировка пузырьком хоть и выполняет свою задачу, но делает это не очень эффективно. И так начнем:

Сортировка выбором — это простой алгоритм сортировки, который многократно находит минимальный элемент из несортированной части массива и помещает его в начало массива. Он работает, выбирая наименьший элемент и заменяя его элементом в текущей позиции, пока весь массив не будет отсортирован.

Вот реализация сортировки выбором в Python:

def selection_sort(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr

Внешний цикл проходит от 0 до n-1, где n — длина массива. На каждой итерации минимальный элемент находится из несортированной части массива (т. е. от i+1 до n-1) с помощью внутреннего цикла. Затем минимальный элемент заменяется элементом в текущей позиции (т. е. i).

Временная сложность:

Временная сложность сортировки выбором O (n ^ 2)

Надеемся вам понравился наш разбор сортировки выбором. Если у вас есть какие-то предложение, то пишите их в комментариях. Также не забудьте поставить вашу реакцию на этот пост, ведь именно это мотивирует нас делать крутой контент.

Всем отличного дня!

#learning_python_algorithms
👍113
Реализация и анализ Insertion Sort

Всем привет!
Мы продолжаем радовать вас контентом, который обычно заставляет нас боятся собеседований. Надеемся вы пытаетесь осмыслить все алгоритмы, которые мы тут с вами разбираем, ведь совсем скоро вступим в бой с задачками на лит код и будем устранять все пробелы в наших знаниях.
Если вы забыли про что мы говорили в предыдущем посте, то мы советуем освежить его в памяти, перейдя по этой ссылке. А теперь вернемся к нашим красивым алгоритмам :)

Сегодня разговор пойдет про insertion sort.
Алгоритм работает, перебирая массив и вставляя каждый элемент в правильное положение в отсортированной части массива.

Реализация алгоритма:

def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
while j >= 0 and key < arr[j] :
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key

Вот как работает алгоритм:

⚡️ Мы начинаем со второго элемента массива (i=1) и предполагаем, что первый элемент (i=0) уже отсортирован.
⚡️ Мы сохраняем текущий элемент в переменной с именем key.
⚡️ Мы сравниваем ключ с каждым предшествующим ему элементом (j=i-1), начиная с последнего элемента отсортированной части массива, и перемещаем все элементы, которые больше ключа, на одну позицию вправо.
⚡️ Мы вставляем ключ в правильное положение в отсортированной части массива, вставляя его после последнего элемента, который меньше или равен ключу.
⚡️ Мы повторяем этот процесс для каждого элемента массива.

Временная сложность:
O(n)

Надеемся вам нравится наш материал. Если у вас есть какие-то предложения или идеи, то не стесняйтесь их озвучивать в комментариях. Мы желаем вам успехов в изучении алгоритмов и суперского настроения!

#learning_python_algorithms
5👍2💩2🆒2
Подход «divide-and-conquer» в программировании 💪

Всем привет! В прошлом посте мы говорили об Insertion Sort. А сегодня нам нужно двигаться дальше в нашей подготовке к собеседованию на крутую работу. Сегодня мы поговорим с вами про подходы в программировании. Начнем мы с подхода «разделяй и властвуй». И так давайте узнаем что это такое и зачем нам вообще знать про этот подход :) И так начнем!

Подход «разделяй и властвуй» — это стратегия решения проблем, которая включает в себя разбиение большой проблемы на более мелкие подзадачи, их независимое решение, а затем объединение решений для исходной проблемы.

Подход «разделяй и властвуй» работает путем рекурсивного разделения проблемы на более мелкие подзадачи до тех пор, пока они не станут достаточно простыми для непосредственного решения. Затем решения подзадач объединяются для получения решения исходной задачи. Ключевая идея этого подхода заключается в том, что если мы можем эффективно решить подзадачи, то мы также сможем эффективно решить исходную задачу.

Подход «разделяй и властвуй» используется во многих алгоритмах.

К примеру, в алгоритмах сортировки: Merge Sort and Quick Sort.

Или в алгоритмах поиска: Binary Search

А также в алгоритмах умножения матриц: Strassen's Algorithm.

Основные этапы подхода «разделяй и властвуй»:

👑 Разделите проблему на более мелкие подзадачи.
👑 Сделайте эффективное и правильное решение для подзадачи.
👑 Объедините решения подзадач, чтобы получить решение исходной задачи.

Подход «разделяй и властвуй» — это мощная техника решения проблем, которую можно использовать для эффективного решения многих сложных задач. Однако важно правильно выбирать подзадачи и верно комбинировать их решения, чтобы получить желаемый результат.

Надеемся вы узнали что-то новое из нашего поста. Оставляйте свои комментарии и реакции под этим материалом.

Всем отличного настроения и продолжения дня!

#learning_python_algorithms
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Реализация и анализ алгоритма Quicksort

Всем привет!
В прошлом посте мы разбирали merge sort, а сегодня поговорим про один из самых крутых алгоритмов сортировки - quicksort. И так по нашей традиции мы советуем вам налить чаю и погрузится в чтение нашего материала.

Что за алгоритм?

Быстрая сортировка — это широко используемый алгоритм сортировки, использующий подход «разделяй и властвуй» для сортировки массива элементов. Он был разработан Тони Хоаром в 1959 году и до сих пор считается одним из самых эффективных алгоритмов сортировки.

Реализация алгоритма:

def quicksort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = [x for x in arr[1:] if x < pivot]
right = [x for x in arr[1:] if x >= pivot]
return quicksort(left) + [pivot] + quicksort(right)

Функция quicksort() принимает на вход массив arr и сортирует его с помощью алгоритма quicksort. Алгоритм работает, выбирая опорный элемент, разбивая массив вокруг опоры и рекурсивно сортируя подмассивы.

Вот как работает алгоритм:
Если длина массива меньше или равна 1, массив уже отсортирован и мы можем просто вернуть его.
В противном случае мы выбираем опорный элемент (в данном случае первый элемент массива).
Мы разбиваем массив на два подмассива: один содержит все элементы, меньшие опорного, а другой содержит все элементы, большие или равные опорному.
Мы рекурсивно сортируем два подмассива, вызывая quicksort() для каждого из них.
Мы объединяем отсортированные подмассивы со сводным элементом между ними.

Временная сложность:
O(n*log n)

Надеемся вам понравился наш пост. Оставляйте ваши реакции и пишите комментарии.

Суперского вам настроения!

#learning_python_algorithms
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
Что такое heap и как использовать эту структуру данных на Python

Всем привет! В прошлом посте мы с вами разбирали очень крутой алгоритм сортировки, но как вы помните, не совсем был прост этот малый. Сегодня мы поговорим с вами про интересную структуру данных и ее использование на Python. Встречайте нашего героя - «heap» или «куча». Пост будет в двух частях, не забудьте про ваш теплый напиток или может уже холодненький, вроде уже теплеет. И так поехали:

Структура данных кучи представляет собой структуру данных на основе двоичного дерева, в которой каждый узел либо больше или равен (максимальная куча), либо меньше или равен (минимальная куча) своих дочерних элементов. В Python модуль «heapq» обеспечивает реализацию структуры данных кучи.

Вот пример того, как создать кучу в Python:

import heapq

heap = []

heapq.heappush(heap, 5)
heapq.heappush(heap, 3)
heapq.heappush(heap, 7)
heapq.heappush(heap, 1)


print(heap) # Вывод: [1, 3, 7, 5]

Функция «heappush» добавляет элемент в кучу и поддерживает свойство кучи. Наименьший элемент всегда находится в корне кучи.

Чтобы удалить наименьший элемент из кучи, вы можете использовать функцию «heappop»:

import heapq

heap = [1, 3, 7, 5]

smallest = heapq.heappop(heap)

print(smallest) # Вывод: 1
print(heap) # Вывод: [3, 5, 7]

В следующем посте мы поговорим с вами про временную сложность наших методов, а также разберем методы: «heapify», «heapreplace».

Ставьте ваши реакции на этот пост, если он вам понравился, также мы всегда рады вас услышать в комментариях.

Всем классного дня!
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2👎1🔥1
Зачем нам методы «heapify» и «heapreplace» у структуры данных «heap» и какая у них временная сложность? 👋

Всем привет! В прошлом посте мы с вами разбирались со структурой данных «heap». Сегодня мы продолжим с вами наше знакомство с ее методами. Мы рассмотрим методы: «heapify» и «heapreplace». И так по нашей традиции мы предлагаем вам взять какой-нибудь весенний напиток и устремиться к анализу материала. И так понеслись:

Метод «heapify» преобразовывает список в кучу:

import heapq

lst = [5, 3, 7, 1]

heapq.heapify(lst)

print(lst) # Вывод: [1, 3, 7, 5]

Метод «heapreplace» удаляет наименьший элемент из кучи и добавляет новый элемент за одну операцию:

import heapq

heap = [1, 3, 7, 5]

smallest = heapq.heapreplace(heap, 2)

print(smallest) # Вывод: 1
print(heap) # Вывод: [2, 3, 7, 5]

Временная сложность «heappush», «heappop» «heapreplace» равна O(log n), где n — количество элементов в куче. Временная сложность «heapify» равна O(n), где n — количество элементов в списке.

Надеемся наш материал был интересен для вас. Мы ждем ваших реакций и комментариев под этим постом.

Отличного вам завершения дня и хорошего настроения!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎21💩1
Всем привет!

Сегодня у нас для вас мини викторина. Можете проверить свои знания в Python и ответить на следующий вопрос: Какое из следующих утверждений верно об сериализации в программировании?
Anonymous Quiz
52%
это преобразование состояния объекта в поток байтов, который отправлен по сети или сохранен в файле
38%
это преобразование байтового потока в состояние объекта, который может использоваться в памяти
10%
Сериализация используется только при веб-разработке.
Самый провальный проект с использованием Python

Всем привет!

В прошлом посте мы с вами говорили о методах «heapify» и «heapreplace».
Сегодня мы расскажем вам о проекте, который не смог достичь успеха, несмотря на использование Python и потенциальную выгоду для пользователей.

Tox был создан в 2013 году и был замечен сообществом Python благодаря своим амбициозным целям: предоставить разработчикам Python простой способ автоматизировать тестирование своих проектов на различных платформах.

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

Это привело к тому, что Tox стал использоваться только опытными разработчиками, а новичкам было трудно понять, как использовать инструмент.

Еще одной проблемой Tox было то, что он не мог успешно конкурировать с другими инструментами тестирования Python, такими как pytest и nose. Эти инструменты имели более простой и интуитивно понятный интерфейс, а также лучшую документацию и большее сообщество пользователей.

Кроме того, Tox столкнулся с проблемой поддержки и обновления. Несмотря на то, что инструмент был создан в 2013 году, его разработка замедлилась в последние годы, и в настоящее время Tox не получает достаточной поддержки со стороны сообщества Python.

Это означает, что Tox может не справляться с изменениями в Python и не будет работать с последними версиями языка.

В результате всех этих проблем Tox не смог достичь успеха и потерял свою популярность среди сообщества Python.

Надеемся, что вам понравилась наша статья! Если вы хотите узнать о еще каких-нибудь провальных/успешных проектах дайте нам знать комментарием и реакцией под этим постом!

Желаем вам солнечного дня!
👍2🔥2
Всем доброго вечера!

Пришло время для нашей ночной мини викторины, на этот раз вопрос будет попроще, но все равно советуем быть внимательными :) Что такое класс в объектно-ориентированном программировании?
Anonymous Quiz
7%
Тип данных, представляющий одно значение, например целое число или строку.
4%
Функция, не принимающая входных аргументов и не возвращающая выходных данных
87%
Шаблон для создания объектов, инкапсулирующих данные и поведение
2%
Встроенный метод, сортирующий список по возрастанию
Один из успешных проектов Python: Flask

Всем привет!

В прошлом посте мы говорили об одном из самых провальных проектов, а сегодня расскажем об одном из самых успешных!

Flask - легкая веб-инфраструктура на Python, созданная в 2010 году Армином Ронахером, которая позволяет быстро создавать веб-приложения. Flask гибок и модульный, что позволяет использовать только необходимые компоненты и легко расширять структуру проекта.

Он прост в использовании, что делает его идеальным выбором для небольших проектов и прототипов, но достаточно мощен для работы со сложными веб-приложениями. Flask также может интегрироваться с другими библиотеками и фреймворками Python, такими как NumPy, Pandas и Scikit-learn, что делает его мощным инструментом для приложений, управляемых данными.

Flask использовался в многих успешных проектах, включая онлайн-платформу для разработки игр Roblox и инструмент мониторинга социальных сетей Brandwatch. Flask - отличный выбор для веб-разработки в любой области.

Надеемся, что наша статья была полезна для вас. Оставляйте свои реакции и пишите коментарии, что бы мы знали, что вам интересно!

Желаем вам продуктивных выходных!
👍6🤨1
Прибыльная работа на Python: область Data Science

Всем привет!

Сегодня мы поговорим про одну из самых прибыльных работ на Python. Если вы еще не читали нашу статью про один из самых успешных проектов, то можете найти его выше⬆️

Data Scientist - это специалист, который занимается анализом данных и созданием моделей машинного обучения для решения различных задач, таких как прогнозирование продаж, определение мошеннических операций или классификация объектов на изображениях.

Задачи Data Scientist включают в себя: сбор и подготовку данных, анализ данных, разработку моделей машинного обучения и развертывание и масштабирование моделей. Python используется благодаря своей простоте, эффективности и широкому выбору библиотек для анализа данных и машинного обучения, таких как NumPy, Pandas, Scikit-learn, TensorFlow и другие.
Data Scientist должен уметь работать с различными источниками данных и преобразовывать их в удобный для анализа формат. Это может включать в себя очистку, преобразование и объединение данных. Для проведения исследовательского анализа данных, который поможет выявить скрытые закономерности и интересные факты, используются статистические методы, визуализация данных и машинное обучение.

Data Scientist должен создавать и оптимизировать модели машинного обучения для решения задач классификации, регрессии, кластеризации и т.д. Для этого используются различные алгоритмы машинного обучения, такие как линейная регрессия, случайный лес, нейронные сети и т.д.

Data Scientist также должен уметь развертывать и масштабировать модели машинного обучения в производственной среде, чтобы они могли обрабатывать большие объемы данных и обеспечивать высокую скорость обработки.

Зарплата Data Scientist может значительно варьироваться в зависимости от многих факторов, таких как опыт, уровень образования, размер компании, тип проекта и местоположение.

Если у вас есть вопросы/пожелания, не стесняйтесь их оставлять в комментариях.

Желаем вам отличного дня!
🔥4🍌1
Всем привет!

Сегодня мы снова подготовили для вас небольшую вечернюю викторину, что бы вы могли проверить свои знания. Уверены, что этот вопрос будет легким для вас! Какие парадигмы программирования поддерживает Python?
Anonymous Quiz
30%
Объектно-ориентированное программирование
1%
Структурное программирование
2%
Функциональное программирование
67%
Все перечисленные
5
Молодцы! Почти все ответили правильно на наш вопрос. А в этой статье вы как раз можете прочитать небольшое пояснение, если вдруг у кого-то были сомнения в своем ответе.

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

Процедурное программирование(Структурное программирование)
Процедурное программирование - это стиль программирования, в котором программа разбивается на подпрограммы, называемые процедурами или функциями. Python позволяет написать процедурный код, определяя функции и вызывая их в основной программе. Это позволяет упростить код, сделать его более читаемым и повторно используемым.

Объектно-ориентированное программирование
Python полностью поддерживает объектно-ориентированное программирование, что означает, что в нем можно создавать классы и объекты, а также использовать наследование, полиморфизм и инкапсуляцию. Объектно-ориентированное программирование позволяет создавать более структурированный код и упрощает разработку сложных приложений.

Функциональное программирование
Python поддерживает функциональное программирование, что означает, что функции могут использоваться как аргументы других функций, а также создаваться анонимные функции, используя лямбда-выражения. Функциональное программирование может упростить разработку приложений, поскольку оно позволяет использовать меньше кода и уменьшить количество ошибок.

Надеемся, что вам было полезно. Оставляйте свои реакции и комментарии, так мы видим, что вам действительно нравится наш контент!

Желаем вам приятного вечера!
👍5🔥1
Всем привет!

Сегодня мы продолжим проверять ваши знание по Python и предлагаем вам ответить на еще один вопрос. Чувствителен ли Python к регистру при работе с идентификаторами?
Anonymous Quiz
12%
Нет
81%
Да
3%
Зависимый от машины
4%
Все ответы неверные