Друзья, в прошлых постах мы с вами затрагивали множества (тип
Мы знаем, что литерал
Ответ на этот вопрос достаточно простой: словари появились раньше множеств, поэтому для обратной совместимости пришлось оставить литерал
У словарей есть метод
💡 Для создания пустого множества с помощью
#dict #set #полезныйматериал
set) и словари (тип dict) для решения задач. Хочу поделиться интересной информацией об этих типах данных.Мы знаем, что литерал
{} создает пустой словарь, а не пустое множество. Вы когда-нибудь задумывались, почему это так?Ответ на этот вопрос достаточно простой: словари появились раньше множеств, поэтому для обратной совместимости пришлось оставить литерал
{} словарям. Хочу заметить, что до появления множеств словари использовались для эмуляции работы множеств. Вообще, изначально при создании типа set разработчики Python просто скопировали исходный код типа dict и слегка его модифицировали 🙃 (в настоящее время реализация множеств сильнее отличается от реализации словарей, однако и множества, и словари используют под капотом хеш-таблицу для хранения данных).У словарей есть метод
keys(), который используется достаточно часто. Многие думают, что данный метод возвращает обычный список (тип list), однако это не так. Метод keys() возвращает список-представление (тип dict_keys). Данный список является неизменяемым динамическим объектом, то есть мы не можем его изменить самостоятельно, однако все изменения, такие как удаление или добавление элементов в словарь, сразу отражаются на нем. Более того, тип dict_keys поддерживает все операции, доступные для множеств!💡 Для создания пустого множества с помощью
{} мы можем использовать такой лайфхак empty = {*()}. Не уверен, что такой код лучше стандартного empty = set(), однако знать это полезно. 😎#dict #set #полезныйматериал
👍92🔥17👏7👾2🤔1🆒1 1 1
Рубрика Python Tips & Tricks 🐍
Большинство языков программирования требуют одной операции
Используете ли вы это в своем коде? Пишите в комментариях! ✍️
#tips #tricks
Большинство языков программирования требуют одной операции
= для каждого присваивания значения переменной. Но Python позволяет выполнять несколько присваиваний переменных всего за одну операцию =. На практике это очень удобно.Используете ли вы это в своем коде? Пишите в комментариях! ✍️
#tips #tricks
👍97👏32👨💻9✍7❤2🎅2😎2🔥1🙏1 1 1
Друзья, многие из вас спрашивали меня, с помощью какой программы я делаю картинки для наших постов. Я использую сервис snappify, который позволяет делать симпатичные сниппеты кода на любом языке программирования. Также вы можете использовать специальный плагин для VS Code, чтобы делать сниппеты кода прямо из IDE, это очень удобно. У сервиса есть бесплатный тариф.
#snappify
#snappify
👍72🔥14🆒11❤5👾5✍1 1 1
Друзья, продолжаем тему множеств и словарей.
Оба типа (
Использование хеш-таблицы для реализации множеств и словарей приводит к неочевидному поведению в некоторых ситуациях. А именно: элементы, являющиеся равными с точки зрения оператора
Например, если в множестве уже есть значение
Знали ли вы об этом поведении?
⚡️ В нашем новом курсе по ООП мы добавили урок, в котором рассказали об устройстве множеств и словарей. Это очень важный материал, освойте его полностью.
#полезныйматериал #set #dict
Оба типа (
set и dict) построены на структуре данных, которая называется хеш-таблица. Важное свойство хеш-таблиц состоит в том, что при некоторых разумных допущениях все три операции (добавление, удаление, поиск элемента) в среднем выполняются за константное время, то есть достаточно быстро. Именно поэтому множества и словари отлично подходят в ситуациях, когда нужно осуществлять частый поиск по данным.Использование хеш-таблицы для реализации множеств и словарей приводит к неочевидному поведению в некоторых ситуациях. А именно: элементы, являющиеся равными с точки зрения оператора
== и имеющие одинаковые хеш-значения, считаются идентичными с точки зрения множеств и словарей в Python. К таковым можно отнести значения False, 0, 0.0.Например, если в множестве уже есть значение
False и мы пытаемся добавить в него значения 0 или 0.0, то будем приятно удивлены тому, что новое значение не будет добавлено. Аналогичное поведение мы получим при работе со словарями. Тут ситуация еще интереснее. Скажем, пусть в словаре уже есть элемент с ключом False. При попытке добавить в словарь новый элемент с ключом 0 или 0.0 Python перезапишет значение по ключу False, при этом сам ключ останется исходным, то есть False. Внимательно проанализируйте картинку к этому посту.Знали ли вы об этом поведении?
#полезныйматериал #set #dict
Please open Telegram to view this post
VIEW IN TELEGRAM
👍107🤯18❤11🔥7🤔1🤝1 1 1
Что покажет приведенный выше код?
Anonymous Quiz
41%
{1, 1.0, True}
34%
{1}
6%
{1, 1.0}
6%
{1, True}
1%
{}
12%
произойдет ошибка
🔥75👏16😎9👍7🤔4❤2✍2💯1🍾1 1 1
Что покажет приведенный выше код?
Anonymous Quiz
31%
{1.0: 'yes', True: 'no', 1: 'maybe'}
11%
{1.0: 'yes'}
18%
{1: 'maybe'}
16%
{1.0: 'maybe'}
2%
{True: 'no'}
4%
{1.0: 'yes', True: 'no'}
17%
произойдет ошибка
🔥86👍34😎7👏5✍4⚡2💋1 1 1
Друзья, всем привет! Отвечаю на вопросы подписчиков. 😎
Вопрос. Насколько полезен в глазах работодателя опыт в смежной области? Этот опыт будет иметь вес при поиске работы разработчиком, или такой соискатель всё ещё будет восприниматься как джун без реального опыта? Уже 2 месяца я работаю в IT-компании и занимаюсь внедрением и сопровождением ИС: настраиваю программный продукт под нужды конкретных заказчиков. К моему сожалению, вся работа происходит в графическом интерфейсе, код писать приходится только на SQL. К тому же из-за работы в офисе фултайм стало сильно меньше времени на обучение "Питону", а прогать очень хочется (и желательно за компом, а не с телефона в метро). С одной стороны, знаний для работы разработчиком у меня пока недостаточно (почти половина из опубликованных вами 11 пунктов требует изучения), хочется быстренько выучить самое необходимое на базовом уровне и пытаться искать работу разработчиком. С другой стороны, может, всё-таки стоит отработать хотя бы год внедренцем, чтобы в резюме потом гордо написать "1 год опыта работы в IT-компании"?
Ответ. Вопрос настолько большой, что на ответ осталось мало буковок. 😂 Попробую уложиться.
Как мне кажется, работодателю важен опыт именно в разработке, а не в смежной области. Так было, когда я устраивался на работу, я думаю, так дело обстоит и сейчас. Важен тот стек технологий, который используется на работе (например, Python, SQL, Django). Конечно, хоть какой-опыт, пусть даже написание SQL в графическом интерфейсе — это хорошо. Но он не сыграет ключевой роли. Джуниор без опыта, знающий пункты из поста, куда ценнее того, кто работал в околоайтишной сфере и их не знает. ИМХО, конечно.
Я бы попробовал совмещать работу и учебу. При этом писать код в метро на телефоне — это, конечно, несерьезно. Пусть в меня полетят тапочки от тех, кто это делает, но я считаю, что на обучение нужно тратить минимум 2-3 часа в день за компьютером. Это прохождение курсов, чтение книг, каналов и сайтов, написание своих проектов и так далее. Если бы я не смог совмещать работу и учебу, я бы выбрал учебу, чтобы в будущем устроиться на любимую работу и заниматься тем, что приносит мне удовольствие.
Вы знаете, что в далеком 2018 году я ушел с ЗП в 300К на скромные 40К. Было ли мне страшно и некомфортно? Чертовски! Тогда был период усердной работы. Именно тогда я попробовал себя в качестве автора и методиста своего первого курса по программированию. Так родился "Поколение Python": курс для начинающих.
Друзья, я очень ценю, что вы спрашиваете моего совета. И я отвечаю исходя из своего опыта. Не забывайте, что мои ответы — это лишь мои мысли. Прочитайте их, но делайте так, как считаете правильным для вас. Единственное, что хочу сказать: любимая работа на старте требует усердной работы и определенных жертв. 🙃
Задать вопрос можно через нашего бота @pygen_ru_bot. Вопросов очень много, поэтому время ответа может быть не маленьким. 🤪
#ответнавопрос
Вопрос. Насколько полезен в глазах работодателя опыт в смежной области? Этот опыт будет иметь вес при поиске работы разработчиком, или такой соискатель всё ещё будет восприниматься как джун без реального опыта? Уже 2 месяца я работаю в IT-компании и занимаюсь внедрением и сопровождением ИС: настраиваю программный продукт под нужды конкретных заказчиков. К моему сожалению, вся работа происходит в графическом интерфейсе, код писать приходится только на SQL. К тому же из-за работы в офисе фултайм стало сильно меньше времени на обучение "Питону", а прогать очень хочется (и желательно за компом, а не с телефона в метро). С одной стороны, знаний для работы разработчиком у меня пока недостаточно (почти половина из опубликованных вами 11 пунктов требует изучения), хочется быстренько выучить самое необходимое на базовом уровне и пытаться искать работу разработчиком. С другой стороны, может, всё-таки стоит отработать хотя бы год внедренцем, чтобы в резюме потом гордо написать "1 год опыта работы в IT-компании"?
Ответ. Вопрос настолько большой, что на ответ осталось мало буковок. 😂 Попробую уложиться.
Как мне кажется, работодателю важен опыт именно в разработке, а не в смежной области. Так было, когда я устраивался на работу, я думаю, так дело обстоит и сейчас. Важен тот стек технологий, который используется на работе (например, Python, SQL, Django). Конечно, хоть какой-опыт, пусть даже написание SQL в графическом интерфейсе — это хорошо. Но он не сыграет ключевой роли. Джуниор без опыта, знающий пункты из поста, куда ценнее того, кто работал в околоайтишной сфере и их не знает. ИМХО, конечно.
Я бы попробовал совмещать работу и учебу. При этом писать код в метро на телефоне — это, конечно, несерьезно. Пусть в меня полетят тапочки от тех, кто это делает, но я считаю, что на обучение нужно тратить минимум 2-3 часа в день за компьютером. Это прохождение курсов, чтение книг, каналов и сайтов, написание своих проектов и так далее. Если бы я не смог совмещать работу и учебу, я бы выбрал учебу, чтобы в будущем устроиться на любимую работу и заниматься тем, что приносит мне удовольствие.
Вы знаете, что в далеком 2018 году я ушел с ЗП в 300К на скромные 40К. Было ли мне страшно и некомфортно? Чертовски! Тогда был период усердной работы. Именно тогда я попробовал себя в качестве автора и методиста своего первого курса по программированию. Так родился "Поколение Python": курс для начинающих.
Друзья, я очень ценю, что вы спрашиваете моего совета. И я отвечаю исходя из своего опыта. Не забывайте, что мои ответы — это лишь мои мысли. Прочитайте их, но делайте так, как считаете правильным для вас. Единственное, что хочу сказать: любимая работа на старте требует усердной работы и определенных жертв. 🙃
Задать вопрос можно через нашего бота @pygen_ru_bot. Вопросов очень много, поэтому время ответа может быть не маленьким. 🤪
#ответнавопрос
👍117🔥32❤🔥17❤5👏2😎1 1 1
Друзья, вы знаете, что такое Иннополис?
Если коротко, Иннополис — это город высоких технологий в Республике Татарстан. Его сердцем является Университет, который специализируется на образовании и научных исследованиях в области современных ИТ. 👨💻
Совсем недавно я побывал на экскурсии в Иннополисе, узнал много интересного об Университете и хочу поделиться с вами этой информацией. Поскольку память у меня короткая (как у любого программиста 😂), то в этом мне поможет Диана — студентка Университета, мой экскурсовод.
Пишите в комментариях к этому посту свои вопросы об Университете, учебе, о жизни в Иннополисе. А я задам их Диане в формате интервью. 🎤
#иннополис #образование #интервью
Если коротко, Иннополис — это город высоких технологий в Республике Татарстан. Его сердцем является Университет, который специализируется на образовании и научных исследованиях в области современных ИТ. 👨💻
Совсем недавно я побывал на экскурсии в Иннополисе, узнал много интересного об Университете и хочу поделиться с вами этой информацией. Поскольку память у меня короткая (как у любого программиста 😂), то в этом мне поможет Диана — студентка Университета, мой экскурсовод.
Пишите в комментариях к этому посту свои вопросы об Университете, учебе, о жизни в Иннополисе. А я задам их Диане в формате интервью. 🎤
#иннополис #образование #интервью
👍78🔥21❤8👾4☃1👌1🌚1🎄1 1 1
❤48👍35🤯26😁10👏3🤔3❤🔥1😎1 1 1
Друзья, вы наверняка знаете, что в Python есть очень удобный оператор возведения в степень
В отличие от других арифметических операторов
#полезныйматериал
**. Данный оператор умеет возводить в натуральную, отрицательную и даже дробную степень.В отличие от других арифметических операторов
+, -, *, /, оператор ** является право-ассоциативным, то есть в цепочке из двух таких операторов сначала выполнится правый, а потом левый. Таким образом, выражение 2 ** 1 ** 3 вычисляется так: (2 ** (1 ** 3)) = (2 ** 1) = 2. Не очень ожидаемое поведение для многих программистов, но очень логичное с точки зрения математики. В математике оператор возведения в степень отрабатывает точно так же.#полезныйматериал
👍145🔥29🤯21❤9🍾1 1 1
Друзья, всем привет! Отвечаю на вопросы подписчиков. 😎
Вопрос. У меня постоянные разговоры с отцом о том, куда поступать. Я хочу на факультет программной инженерии, чтобы изучать ООП, функциональное программирование и в будущем стать программистом. Но отец хочет, чтобы я поступил в строительный и пошел по его стопам. Говорит, что в IT-сфере очень мало вакансий и что я вряд ли чего-либо добьюсь там. Я хотел бы узнать у вас насчет вакансий и вообще об этой сфере: трудно ли?
Ответ. Мало кто знает, но в свое время мои родители тоже не принимали мой профессиональный выбор. Я увлекся математикой в 10 классе и решил, что хочу стать математиком. Маме выбор профессии не понравился: она хотела, чтобы я стал строителем или юристом (на Кавказе эти специальности модные, наряду с экономистами и врачами). Так вот, я нашел компромисс: сказал, что буду программистом-математиком, и поступил на факультет прикладной математики и информатики. Только в университете я увлекся программированием.
Отвечая на вопрос нашего подписчика: вакансий в IT много, но они требуют больших знаний и вложений в себя. Не думайте, что вы станете востребованным специалистом, просто отучившись в универе на программной инженерии. Такого не бывает ни в одной сфере, тем более в программировании, где конкуренция сейчас колоссальная. Каждый второй хочет войти в IT, отсюда и миллион онлайн-школ, которые обещают сделать из вас специалиста за 3 месяца. Но это не значит, что найти работу нельзя. Это лишь значит, что для этого нужно много учиться и вкладываться в себя. Если вы не готовы пахать, то не надо идти в IT. Вы не зайдете, разочаруетесь в профессии и в себе.
Когда я устроился на свою первую работу в Лаборатории Касперского, у меня даже не было диплома о законченном высшем образовании. Я учился тогда на 5 курсе провинциального университета, но хорошо знал платформу .NET и язык C#. Мне это помогло. Было ли мне трудно? Конечно! Я знал очень мало по сравнению с моими опытными коллегами. Первый год я ходил на работу каждые выходные, потому что не успевал выполнять свои задачи. По-другому не бывает, дорогие мои друзья!
Напоследок хочу сказать, что выбор профессии — это дело каждого. Вам работать всю жизнь на нелюбимой работе. Так что делайте правильный выбор.
Задать вопрос можно через нашего бота @pygen_ru_bot.
#ответнавопрос
Вопрос. У меня постоянные разговоры с отцом о том, куда поступать. Я хочу на факультет программной инженерии, чтобы изучать ООП, функциональное программирование и в будущем стать программистом. Но отец хочет, чтобы я поступил в строительный и пошел по его стопам. Говорит, что в IT-сфере очень мало вакансий и что я вряд ли чего-либо добьюсь там. Я хотел бы узнать у вас насчет вакансий и вообще об этой сфере: трудно ли?
Ответ. Мало кто знает, но в свое время мои родители тоже не принимали мой профессиональный выбор. Я увлекся математикой в 10 классе и решил, что хочу стать математиком. Маме выбор профессии не понравился: она хотела, чтобы я стал строителем или юристом (на Кавказе эти специальности модные, наряду с экономистами и врачами). Так вот, я нашел компромисс: сказал, что буду программистом-математиком, и поступил на факультет прикладной математики и информатики. Только в университете я увлекся программированием.
Отвечая на вопрос нашего подписчика: вакансий в IT много, но они требуют больших знаний и вложений в себя. Не думайте, что вы станете востребованным специалистом, просто отучившись в универе на программной инженерии. Такого не бывает ни в одной сфере, тем более в программировании, где конкуренция сейчас колоссальная. Каждый второй хочет войти в IT, отсюда и миллион онлайн-школ, которые обещают сделать из вас специалиста за 3 месяца. Но это не значит, что найти работу нельзя. Это лишь значит, что для этого нужно много учиться и вкладываться в себя. Если вы не готовы пахать, то не надо идти в IT. Вы не зайдете, разочаруетесь в профессии и в себе.
Когда я устроился на свою первую работу в Лаборатории Касперского, у меня даже не было диплома о законченном высшем образовании. Я учился тогда на 5 курсе провинциального университета, но хорошо знал платформу .NET и язык C#. Мне это помогло. Было ли мне трудно? Конечно! Я знал очень мало по сравнению с моими опытными коллегами. Первый год я ходил на работу каждые выходные, потому что не успевал выполнять свои задачи. По-другому не бывает, дорогие мои друзья!
Напоследок хочу сказать, что выбор профессии — это дело каждого. Вам работать всю жизнь на нелюбимой работе. Так что делайте правильный выбор.
Задать вопрос можно через нашего бота @pygen_ru_bot.
#ответнавопрос
👍97🔥24❤9💯5😭4🌚1 1 1
Друзья, у нас для вас приятная новость! Мы предоставляем скидку 30% не только школьникам и студентам, но и нашим ученикам, которые покупают сразу два курса: для профессионалов и ООП.
Вместо 7800 рублей вы можете заплатить 5460 рублей. Купить два курса со скидкой 30% можно на главной странице нашего официального сайта.
☝️ Не забывайте, что "Поколение Python" — это линейка последовательных курсов. Доступ к курсам бессрочный: вы можете купить их сейчас, а пройти в любое удобное для вас время. Проходить курсы вы будете на платформе Stepik. 💚
#скидка #ооп #профессионал
Вместо 7800 рублей вы можете заплатить 5460 рублей. Купить два курса со скидкой 30% можно на главной странице нашего официального сайта.
☝️ Не забывайте, что "Поколение Python" — это линейка последовательных курсов. Доступ к курсам бессрочный: вы можете купить их сейчас, а пройти в любое удобное для вас время. Проходить курсы вы будете на платформе Stepik. 💚
#скидка #ооп #профессионал
👍92😭21❤17🔥10🍾4🦄4👨💻3😇3🎉2🌚1🎅1
Друзья, вы помните задачи про шахматы из курса для начинающих? 🤣
Когда я только учился программировать, эти задачи были одними из самых любимых. Я, как и вы, долго их решал. Но зато после этого намного лучше понял, как работают условные и логические операторы. Думаю, и вы тоже. 😅
Получил тут письмо интересное и не мог не запостить. Пробежался по комментариям к шахматным задачам и понял, что это настоящая ❤️. Очень много нового и интересного узнал о себе как об авторе этих произведений. 🙃
Прикладываю мемасики из комментов, ибо они очень смешные.
♟ Завтра будет конкурс на шахматную задачу. Вы готовы?
#шахматы #итмем
Когда я только учился программировать, эти задачи были одними из самых любимых. Я, как и вы, долго их решал. Но зато после этого намного лучше понял, как работают условные и логические операторы. Думаю, и вы тоже. 😅
Получил тут письмо интересное и не мог не запостить. Пробежался по комментариям к шахматным задачам и понял, что это настоящая ❤️. Очень много нового и интересного узнал о себе как об авторе этих произведений. 🙃
Прикладываю мемасики из комментов, ибо они очень смешные.
♟ Завтра будет конкурс на шахматную задачу. Вы готовы?
#шахматы #итмем
😁163👍46🤣21🔥16❤8😭4🦄4🤯3🤔2👨💻1 1