Узнайте как работать из дома без навыков программирования и зарабатывать от 100.000 рублей в месяц на закрытом вебинаре от SkyPro
Специальный гость вебинара Карина kerry.catt — популярный блогер по релокации в США.
На эфире вы узнаете:
— 3 самых востребованных IT-профессии, где не надо ковыряться в коде.
— Примерите на себе профессию, которая подойдет именно вам.
— Узнаете как легко без опыта перейти в новую профессию меньше, чем за полгода.
Все участники получат в подарок гарантированную скидку на обучение новой профессии от SkyPro
Дата старта 27 апреля в 19:00 по МСК. Спешите зарегистрироваться, записи эфира не будет: https://clck.ru/34EbKc
Специальный гость вебинара Карина kerry.catt — популярный блогер по релокации в США.
На эфире вы узнаете:
— 3 самых востребованных IT-профессии, где не надо ковыряться в коде.
— Примерите на себе профессию, которая подойдет именно вам.
— Узнаете как легко без опыта перейти в новую профессию меньше, чем за полгода.
Все участники получат в подарок гарантированную скидку на обучение новой профессии от SkyPro
Дата старта 27 апреля в 19:00 по МСК. Спешите зарегистрироваться, записи эфира не будет: https://clck.ru/34EbKc
В глубине души мы все одинаковые (ч.1)
При id вызове Python создал объект WTF класса и передал его id функции. id Функция берет его id (его ячейку памяти) и выбрасывает объект. Объект уничтожен. Когда мы делаем это дважды подряд, Python выделяет ту же ячейку памяти и для этого второго объекта.
Поскольку (в CPython) id в качестве идентификатора объекта используется ячейка памяти, идентификатор двух объектов одинаков.
При id вызове Python создал объект WTF класса и передал его id функции. id Функция берет его id (его ячейку памяти) и выбрасывает объект. Объект уничтожен. Когда мы делаем это дважды подряд, Python выделяет ту же ячейку памяти и для этого второго объекта.
Поскольку (в CPython) id в качестве идентификатора объекта используется ячейка памяти, идентификатор двух объектов одинаков.
В глубине души мы все одинаковые (ч.2)
Идентификатор объекта уникален только на протяжении всего срока службы объекта. После уничтожения объекта или до его создания что-то еще может иметь тот же идентификатор.
Как вы можете заметить, порядок, в котором уничтожаются объекты, - это то, что имеет здесь решающее значение.
Идентификатор объекта уникален только на протяжении всего срока службы объекта. После уничтожения объекта или до его создания что-то еще может иметь тот же идентификатор.
Как вы можете заметить, порядок, в котором уничтожаются объекты, - это то, что имеет здесь решающее значение.
Заканчивается бесплатная раздача 3 курсов от Geekbrains общей стоимостью 23500 рублей, для старта в IT:
— Создание с нуля первой программы на Python
— Основы программирования
— Курс: как сменить профессию, трудоустроиться и обеспечить свою карьеру в IT
⚠️ Раздача действует еще 3 дня. Успейте забрать курсы, которые другие покупали за деньги: https://gb.ru/link/TU6vIN
— Создание с нуля первой программы на Python
— Основы программирования
— Курс: как сменить профессию, трудоустроиться и обеспечить свою карьеру в IT
⚠️ Раздача действует еще 3 дня. Успейте забрать курсы, которые другие покупали за деньги: https://gb.ru/link/TU6vIN
Беспорядок внутри порядка * (ч.1)
Причина, по которой непереходное равенство не соблюдалось среди dictionary, ordered_dict и another_ordered_dict, заключается в том, как eq метод реализован в OrderedDict классе.
А причина такого равенства в поведении заключается в том, что он позволяет OrderedDict заменять объекты напрямую везде, где используется обычный словарь.
Причина, по которой непереходное равенство не соблюдалось среди dictionary, ordered_dict и another_ordered_dict, заключается в том, как eq метод реализован в OrderedDict классе.
А причина такого равенства в поведении заключается в том, что он позволяет OrderedDict заменять объекты напрямую везде, где используется обычный словарь.
Беспорядок внутри порядка * (ч.2)
Хорошо, так почему изменение порядка повлияло на длину сгенерированного set объект? Ответ заключается только в отсутствии непереходного равенства.
Поскольку наборы представляют собой "неупорядоченные" коллекции уникальных элементов, порядок, в котором вставляются элементы, не должен иметь значения. Но в данном случае это действительно имеет значение.
Хорошо, так почему изменение порядка повлияло на длину сгенерированного set объект? Ответ заключается только в отсутствии непереходного равенства.
Поскольку наборы представляют собой "неупорядоченные" коллекции уникальных элементов, порядок, в котором вставляются элементы, не должен иметь значения. Но в данном случае это действительно имеет значение.
Продолжай пытаться... *
Когда return, break или continue инструкция выполняется в try набор инструкций "try ... finally", finally предложение также выполняется при выходе.
Возвращаемое значение функции определяется последним return выполняется инструкция. Поскольку finally предложение всегда выполняется, a return инструкция, выполняемая в finally предложение всегда будет выполняться последним.
Предостережение здесь в том, что если предложение finally выполняет return или break инструкция, временно сохраненное исключение отбрасывается.
Когда return, break или continue инструкция выполняется в try набор инструкций "try ... finally", finally предложение также выполняется при выходе.
Возвращаемое значение функции определяется последним return выполняется инструкция. Поскольку finally предложение всегда выполняется, a return инструкция, выполняемая в finally предложение всегда будет выполняться последним.
Предостережение здесь в том, что если предложение finally выполняет return или break инструкция, временно сохраненное исключение отбрасывается.
Ищем медработников, чтобы с нуля обучить профессии Data Scientist в медицине.
С помощью машинного обучения вы научитесь обрабатывать данные по сердечно-сосудистым заболеваниям, онкологии, сигналам ЭЭГ, рентгеновским изображениям, сможете ставить диагнозы, обнаруживать болезни и персонализировать лечение.
✅ Курс прекрасно подойдёт:
Медработникам
Освоите IT-специализацию в знакомой нише, увеличите доход и сможете улучшать жизнь сотен людей с помощью искусственного интеллекта.
Новичкам в Data Science
Станете специалистом по Data Science с нуля: освоите аналитику в медицине, бизнесе и других направлениях.
IT-специалистам
Поможем систематизировать знания в Data Science, ускорить карьерный рост и больше зарабатывать.
Вашими преподавателями станут эксперты из таких компаний как: Parexel, X5 Retail Group, NVIDIA, Pirogov AI.
Если после успешного обучения вы не найдёте работу, мы вернём вам деньги, ведь гарантия трудоустройства закреплена в договоре.
👉 Переходите по ссылке и получите курс со скидкой 61% и 3 месяца в подарок🔥
Реклама. ООО ГикБреинс. Государственная лицензия № 040485.
С помощью машинного обучения вы научитесь обрабатывать данные по сердечно-сосудистым заболеваниям, онкологии, сигналам ЭЭГ, рентгеновским изображениям, сможете ставить диагнозы, обнаруживать болезни и персонализировать лечение.
✅ Курс прекрасно подойдёт:
Медработникам
Освоите IT-специализацию в знакомой нише, увеличите доход и сможете улучшать жизнь сотен людей с помощью искусственного интеллекта.
Новичкам в Data Science
Станете специалистом по Data Science с нуля: освоите аналитику в медицине, бизнесе и других направлениях.
IT-специалистам
Поможем систематизировать знания в Data Science, ускорить карьерный рост и больше зарабатывать.
Вашими преподавателями станут эксперты из таких компаний как: Parexel, X5 Retail Group, NVIDIA, Pirogov AI.
Если после успешного обучения вы не найдёте работу, мы вернём вам деньги, ведь гарантия трудоустройства закреплена в договоре.
👉 Переходите по ссылке и получите курс со скидкой 61% и 3 месяца в подарок🔥
Реклама. ООО ГикБреинс. Государственная лицензия № 040485.
Для чего? (ч.1)
Оператор for определен в Python как:
В enumerate(some_string) функция выдает новое значение i (счетчик растет) и символ из some_string в каждой итерации. Затем он устанавливает (только что назначенный) i ключ к словарю some_dict к этому персонажу.
Оператор for определен в Python как:
for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]Где exprlist является ли назначение целевым. Это означает, что эквивалент {exprlist} = {next_value} выполняется для каждого элемента в итерируемом.
В enumerate(some_string) функция выдает новое значение i (счетчик растет) и символ из some_string в каждой итерации. Затем он устанавливает (только что назначенный) i ключ к словарю some_dict к этому персонажу.
Попробуйте себя в роли разработчика на Python, даже если никогда не занимались этим! На бесплатном онлайн-интенсиве Skillbox по программированию вы на практике попробуете себя в разработке на языке Python и узнаете, как работают его популярные алгоритмы. Проанализируете данные с помощью Data Science и освоите базовые навыки по разным направлениям IT, а также получите советы по развитию карьеры.
Подробная программа: https://epic.st/r_oriM
🎁 Всех участников ждут полезные подарки.
Выберите свой путь в мире IT с 4 по 6 мая в 19:00 по московскому времени.
Подробная программа: https://epic.st/r_oriM
🎁 Всех участников ждут полезные подарки.
Выберите свой путь в мире IT с 4 по 6 мая в 19:00 по московскому времени.
Для чего? (ч.2)
Оператор присваивания i = 10 никогда не влияет на итерации цикла из-за способа работы циклов for в Python. Перед началом каждой итерации следующий элемент, предоставляемый итератором (range(4) в данном случае) распаковывается и присваивается переменным целевого списка (i в данном случае).
Оператор присваивания i = 10 никогда не влияет на итерации цикла из-за способа работы циклов for в Python. Перед началом каждой итерации следующий элемент, предоставляемый итератором (range(4) в данном случае) распаковывается и присваивается переменным целевого списка (i в данном случае).
Несоответствие во времени оценки (ч.1)
В выражении генератора in предложение вычисляется во время объявления, но условное предложение вычисляется во время выполнения.
Итак, перед выполнением, array повторно присваивается списку [2, 8, 22], и поскольку из 1, 8 и 15 только количество 8 больше 0, генератор выдает только 8.
В выражении генератора in предложение вычисляется во время объявления, но условное предложение вычисляется во время выполнения.
Итак, перед выполнением, array повторно присваивается списку [2, 8, 22], и поскольку из 1, 8 и 15 только количество 8 больше 0, генератор выдает только 8.
Несоответствие во времени оценки (ч.2)
Различия в выходных данных g1 и g2 во второй части обусловлены тем, как переменным array_1 и array_2 повторно присваиваются значения.
В первом случае, array_1 привязан к новому объекту [1,2,3,4,5] и поскольку in предложение вычисляется во время объявления, оно все еще ссылается на старый объект [1,2,3,4] (который не уничтожается).
Во втором случае назначение фрагмента для array_2 обновляет тот же самый старый объект [1,2,3,4] до [1,2,3,4,5]. Следовательно, g2 и array_2 все еще имеют ссылку на один и тот же объект (который теперь был обновлен до [1,2,3,4,5]).
Различия в выходных данных g1 и g2 во второй части обусловлены тем, как переменным array_1 и array_2 повторно присваиваются значения.
В первом случае, array_1 привязан к новому объекту [1,2,3,4,5] и поскольку in предложение вычисляется во время объявления, оно все еще ссылается на старый объект [1,2,3,4] (который не уничтожается).
Во втором случае назначение фрагмента для array_2 обновляет тот же самый старый объект [1,2,3,4] до [1,2,3,4,5]. Следовательно, g2 и array_2 все еще имеют ссылку на один и тот же объект (который теперь был обновлен до [1,2,3,4,5]).
Несоответствие во времени оценки (ч.3)
Хорошо, следуя логике, обсуждавшиеся до сих пор, не должно ли значение list(gen) в третьем фрагменте быть [11, 21, 31, 12, 22, 32, 13, 23, 33]? (потому что array_3 и array_4 будут вести себя точно так же, как array_1). Причина, по которой были обновлены (только) array_4 значения, объясняется в PEP-289.
Немедленно вычисляется только самое внешнее выражение for, остальные выражения откладываются до запуска генератора.
Хорошо, следуя логике, обсуждавшиеся до сих пор, не должно ли значение list(gen) в третьем фрагменте быть [11, 21, 31, 12, 22, 32, 13, 23, 33]? (потому что array_3 и array_4 будут вести себя точно так же, как array_1). Причина, по которой были обновлены (только) array_4 значения, объясняется в PEP-289.
Немедленно вычисляется только самое внешнее выражение for, остальные выражения откладываются до запуска генератора.
У Яндекс Практикума есть бесплатный курс по основам анализа данных. В нём забавный интерактивный сюжет и много практики: четыре реальных кейса из разных областей. Вам предстоит:
— выяснить причину массовой поломки гаджетов,
— проверить окупаемость рекламы мобильного приложения,
— выбрать стратегию развития ИИ-стартапа,
— оценить эффективность роботов в службе поддержки.
На курсе вы напишете первый код на Python и поймёте, чем занимаются специалисты в сфере.
→ Приходите учиться бесплатно
— выяснить причину массовой поломки гаджетов,
— проверить окупаемость рекламы мобильного приложения,
— выбрать стратегию развития ИИ-стартапа,
— оценить эффективность роботов в службе поддержки.
На курсе вы напишете первый код на Python и поймёте, чем занимаются специалисты в сфере.
→ Приходите учиться бесплатно
is not ... не является is (not ...)
is not это один двоичный оператор, и его поведение отличается от использования is и not разделенных.
is not вычисляется, False если переменные по обе стороны от оператора указывают на один и тот же объект и True в противном случае.
В примере (not None) вычисляется как True, поскольку значение None находится False в логическом контексте, поэтому выражение становится 'something' is True.
is not это один двоичный оператор, и его поведение отличается от использования is и not разделенных.
is not вычисляется, False если переменные по обе стороны от оператора указывают на один и тот же объект и True в противном случае.
В примере (not None) вычисляется как True, поскольку значение None находится False в логическом контексте, поэтому выражение становится 'something' is True.
Обучаемся дизайну целых 6 месяцев за 0₽.
Лучший способ понять подойдет ли вам дизайн-профессия — попробовать её на практике. Ребята из Yudaev School дают вам такую возможность.
Оформите обучение в рассрочку и платите за обучение через целых 6 месяцев, за которые вы сможете основательно понять подойдет ли вам профессия или нет. Решите продолжить обучаться дальше — школа гарантирует вам трудоустройство у своих партнеров с зп на старте от 60 000₽.
Записаться на обучение: https://clck.ru/34CqpN
Лучший способ понять подойдет ли вам дизайн-профессия — попробовать её на практике. Ребята из Yudaev School дают вам такую возможность.
Оформите обучение в рассрочку и платите за обучение через целых 6 месяцев, за которые вы сможете основательно понять подойдет ли вам профессия или нет. Решите продолжить обучаться дальше — школа гарантирует вам трудоустройство у своих партнеров с зп на старте от 60 000₽.
Записаться на обучение: https://clck.ru/34CqpN
Крестики-нолики, где X побеждает с первой попытки!
Когда мы инициализируем row переменную, эта визуализация объясняет, что происходит в памяти.
И когда board инициализируется путем умножения row, вот что происходит внутри памяти (каждый из элементов board[0], board[1] и board[2] является ссылкой на один и тот же список, на который ссылается row).
Мы можем избежать этого сценария здесь, не используя row переменную для генерации board.
Когда мы инициализируем row переменную, эта визуализация объясняет, что происходит в памяти.
И когда board инициализируется путем умножения row, вот что происходит внутри памяти (каждый из элементов board[0], board[1] и board[2] является ссылкой на один и тот же список, на который ссылается row).
Мы можем избежать этого сценария здесь, не используя row переменную для генерации board.
Переменная Шредингера (ч.2)
При определении функции внутри цикла, которая использует переменную цикла в своем теле, закрытие функции цикла привязывается к переменной, а не к ее значению. Функция ищет x в окружающем контексте, вместо того, чтобы использовать значение x во время создания функции. Итак, все функции используют для вычислений последнее значение, присвоенное переменной. Мы можем видеть, что он использует x из окружающего контекста (т.е. не локальную переменную) с:
При определении функции внутри цикла, которая использует переменную цикла в своем теле, закрытие функции цикла привязывается к переменной, а не к ее значению. Функция ищет x в окружающем контексте, вместо того, чтобы использовать значение x во время создания функции. Итак, все функции используют для вычислений последнее значение, присвоенное переменной. Мы можем видеть, что он использует x из окружающего контекста (т.е. не локальную переменную) с: