versetty777

Python-разработчик
Пикабушник
1603 рейтинг 151 подписчик 0 подписок 36 постов 2 в горячем
Награды:
10 лет на Пикабу
13

Продолжение поста «Как я стал Python-разработчиком»6

Создаём простую игру "Угадай число", в которой компьютер загадывает число, а игрок должен угадать его за наименьшее количество попыток.

Открываем любой редактор кода, например, online-python.com. Для создания игры мы будем использовать модуль random в Python. Модуль random генерит случайное число, которое будет загадано компьютером. Вот как будет выглядеть наш код для загадывания числа:

В этом коде мы импортируем модуль random и метод randint(), чтобы сгенерировать случайное число от 1 до 100.

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

Сначала мы запрашиваем ответ игрока с помощью функции input(). Затем мы запускаем цикл while. Если ответ игрока неверный, мы выводим подсказку и просим ввести число еще раз. Если ответ игрока правильный, мы выводим сообщение об этом и завершаем игру.

Теперь мы можем запустить нашу игру и начать играть! Вот что должно получиться:

Как видите, ничего особо сложного нет, а для того, чтобы самому написать такую программу, достаточно изучить основы языка. Список годных материалов я на писал в посте поста «Как я стал Python-разработчиком» :)

Показать полностью 2
1033

Продолжение поста «Как я стал Python-разработчиком»6

Как изучить Python с нуля: самый лёгкий способ

Хочу рассказать о хорошем способе изучения Python’а для абсолютных новичков в программировании. Большой плюс языка состоит в том, что по Пайтону много полезной литературы, в отличие от того же JavaScript. Но много интересных материалов опубликовано на английском языке, поэтому даже для самого программирования нужно владеть хотя бы основами английского.

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

В первую очередь возьмите в руки отличную книгу Марка Лутца под названием “Изучаем Python”, 4 издание. Есть ещё и 5 издание, но, как мне показалось, оно очень плохо переведено на русский.  Параллельно читаем ещё одну книгу этого автора “Программирование на Python”, тоже 4 издание. Первая книга поможет вам получить всю необходимую теоретическую базу по языку в доступной форме, а вторая научит вас применять все полученные знания в ваших пет-проектах. По моему мнению, достаточно этих двух книг, они содержат всё, что нужно знать, чтобы начать программировать с нуля.

Про официальную документацию писать не буду, так как она написана на английском. На сайте Digitology.tech выложен полный перевод документации по языку Python, который включает в себя: учебник, документация по модулям стандартной библиотеки, справочник по синтаксису и многое другое.

Если вы больше воспринимаете информацию по видеоурокам, то открывайте видеоканал Тимофея Хирьянова, преподавателя кафедры информатики МФТИ. Очень крутой препод, подача отличная. Очень легко подаёт материал. Не нервничает, не нудит, не теряется, говорит чётко, ясно. Хорошо просматривается цепочка повествования вообще. Приятно слушать. Очень доходчиво объясняет достаточно сложный для восприятия предмет на стыке достаточно сложных предметов: математики (логика, теория графов), устройства ЭВМ, синтаксиса и грамматики языка. Очень хорошо воспринимается с нуля даже начинающими слушателями за счет объяснения на сравнительных примерах из жизни.

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

P.S. Добавьте в закладки следующие сайты, они вам будут крайне полезны в начале вашего пути:

  • https://metanit.com/python/tutorial - хорошее практическое руководство для новичков.

  • https://ru.stackoverflow.com/ - огромное сообщество программистов. Если столкнётесь с трудностями при решении задач, то смело задавайте свой вопрос. Главное – напишите, что именно вы сделали и почему это не сработало.

Дерзайте! Всем удачи.

Показать полностью
2

Продолжение поста «Как я стал Python-разработчиком»

Забавные и малоизвестные факты о языке Python :)

  1. Python - это язык программирования для тех, кто не любит писать код. Это одна из самых известных шуток про Python связана с его простым синтаксисом. Поэтому его часто называют языком для тех, кто не любит писать код. Но не стоит забывать, что простой синтаксис не делает Python менее мощным языком программирования.

  2. Python - это язык, который имеет свой собственный философский подход. Он называется "The Zen of Python", который описывает некоторые из основных принципов, которые следует придерживаться при разработке на Python. Например, одним из главных принципов является "Простое лучше, чем сложное". Это означает, что простой код, который легко читается и понимается, он предпочтительнее, чем сложный и запутанный код.

  3. Язык Python - это как котенок: он забавный и милый, но он может укусить, если вы его не обучите. Действительно, Python может быть интуитивно понятным языком, но если вы не будете соблюдать правила синтаксиса и не будете использовать правильные практики программирования, то вы можете получить нежелательный результат.

  4. Знаете ли вы, как определить программиста на Python на улице? Он будет говорить о том, как быстро он написал свою программу. Язык Python может быть очень эффективным языком программирования, который позволяет реально быстро создавать приложения и игры. Однако, как и в случае с любым другим языком программирования, это не всегда означает, что программа будет хорошо написана :)

  5. Python - это язык, который не требует от вас быть гением в математике, но он поможет вам им стать. Python помогает легко работать с математическими вычислениями и анализом данных благодаря мощным библиотекам, таким как NumPy, SciPy и Pandas. На практике так и есть, Python действительно может помочь программистам улучшить свои знания в области математики.

  6. Python - это язык программирования, который не связан со змеёй, но мы все равно называем его Python. Эта шутка - игра слов. Несмотря на то, что язык был назван в честь телепередачи Монти Пайтона, змея Питон на самом деле не имеют никакого отношения к языку программирования.

  7. Какой язык программирования наиболее часто используют панды? Python, конечно! Шутка отсылает к одной из самых популярных библиотек на языке Python - Pandas, которая используется для анализа данных. Панды обязательно бы выбрали Python в качестве своего любимого языка программирования :)

  8. Программисты не говорят, что у них есть проблема. Они называют это Python'ом. Шутка отсылает к тому, что язык может стать зависимостью для программистов. Да-да, так и есть. Все больше программистов начинают использовать Python в своих проектах. Но применение Python может привести к тому, что программисты начнут зависеть от этого языка и столкнуться с проблемами, если придется работать с другими языками типа C++ или Java.

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

Показать полностью
73

Продолжение поста «Как я стал Python-разработчиком»6

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

В чем разница между списком и кортежем? Ответ: список объявляется в квадратных скобках и может быть изменен, в то время как кортеж объявляется в скобках и не может быть изменен.

Как выполняется интерполяция строк? Ответ: интерполяция строк в Python позволяет вставлять значения переменных внутрь строки. Для выполнения интерполяции используется символ % и кортеж значений, которые нужно вставить в строку. Пример:

Что такое декоратор? Ответ: это функция в Python, которая позволяет добавить новую функциональность к существующей функции. Пример, где декоратор my_decorator принимает функцию func в качестве аргумента и возвращает новую функцию wrapper:

Что такое функция range? Ответ: функция range используется для создания последовательности чисел. Она принимает 3 аргумента: начальное значение, конечное значение и шаг. Например, для создания последовательности чисел от 0 до 9 мы напишем такой код:

В чём разница между методами экземпляра, класса и статическими методами? Ответ:

  • Методы экземпляра - это методы, которые относятся к определённому экземпляру класса и принимают параметр self.

  • Статические методы - это методы, которые не относятся к конкретному экземпляру класса, не имеют доступа к атрибутам экземпляра и используют декоратор staticmain.

  • Методы класса - это методы, которые относятся к классу в целом, а не к конкретному экземпляру, и принимают параметр cls. Они могут изменять состояние класса, но не экземпляров класса.

В чем разница между func и func()? Ответ: fun" - это имя функции, а func() - это вызов функции.

Как работает функция reduce? Ответ: Функция reduce() принимает функцию и последовательность и обрабатывает эту последовательность. На каждой итерации функция получает текущий элемент и результат предыдущего вызова. В результате функция возвращает одно значение.

Переменные в Python передаются по ссылке или по значению? Ответ: Переменные в Python передаются по ссылке.

Как работает умножение строк? Ответ: умножение строки на число создает новую строку, которая содержит несколько копий исходной строки, разделенных между собой. Например, выражение "hello" * 3 создаст новую строку "hellohellohello".

В чем разница между списками и массивами? Ответ: основная разница между ними в том, что это разные способы хранения последовательностей. Списки (list) в питоне являются встроенным в сам язык способом хранить последовательности. А массивы (array) требуют импортировать библиотеки. В списке можно хранить элементы разных типов. В массиве только элементы одного типа, из-за чего требуется меньше памяти. У списков свои встроенные методы для работы с элементами. У массивов свои, притом в разных библиотеках разные.

Как округлить число до трех десятичных знаков? Ответ: можно использовать функцию round(), Например, чтобы округлить число 3.14159265359 до трех десятичных знаков напишем round(3.14159265359, 3).

Какая разница между словарями и JSON? Ответ: словари используются для хранения данных в памяти компьютера в Python, тогда как JSON используется для передачи данных между различными системами и языками программирования.

Список дополнительных вопросов, которые нужно задавать на собеседовании стажёру / junior'у (по моему скромному мнению):

  1. Как управляется память?

  2. Что такое PEP 8?

  3. Обязательны ли отступы?

  4. Что такое функция?

  5. Что такое локальные и глобальные переменные?

  6. Что такое лямбда-функция?

  7. Какие типы данных поддерживаются?

  8. Что такое индексы?

  9. Что такое словарь?

  10. Что такое итераторы?

  11. Что делает [:: -1}?

  12. Как можно использовать тернарные операторы?

  13. Что такое функция map?

  14. Каков смысл not в операторе?

  15. Как создать пустой класс?

  16. Как преобразовать список в строку?

  17. Как вырваться из бесконечного цикла?

  18. Когда выполняется except, в блоке try-except?

  19. Что такое модули Python?

  20. Как можно удалить переменные?

  21. Что такое генератор?

  22. Освобождается ли вся память при выходе из Python?

Показать полностью 2
6

Продолжение поста «Как я стал Python-разработчиком»6

Сегодня напишем простенькую программу на Python для расчёта индекса массы тела (ИМТ).

Откройте https://replit.com/languages/python3 и начинайте писать код в этом онлайн-редакторе.

Вот как выглядит код программы:

# Запрос роста в сантиметрах и сохранение его в переменную height_cm:

h = int(input("Введите ваш рост в сантиметрах: "))

# Запрос веса в килограммах по аналогии:

m = int(input("Введите ваш вес в килограммах: "))

Вычисляем ИМТ по формуле = m (кг) / (h (м))2, где m — масса тела в килограммах h — рост в метрах. Знак ** используется для возведения числа в степень:

imt = m / ((h / 100) ** 2) # формула ИМТ: вес / (рост в метрах в квадрате)

Самое сложное: пишем условия, где проверяем, находится ли пользователь в определённом диапазоне ИМТ. Если ИМТ меньше 18.5, мы выводим сообщение о недостаточном весе. Если ИМТ между 18.5 и 25, мы выводим сообщение о здоровом весе и т.д.:

if imt < 18.5:

print("Ваш ИМТ составляет", imt, ", что означает, что у вас недостаточный вес. Ешьте больше.")

elif imt < 25:

print("Ваш ИМТ составляет", imt, ", что означает, что ваш вес в норме. Так держать!")

elif imt < 30:

print("Ваш ИМТ составляет", imt, ", что означает, что у вас избыточный вес. Меньше ешьте на ночь.")

else:

print("Ваш ИМТ составляет", imt, ", что означает, что у вас ожирение. Рекомендуется немедленно сесть на диету.")

Полный код выглядит так:

Продолжение поста «Как я стал Python-разработчиком»

Жмите RUN. Поздравляю, вы написали программу на Python.

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

Показать полностью 1
74

Продолжение поста «Как я стал Python-разработчиком»6

Продолжу список полезных материалов по Python для начинающих и более опытных программистов. Все материалы бесплатные.

Показать полностью
266

Продолжение поста «Как я стал Python-разработчиком»6

Список полезных материалов для начинающих, которые мне в своё время очень помогли:

Книги:

  • Изучаем Python. Марк Лутц.

  • Изучаем Python: программирование игр, визуализация данных, веб-приложения. Мэтиз Э.

  • Python. Подробный справочник. Дэвид Бизли.

  • Программируем на Python. Майкл Доусон.

  • Программирование на Python 3. Подробное руководство. Марк Саммерфилд.

  • Совершенный код. Стив Макконнелл.

Показать полностью
85

Как я стал Python-разработчиком6

Я пару лет назад задумывался о том, чтобы перейти в программисты. Вычитал, что самый лёгкий язык для новичков (а главное - востребованный) - это Python.

Python – это высокоуровневый язык программирования, разработанный в начале 1990-х годов Гвидо ван Россумом. Он был создан с целью упрощения процесса разработки и повышения читаемости кода. Питон стал популярен в научных и образовательных кругах, а затем в коммерческой сфере. С течением времени его функциональность расширялась, и в настоящее время он является одним из самых популярных языков программирования.

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

Спустя год начал опять вернулся к идее стать программистом. Вбил в поисковик запрос о Python-программисте и случайно наткнулся на этот пост https://professii.su/programmirovanie/python-razrabotchik.html. Что поразило, так это то, что в ней были почти все ответы на мои вопросы. А главное - в конце представлено большое количество полезных ссылок на учебные материалы. Вот как это выглядит:

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

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

Скажу честно, я прошёл не все курсы, а только несколько. Вот с какого курса советую начать учёбу: https://stepik.org/course/58852 . Вообще на этом сайте полно бесплатных курсов, но этот идеален для новичков, мне как гуманитарию он зашёл.

Я его очень быстро прошёл, задания выполнялись легко (кроме тех, что со звёздочкой),

Одновременно с курсом я проходил курс от Скиллбокса и дополнительно сам более глубже занимался языком.

Из книг советую начать читать М. Лутц «Изучаем Python», это станет вашим настольным руководством. Из видеоуроков очень рекомендую посмотреть лекции Т. Хирьянова: https://www.youtube.com/c/ТимофейХирьянов

Вот какие навыки я смог освоить за 11 месяцев учёбы:

  • Основы языка Python: синтаксис, данные типы, контейнеры, функции, модули;

  • Работа с библиотеками: NumPy, pandas;

  • Web-разработка: Django, Flask, Pyramid;

  • Базы данных: SQL (PostgreSQL, MySQL) и NoSQL (MongoDB);

  • REST API;

  • Git;

  • ООП и паттерны проектирования;

  • Тестирование и отладка кода;

  • Англ. язык на уровне владения техническими терминами.

Разумеется всё я это знал на начинающем уровне.

Но и этого хватило, чтобы устроиться Джуном с начальной зарплатой в 50 000 р. Вот она, нашёл на https://hh.ru/:

Спустя 1,5 года я проявил себя и теперь зарабатываю минимум 100 тыс. руб. в месяц. Работаю в фирме по созданию ИИ. Поэтому всё реально - главное любить свою работу и не гнаться за большими деньгами и всё придёт само собой!

Всем, кто хочет или мечтает стать программистом - начните с малого -пройдите пару-другую бесплатных курсов, посмотрите видео с ютуба тогда вы точно поймёте, надо ли вам это или нет.

Показать полностью 4
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества