Решение #1
Сейчас я объясню как это работает. Когда мы используем оператор
📌 Если наш объект находится слева от оператора, то будет вызываться
📌 Объект
📌 Если вы посмотрите на него второй раз, вы увидите, что он также помогает нам пройти вторую проверку
Сейчас я объясню как это работает. Когда мы используем оператор
+, Python вызывает double underscore метод в зависимости от того, с какой стороны оператора находится наш объект.📌 Если наш объект находится слева от оператора, то будет вызываться
__add__, если он находится справа, будет вызываться __radd__.📌 Объект
Test вернет 0, если вызывается Test () + 1, и 1, если вызывается 1 + Test (). Хитрость в том, что мы перегружаем только один метод, а другой оставляем прежним. Это поможет нам пройти первое условие.📌 Если вы посмотрите на него второй раз, вы увидите, что он также помогает нам пройти вторую проверку
if, потому что мы просто возвращаем ввод, если он не равен 1, поэтому Test () + 2 всегда будет похож на 2 + Test ().Решение #2
Только -7 сработает в данном случае. Никакое другое число не вернет True.
📌 Почему так? В Python целые числа от -5 до 256 имеют заранее выделенные участки в памяти. Когда выполняется какая-либо операция и ее результатом является число из этого промежутка, то вы получаете объект из этого выделенного участка (-5, 256).
📌 Эти объекты являются синглтонами, поэтому оператор
📌 Таким образом, используя -7 вы получите новый экземпляр класса -6 но тот же самый экземпляр класса для -5.
Только -7 сработает в данном случае. Никакое другое число не вернет True.
📌 Почему так? В Python целые числа от -5 до 256 имеют заранее выделенные участки в памяти. Когда выполняется какая-либо операция и ее результатом является число из этого промежутка, то вы получаете объект из этого выделенного участка (-5, 256).
📌 Эти объекты являются синглтонами, поэтому оператор
is возвращает True. Однако, если вы используете целые числа не из этого промежутка, вы получите новый экземпляр класса.📌 Таким образом, используя -7 вы получите новый экземпляр класса -6 но тот же самый экземпляр класса для -5.
Какие языки вы знаете? Можно выбрать несколько.
Anonymous Poll
33%
C/C++
16%
C#
5%
Go
18%
Java
27%
JavaScript
1%
Objective-C
14%
PHP
79%
Python
38%
SQL
18%
Другой
Что новенького?
Недавно один мой знакомый скинул мне интересный пример библиотеки, которая позволяет писать код на C прямо в функциях Python.
Либу я глянул, но мне кое-что не понравилось и поэтому я решил написать свою реализацию подобной библиотеки с использованием
Пока я ковырялся с этим, изучил практически досконально метод
✏️ Например я могу объявить одну функцию, а при ее вызове задать совсем другую логику.
Ссылка на гитхаб
Буду очень рад, если вы подпишетесь/поставите звездочку в гитхабе. Если среди вас есть опытные программисты, то не стесняйтесь вносить правки.
Недавно один мой знакомый скинул мне интересный пример библиотеки, которая позволяет писать код на C прямо в функциях Python.
Либу я глянул, но мне кое-что не понравилось и поэтому я решил написать свою реализацию подобной библиотеки с использованием
ctypes.Пока я ковырялся с этим, изучил практически досконально метод
__call__ и понял что декорирующие классы могут очень сильно менять логику Python.✏️ Например я могу объявить одну функцию, а при ее вызове задать совсем другую логику.
Ссылка на гитхаб
Буду очень рад, если вы подпишетесь/поставите звездочку в гитхабе. Если среди вас есть опытные программисты, то не стесняйтесь вносить правки.
Всем привет!
Как вы знаете, у меня есть еще один проект, который мы назвали @python_academy. И вот, у нас там недавно вышел курс для новичков в Python.
Мы затронем разные темы, от установки интерпретатора, до работы с классами, а в конце напишем небольшой блокчейн-сервис. Такой проект уже можно будет положить в портфолио.
Курс платный, но совсем недорогой. Более подробно узнать о нем можно, написав мне @dartrisen или @a1f20. Если вы хотите как-то поддержать меня и мой проект, то это самый лучший способ.
Спасибо!
Как вы знаете, у меня есть еще один проект, который мы назвали @python_academy. И вот, у нас там недавно вышел курс для новичков в Python.
Мы затронем разные темы, от установки интерпретатора, до работы с классами, а в конце напишем небольшой блокчейн-сервис. Такой проект уже можно будет положить в портфолио.
Курс платный, но совсем недорогой. Более подробно узнать о нем можно, написав мне @dartrisen или @a1f20. Если вы хотите как-то поддержать меня и мой проект, то это самый лучший способ.
Спасибо!
Напоминаю, начало уже завтра. Спустя неделю, все кто хотел, уже будут заливать новый проект к себе на гитхаб.
Может быть именно на него обратят внимание при приглашении на работу?
Может быть именно на него обратят внимание при приглашении на работу?
Forwarded from Python Academy
Содержание и формат нашего курса
После анонсирования курса нам поступило множество вопросов, и мы решили ответить на самые важные на канале.
📅 Формат и время. Все лекции будут проходить по вечерам с 16 по 23 марта в текстовом формате в закрытом канале – максимально удобном для изучения.
📝 Материалы останутся навсегда. В случае, если вы не можете присутствовать во время лекции, вы всегда сможете вернутся к ней позже.
💬 Поддержка. Вы всегда сможете получить помощь и разъяснения в закрытом чате для всех участников.
Начало уже через 4 дня. Успейте записаться: @a1f20 и @dartrisen
После анонсирования курса нам поступило множество вопросов, и мы решили ответить на самые важные на канале.
📅 Формат и время. Все лекции будут проходить по вечерам с 16 по 23 марта в текстовом формате в закрытом канале – максимально удобном для изучения.
📝 Материалы останутся навсегда. В случае, если вы не можете присутствовать во время лекции, вы всегда сможете вернутся к ней позже.
💬 Поддержка. Вы всегда сможете получить помощь и разъяснения в закрытом чате для всех участников.
Начало уже через 4 дня. Успейте записаться: @a1f20 и @dartrisen
Я тут внезапно понял, что наверное засиделся на своем любимом Sublime Text 3. Прикидывал в голове, какие у него могут быть плюсы/минусы и так ничего толкового не смог придумать. Наверное попробую какие-либо другие редакторы.
Каким редактором/IDE пользуетесь?
Anonymous Poll
24%
Sublime Text 3
10%
vim/emacs/nano
4%
Spyder
0%
Rodeo
32%
vs code
48%
PyCharm
15%
Jupyter
8%
Другое/Ответить в чат
GitHub выпустил мобильные приложения
GitHub выпустил бета-версию своего мобильного приложения для Android и iOS еще в ноябре 2019 года. Позавчера компания объявила, что доступна стабильная версия для обеих операционных систем.
Скачать на Android
Скачать на iOS
GitHub выпустил бета-версию своего мобильного приложения для Android и iOS еще в ноябре 2019 года. Позавчера компания объявила, что доступна стабильная версия для обеих операционных систем.
Скачать на Android
Скачать на iOS
Setters & Getters в Python
В Python методы getters и setters немного не такие, как в других языках программирования. По сути, основная цель этих методов заключается в инкапсуляции данных.
Методы
🔸 Для того, чтобы добавить логику проверки при получении доступа к такой переменной;
🔸 Чтобы избежать прямого доступа к атрибуту класса, то есть для того, чтобы эти атрибуты не были доступны напрямую (или изменены внешним пользователем).
В Python методы getters и setters немного не такие, как в других языках программирования. По сути, основная цель этих методов заключается в инкапсуляции данных.
Методы
getter и setter в Python часто используются:🔸 Для того, чтобы добавить логику проверки при получении доступа к такой переменной;
🔸 Чтобы избежать прямого доступа к атрибуту класса, то есть для того, чтобы эти атрибуты не были доступны напрямую (или изменены внешним пользователем).
This media is not supported in your browser
VIEW IN TELEGRAM
Учитель провёл урок геометрии в новой Half-Life Alyx
Некоторые, кому довелось вживую пройти Half-Life Alyx, обнаружили в одной из локаций стекло с лежащими неподалёку цветными маркерами.
🖍️Этими маркерами можно пользоваться и рисовать на стекле всё, что душе угодно. Например, формулы. Чем собственно и воспользовался учитель геометрии из американского города Сан-Диего.
А как в условиях карантина ваши учителя проявляют креативность?
Некоторые, кому довелось вживую пройти Half-Life Alyx, обнаружили в одной из локаций стекло с лежащими неподалёку цветными маркерами.
🖍️Этими маркерами можно пользоваться и рисовать на стекле всё, что душе угодно. Например, формулы. Чем собственно и воспользовался учитель геометрии из американского города Сан-Диего.
А как в условиях карантина ваши учителя проявляют креативность?
Немного переписал свою старую статью по multiprocessing, может быть кому-то будет интересно.
Forwarded from Python Academy
Работа с процессами в Python
С появлением многоядерных процессоров стала общеупотребительной практика распространять нагрузку на все доступные ядра. Существует два основных подхода в распределении нагрузки: использование процессов и потоков. О первом мы как раз сейчас и поговорим.
Читать 6 минут
С появлением многоядерных процессоров стала общеупотребительной практика распространять нагрузку на все доступные ядра. Существует два основных подхода в распределении нагрузки: использование процессов и потоков. О первом мы как раз сейчас и поговорим.
Читать 6 минут
Teletype
Работа с процессами в Python
Начинаем изучать процессы и их реализацию с помощью пакета multiprocessing.
Новая рубрика на канале
Вы давно меня просили сделать нечто подобное. Поэтому, предлагаю вашему вниманию задачу с соревнования Яндекса 2019 года:
Дан массив
Формат ввода
В первой строке входных данных записано число
Во второй строке записаны
Формат вывода
Выведите единственное число
Вы давно меня просили сделать нечто подобное. Поэтому, предлагаю вашему вниманию задачу с соревнования Яндекса 2019 года:
Дан массив
a из n целых чисел. Напишите программу, которая найдет число, которое чаще других встречается в массиве. Ограничение времени: 2 с, ограничение памяти: 256 МБ.Формат ввода
В первой строке входных данных записано число
n (1 ≤ n ≤ 300 000). Во второй строке записаны
n целых чисел ai (0 ≤ ai ≤ 1 000 000 000).Формат вывода
Выведите единственное число
x, наибольшее из чисел, которое чаще других встречается в массиве a.Начну издалека. Как думаете, правда ли что выучить Python и стать качественным специалистом легко?
Разумеется, у Python довольно низкий порог вхождения. Это означает что на нем очень легко освоить азы программирования. Но по сути, все что можно найти в интернете – это и есть только основы и азы. Они не помогут научиться чему-то основательно.
Поначалу может показаться, что обучение дается легко, но впереди будут ждать трудности. Асинхронное и функциональное программирование, threading, multiprocessing, sockets, метаклассы – все эти темы непросто найти и изучить самостоятельно. При этом не стоит забывать, что помимо теории необходима и практика – минимум 4-6 часов в неделю.
С любовью к обучению и программированию, мы с коллегой открыли @python_academy. Мы вложили собственные средства на развитие этого проекта, и немало сил на создание качественного контента. И это было не зря – мы получаем восторженные отзывы наших учеников. Благодаря вам мы продолжаем работать над качеством нашего материала.
У нас вы научитесь писать чистый и быстрый код. Многие ошибочно думают что если умеешь писать код, то и преподавать тоже получится. Не получится. Когда знаешь очень много всего, становится трудно вспомнить как это – не понимать.
Но мой опыт преподавания и работы со студентами насчитывает без малого 3 года, поэтому я точно знаю как нужно преподносить материал так, чтобы все всё поняли.
Более полная информация о ближайшем курсе тут.
Задать вопрос и записаться на курс можно у меня @dartrisen и у моего коллеги @a1f20.
Разумеется, у Python довольно низкий порог вхождения. Это означает что на нем очень легко освоить азы программирования. Но по сути, все что можно найти в интернете – это и есть только основы и азы. Они не помогут научиться чему-то основательно.
Поначалу может показаться, что обучение дается легко, но впереди будут ждать трудности. Асинхронное и функциональное программирование, threading, multiprocessing, sockets, метаклассы – все эти темы непросто найти и изучить самостоятельно. При этом не стоит забывать, что помимо теории необходима и практика – минимум 4-6 часов в неделю.
С любовью к обучению и программированию, мы с коллегой открыли @python_academy. Мы вложили собственные средства на развитие этого проекта, и немало сил на создание качественного контента. И это было не зря – мы получаем восторженные отзывы наших учеников. Благодаря вам мы продолжаем работать над качеством нашего материала.
У нас вы научитесь писать чистый и быстрый код. Многие ошибочно думают что если умеешь писать код, то и преподавать тоже получится. Не получится. Когда знаешь очень много всего, становится трудно вспомнить как это – не понимать.
Но мой опыт преподавания и работы со студентами насчитывает без малого 3 года, поэтому я точно знаю как нужно преподносить материал так, чтобы все всё поняли.
Более полная информация о ближайшем курсе тут.
Задать вопрос и записаться на курс можно у меня @dartrisen и у моего коллеги @a1f20.