Начинаем программировать на python
Содержание:
- Deep Anomaly Detection
- Где используется Python и для чего?
- Ресурсы для младших школьников
- Попытка номер два: никогда не знаешь, где тебе повезет
- Зачем учить Python? Преимущества и недостатки языка
- Словарь: структура данных в виде ключ-значение
- Суть процесса
- «Высокотехнологичный» бизнес или сказка про местечковую фемиду
- PHP: начало
- Основы Python — кратко. Строки.
- О главной проблеме обучения Python
- Как пользоваться ADB run
- Где брать информацию
- PocketBook 201 — компактная читалка с некусачей ценой
- Вышла версия 1.0 фреймворка Tornado
- Решение: как выучить Python с нуля
- Что такое Python?
- Язык программирования Python
- Списки: коллекция, массив, структура данных
- Читайте также
- Причина №1: хорошие программисты, плохие учителя
Deep Anomaly Detection
Из песочницы
Детекция аномалий с помощью методов глубокого обучения
Выявление аномалий (или выбросов) в данных — задача, интересующая ученых и инженеров из разных областей науки и технологий. Хотя выявлением аномалий (объектов, подозрительно не похожих на основной массив данных) занимаются уже давно и первые алгоритмы были разработаны еще в 60-ых годах прошлого столетия, в этой области остается много неразрешенных вопросов и проблем, с которыми сталкиваются люди в таких сферах, как консалтинг, банковский скоринг, защита информации, финансовые операции и здравоохранение.В связи с бурным развитием алгоритмов глубоко обучения за последние несколько лет было предложено много современных подходов к решению данной проблемы для различных видов исследуемых данных, будь то изображения, записи с камер видеонаблюдений, табличные данные (о финансовых операциях) и др.
Где используется Python и для чего?
Основные сферы применения данного языка программирования:
Веб-разработка |
Создание сайтов, интернет-сервисов, порталов, парсеров. Питон используют для программирования серверной части, то есть скриптов, которые отвечают за обработку информации и вычисления. Подробно об этом можно прочитать в описании профессии Backend-разработчик. |
Машинное обучение и искусственный интеллект |
Создание поисковых систем и других программ, где применяется AI. Например, в Яндексе и Google активно используют данную технологию. |
Big Data (анализ и обработка больших массивов данных) |
Проведение научных исследований и вычислений, анализ финансовых рынков и составление прогнозов. Основные работодатели – научные центры, банки, инвестиционные фонды. |
Помимо указанных областей, язык программирования Питон используют в мобильной разработке (например, в приложении Инстаграм), компьютерных играх, в телекоммуникационном оборудовании, банкоматах, ЧПУ-станках. На этом языке пишут десктоп-программы, например, графический редактор GIMP.
В числе ИТ-компаний, где востребована данная технология: Facebook, Microsoft, Dropbox, Intel, Cisco, HP, IBM, Qualcomm, Seagate и множество других.
Ресурсы для младших школьников
- Build a «Pypet». Изучите основы программирования на Python, создавая тамагочи в стиле «Pypet» от Татьяны Тилоски.
- Guido van Robot Учебный инструмент, в котором учащиеся пишут простые программы с использованием языка, похожего на Python, для управления моделируемым роботом. Проект включает план обучения, так как прошел испытания в средней школе Йорктауна.
- Python for Kids от Джейсона Р. Бриггса. Книга с примерами кода и головоломками.
- PythonTurtle обучающая среда на Python, подходящая для начинающих и детей. Ресурс ориентирован в преимущественно на детей, но, как известно, успешно используется взрослыми.
- Young Coders tutorial Это полный текст учебника, который ежегодно преподается в PyCon (Северная Америка), с примерами и упражнениями. Это учебное пособие дает базовые навыки и выстраивает работу со сложной логикой и играми. Подходит детям от 10 лет и начинающим взрослым.
- свободно могут использовать для домашнего обучения школьники и студенты старше 13 лет. Исходя из нашего опыта, обучающиеся этого возраста усваивают материал так же быстро, как и взрослые новички в программировании.
Попытка номер два: никогда не знаешь, где тебе повезет
Не знаю, во что вылились бы эти потуги. Но мне очень повезло.
Я простудился.
А потому две недели провалялся на диване в обнимку с книжкой «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5»
Не могу сказать, что это идеальный учебник (мне не с чем сравнить). Но основы он дает хорошо. А главное — в начале объяснения идут буквально на пальцах и с картинками
Это очень важно, потому что помогает разглядеть за закорючками в текстовом файле их смысл, понять суть программирования интуитивно. Помню, для меня поворотным моментом стало сравнение переменных и спичечных коробков
В переменную, как и в коробок, можно положить разное содержание, но сам коробок останется прежним.
Зачем учить Python? Преимущества и недостатки языка
Плюсы |
Минусы |
|
|
Словарь: структура данных в виде ключ-значение
Теперь мы знаем, что списки пронумерованы числовыми значениями. Но что, если мы не хотим использовать числа для идентификации элемента? Некоторые виды структур данных могут использовать числа, строки, или другие виды идентификации.
Одним из таких типов является словарь. Словарь это коллекция пар ключ-значение. Вот так это выглядит:
dictionary_example = { "key1": "value1", "key2": "value2", "key3": "value3" }
Ключ указывает на значение. Чтобы получить доступ к какому-либо значению — нам нужно обратиться к его ключу. Делается это следующим образом:
dictionary_tk = { "name": "Leandro", "nickname": "Tk", "nationality": "Brazilian" } print("My name is %s" %(dictionary_tk)) # My name is Leandro print("But you can call me %s" %(dictionary_tk)) # But you can call me Tk print("And by the way I'm %s" %(dictionary_tk)) # And by the way I'm Brazilian
Я создал словарь о себе. Моё имя, никнейм и национальность. Эти атрибуты ключи в словаре.
Похожим образом на то, как мы получаем элемент из списка по его номеру, точно так же мы получаем значения словарей по их ключам.
В примере я написал предложение о себе используя значения, которые хранятся в словаре. Довольно просто, не правда ли?
Ещё одной хорошей особенностью словарей является то, что мы можем использовать что угодно в качестве значения. В том словаре, что я создал, я хочу добавить новый ключ «age»(возраст) и числом мой реальный возраст в качестве значения:
dictionary_tk = { "name": "Leandro", "nickname": "Tk", "nationality": "Brazilian", "age": 24 } print("My name is %s" %(dictionary_tk)) # My name is Leandro print("But you can call me %s" %(dictionary_tk)) # But you can call me Tk print("And by the way I'm %i and %s" %(dictionary_tk, dictionary_tk)) # And by the way I'm Brazilian
Здесь у нас пара из ключа(age) и значения(24). При этом ключ это строка, а значение это число.
Точно также как со списками, давайте научимся добавлять новый элемент в словарь. Ключ указывающий на значение — главная особенность словаря. И это же одна из особенностей при добавлении нового элемента в словарь:
dictionary_tk = { "name": "Leandro", "nickname": "Tk", "nationality": "Brazilian", "age": 24 } dictionary_tk = 24 print(dictionary_tk) # {'nationality': 'Brazilian', 'age': 24, 'nickname': 'Tk', 'name': 'Leandro'}
Нам просто нужно дописать значение для существующего ключа в словаре. Ничего сложного, не так ли?
Суть процесса
Сущность технологии заключается в передаче тока шлаку, а от него — электроду и кромкам деталей. Стабильность процесса обеспечивается постоянной температурой, которая может достигать 1900-2000 °C.
Основные схемы
Электрошлаковый метод используют не только для соединения деталей, но и для отлива, наплавки. Сварку выполняют плавящимися электродами или мундштуками, присадочными прутками большого диаметра. Существует 6 основных схем работы, которые можно увидеть на изображении.
Стоит рассмотреть особенности каждого варианта:
- Первые 2 способа считаются самыми распространенными. Их применяют для соединения заготовок высотой 2-4,5 см с помощью присадки диаметром 3 мм.
- Третья схема может использоваться для сварки более массивных конструкций. Толщина каждой детали может достигать 12 см.
- Четвертый вариант отличается высокой производительностью.
- Пятая схема относится к категории узконаправленных методов. Ее используют при работе с низколегированными сталями. Высота листа может достигать 10 см.
- Шестая схема предназначена для создания габаритных конструкций без дальнейшей термической обработки. Толщина свариваемых заготовок может составлять до 6 см. Способ помогает получить прочный однородный шов.
Схема процесса сварки.
Типы сварных швов и соединений
Технология ЭШС позволяет варить детали, находящиеся в разных пространственных положениях. Самыми используемыми считаются следующие виды швов:
- Стыковые соединения. Между деталями оставляют небольшое расстояние, что считается главной особенностью электрошлаковой технологии. Порядок разделки кромок и формирования сварных швов регулируется ГОСТ 15164. При сварке встык разных по толщине деталей утончают более толстый край. Допускается приваривание металлической пластины к менее массивной заготовке.
- Тавровые и угловые соединения. Применяются реже, чем стыковые. При использовании плавящегося мундштука сварные кромки разделывают K- или V-образным способом.
- Прямолинейные соединения. Выполняются в вертикальном положении. Допускается небольшой наклон.
- Кольцевые швы. Используются при работе со сферическими или цилиндрическими заготовками.
«Высокотехнологичный» бизнес или сказка про местечковую фемиду
На юге Украины, в месте где река Ингул впадает в реку Южный Буг, раскинулся уездный город Николаев. Город весьма небольшой (около 500 тысяч жителей) и тихий. Но произошла в нем одна печальная история, о которой я хотел бы вам рассказать. Очень уж она характерна для этой страны (и для не этой, думаю, тоже).
Нашел я ее в заметке на местном новостном сайте. Для начала самое основное.
Изначально все было преподнесено как героическая операции, проведенная нашей доблестной Службой Безопасности Украины, совместно чуть ли не с Межпланетной Полицией Ассоциации Млечного Пути.
Нарушители задержаны, суд был скор и справедлив.
Оба обвиняемых осуждены, согласно ч.2 ст. 361 УК Украины, на три года лишения свободы с освобождением от отбывания наказания и испытательным сроком на 1,5 года.
Что же это за статья то такая, спросите вы. Чтобы долго не искать — вот она, вдумайтесь в эти слова:
Ну как, нарисовалась страшная картина взлома серверов Укртелекома и злых хакеров алчно потирающих руки?
Омрачает эту сказку о победе добра над злом только знание того что действительно совершили обвиняемые.
PHP: начало
Желание освоить PHP появилось, когда я начал заниматься собственными информационными сайтами. Лет пять назад, без кучи качественных современных плагинов для WordPress, работать всерьез, не имея навыков разработки было непросто. Постоянно возникали мелкие проблемы, для решения которых приходилось заказывать услуги на фрилансе или задавать вопросы на форумах.
Например:
Задача абсолютно элементарная для любого, кто уделил изучению программирования хотя бы пару недель.
Подлил масла в огонь и неудачный проект, где на подготовку ТЗ и контроль результатов ушло невероятное количество времени и сил. Да я чаще переписывался с программистом, чем с женой! Требовалось поменять ситуацию.
Основы Python — кратко. Строки.
Поскольку число положительных отзывов превысило число отрицательных, продолжу выкладывание уроков. Те кто уже знаком с основами — можете или просто пропустить урок, или попробовать сделать задание 3 самым коротким способом 🙂
Для начала маленькое замечание.
Начиная с Python 2.3, всем, кто использует не-ASCII кодировку нужно добавлять указание о кодировке в самом начале программы. Для русского языка это будет в основном:
# -*- coding: cp1251 -*-
или использовать для хранения исходных текстов файлы utf-8 (что предпочтительней).
Изучив управление числами, пришла пора осваивать строки. Пайтон обладает весьма богатым набором возможностей в этой области.Строки
О главной проблеме обучения Python
Классическая ситуация: человек, который знаком с миром программирования только по имени основателя Microsoft, набирает в поисковике соответствующие запросы об обучении «Питону». Логично, что пользователь открывает первые ссылки. В наиболее популярных статьях дается «избитый» совет – начать читать «классику» в виде Марка Лутца и Марка Саммерфилда.
Такой подход в корне неверен
Обучение по книгам предложенных авторов (особенно это касается новичков) с самого начала стопорит процесс. Человеку, который не разбирается в тематике, предлагают на прочтение книгу объемом около 1000 страниц. Содержание и этапы чтения можно поделить на следующие периоды:
- Первые 40 страниц – история языка Python.
- Следующие полсотни страниц – рассказ про интерпретатор.
- Последующие 100 страниц – базовые типы.
Что дальше? Человек попросту перестает читать нудную литературу.
Авторы наподобие Марка Лутца или Марка Саммерфилда – это полезное, но крайне трудное чтиво для начинающих. Советовать сразу же переходить на литературу в тысячу страниц – признак дурного тона.
Ранний этап должен происходить по другому сценарию. Человеку, который желает изучить «Питон», нет смысла изучать тонкости базовых типов. Ключевое значение имеет интерес.
Новичку необходимо вовлечься в код, «прочувствовать» его
Нет смысла требовать от ученика досконального знания особенностей работы интерпретатора. Гораздо больший эффект будет иметь запуск первой программы «Hello World».
Как пользоваться ADB run
Где брать информацию
Сайты
Сайты — хороший способ получить информацию, которая разбита на большое количество недлинных статей. Программисту достаточно найти нужную статью по нужной теме, в которой будет коротко и ясно дана теория, подкреплённая примерами кода.
Преимущество сайтов перед видео в том, что скорость получения информации зависит только от способностей обучающегося быстро читать и воспринимать информацию. По сравнению с книгами, информация более самодостаточна, то есть для понимания кода в статье не нужно читать несколько других статей.
Хороший пример сайта для обучения: “all-python.ru”. Здесь можно найти всю необходимую теорию с примерами, а также реализацию простых программ, таких как калькулятор и календарь.
Видео-уроки на YouTube
Видео-уроки отлично подойдут для тех, кто хорошо воспринимает информацию на слух. Они более наглядны, чем книги или статьи, хотя и ограничивают зрителя в скорости усвоения информации.
Курсы
Этот ресурс для обучения объединяет в себе видео-уроки, текстовую информацию и практику. Каждый курс имеет определённую программу, поэтому каждый следующий урок связан с предыдущим, что помогает лучше понять и запомнить информацию.
Курсы — отличная возможность выучить Python для новичков, однако они не станут самодостаточным источником информации, особенно при углублённом изучении.
Техническая литература
Технические книги — самый лучший способ изучить теорию. Информация в них обычно является самой достоверной и полной, однако обилие теории и терминов делает чтение книг довольно сложным занятием.
Кроме того, для полноты изучения, каждую тему из книги нужно подкреплять практикой, которой обычно не достаточно.
PocketBook 201 — компактная читалка с некусачей ценой
Украинские разработчики PocketBook анонсировали разработку новой компактной читалки, основанной на технологии e-ink — PocketBook 201. Новая модель является более компактным вариантом и предыдущей разработки PocketBook 301.
Новая модель как и «старший брат» отличается всеядностью и пониманием множества форматов (в числе которых fb2 и даже djvu).
Кроме того, интересной особенностью является наличие встроенного гиродатчика, который будет менять направление перелистывания при перекладывании устройства в другую руку автоматически.
Ориентировочные сроки появления новинки в продаже — лето этого года, цена также обещает быть привлекательной (около 250 долларов).
Кстати, активное обсуждение с участием разработчиков ведется на форуме.UPD: внешний вид устройства может быть изменен так как на дизайн предъявила претензии компания Booken.
Вышла версия 1.0 фреймворка Tornado
Популярный проект, по созданию неблокирующего web-сервера и «сопутствующего» фреймворка на языке Python, объявил о релизе версии 1.0.
Скачать новую версию можно тут:
По сравнению с последним релизом версии 0.2, было добавлено множество новшеств,
— возможность запуска WSGI-приложений, под управлением сервера Tornado (например приложения Django и CherryPy)
— улучшенная производительность в MacOS X (с использованием kqueue) и экспериментальная поддержка win32
— переписан класс AsyncHTTPClient
— поддержка .mo файлов в модуле локализации
— поддержка пре-форкинга для запуска нескольких процессов Tornado
— поддержка SSL и gzip в HTTP-сервере
И многое другое.
Решение: как выучить Python с нуля
Если вы хотите увеличить свои шансы на успешное изучение Python, то нужно использовать подход, который поможет избежать эти трех ловушек. Python нужно не просто учить, его нужно учить правильно. Следующие шаги помогут в этом:
Понять, зачем вы учите Python
Все вытекает из этой мотивации и очень важно понимать, изучаете ли вы , робототехники, разработки игр или чего-то еще.
Изучить основы синтаксиса языка. Именно основы! Не нужно учить все
Изучение синтаксиса — важная часть, но она может быть скучной, и желательно минимизировать потраченное на нее время. Главное — взять то, что понадобится для начала работы над собственными проектами. Этот этап будет еще проще, если удастся найти ресурсы или обучающие материалы, которые рассказывают основы, но с упором на ту сферу, которая интересует в первую очередь. Например, при изучении data science полезно использовать реальные данные в своих экспериментальных проектах.
Создавать проекты с четкой структурой. В этом плане помогут руководства, в которых расписаны все шаги. Важно начать работать над интересующим проектом как можно раньше.
Создавать уникальные и все более сложные вещи по мере приобретения новых способностей. После работы над несколькими проектами у вас должны появиться идеи для собственных. Приступайте к ним, даже если кажется, что навыков недостаточно. Они появятся в процессе работы.
Нужно всего лишь разбить проект на маленькие и понятные часты. Предположим, есть идея для приложения, которое будет анализировать настроение в Твиттере. Это очень крупный проект, но его можно разделить на элементы и работать с каждым по отдельности. Сначала нужно разобраться, как получить доступ и использовать API сайта. Дальше нужно переходить к фильтрованию твитов и сохранению тех, которые потребуется проанализировать. Потом — очистить данные и искать методы, которые подойдут для анализа настроения.
Такой подход подойдет для проекта любого типа. Не обязательно знать все, прежде чем браться за работу. Разбейте ее на части, учитесь и совершенствуйтесь в процессе.
Много времени уйдет на поиск ответов в Google, StackOverflow и официальной документации Python, и это абсолютно нормально! Один из не-секретов индустрии в том, что даже профессионалы проводят большую часть времени в поисках ответов на свои вопросы.
Это продолжение четвертого шага, которое предусматривает увеличивающуюся сложность с каждым новым проектом. Если же вы с самого начала знаете, как реализовать каждую из частей проекта, то это, наверное, не лучшая идея — будет слишком легко, а процесс ничему не научит.
Важно, чтобы задания были сложными, но не казались невозможными. При изучении игровой разработки не стоит после первой «Змейки» переходить к разработке трехмерной RPG в открытом мире
Это слишком сложно. Но игра должна быть сложнее той же «Змейки».
Что такое Python?
Python – это интерпретируемый, высокоуровневый язык программирования общего назначения. Он используется в самых разных приложениях, включая веб и мобильную разработку. Python является объектно-ориентированным языком с открытым исходным кодом. Он спроектирован с помощью языка C и предоставляет динамическую семантику.
Python легко читаем, а в его структурных элементах легко разобраться, поэтому он отлично подходит для начинающих. Однако он не ограничен в базовом использовании. Python отвечает за поддержку одних из самых сложных сайтов и приложений в мире.
Python поддерживает все особенности объектно- и процедурно-ориентированных языков программирования. Так что неудивительно, что его предпочитают программисты, занимающиеся быстрой разработкой (RAD). Он предлагает динамическое связывание и динамическое тейпирование.
Язык программирования Python
Последнее обновление: 06.11.2020
Python представляет популярный высокоуровневый язык программирования, который предназначен для создания приложений различных типов.
Это и веб-приложения, и игры, и настольные программы, и работа с базами данных.
Довольно большое распространение питон получил в области машинного обучения и исследований искусственного интеллекта.
Основные особенности языка программирования Python:
-
Скриптовый язык. Код программ определяется в виде скриптов.
-
Поддержка самых различных парадигм программирования, в том числе объектно-ориентированной и функциональной парадигм.
-
Интерпретация программ. Для работы со скриптами необходим интерпретатор, который запускает и выполняет скрипт.
Выполнение программы на Python выглядит следующим образом. Сначала мы пишим в текстовом редакторе скрипт с набором выражений на данном языке программирования. Передаем этот скрипт
на выполнение интерпретатору. Интерпретатор транслирует код в промежуточный байткод, а затем виртуальная машина переводит полученный байткод в набор инструкций, которые выполняются операционной системой.Здесь стоит отметить, что хотя формально трансляция интерпретатором исходного кода в байткод и перевод байткода виртуальной машиной в набор машинных команд представляют
два разных процесса, но фактически они объединены в самом интерпретаторе. -
Портативность и платформонезависимость. Не имеет значения, какая у нас операционная система — Windows, Mac OS, Linux, нам достаточно написать скрипт, который будет запускаться на всех этих ОС
при наличии интерпретатора -
Автоматическое управление памяти
-
Динамическая типизация
Python — очень простой язык программирования, он имеет лаконичный и в то же время довольно простой и понятный синтаксис. Соответственно его
легко изучать, и собственно это одна из причин, по которой он является одним из самых популярных языков программирования именно для обучения. В частности, в 2014 году он был
признан самым популярным языком программирования для обучения в США.
Python также популярен не только в сфере обучения, но в написании конкретных программ в том числе коммерческого характера. В немалой степени
поэтому для этого языка написано множество библиотек, которые мы можем использовать.
Кроме того, у данного языка программирования очень большое коммьюнити, в интернете можно найти по данному языку множество полезных материалов, примеров, получить
квалифицированную помощь специалистов.
Установка Python
По нажатию на кнопку будет загружен соответствующей текущей ОС установщик Python.
На ОС Windows при запуске инсталлятора запускает окно мастера установки:
Здесь мы можем задать путь, по которому будет устанавливаться интерпретатор. Оставим его по умолчанию, то есть
C:\Users\\AppData\Local\Programs\Python\Python36\.
Кроме того, в самом низу отметим флажок «Add Python 3.9 to PATH», чтобы добавить путь к интерпретатору в переменные среды.
После установки в меню Пуск на ОС Windows мы сможем найти иконки для доступа к разным утилитам питона:
Здесь утилита Python 3.9 (64-bit) представляет интерпретатор, в котором мы можем запустить скрипт. В файловой системе сам файл интерпретатора можно найти по пути,
по которому производилась установка. На Windows по умолчанию это путь C:\Users\\AppData\Local\Programs\Python\Python37, а сам интерпретатор представляет
файл python.exe. На ОС Linux установка производится по пути /usr/local/bin/python3.9.
Вперед
Списки: коллекция, массив, структура данных
Представьте что вы хотите сохранить значение 1 в переменной. или может теперь вы хотите сохранить 2. А ещё 3, 4, 5…
Есть ли иной способ хранить все числа, что нам нужны, не имея при этом, не создавая при этом миллионы переменных? Как оказывается, есть иной способ хранить их всех.
Список(массив) это коллекция, которая может быть использована для хранения нескольких значений(в нашем случае чисел). Используется он следующим образом:
my_integers =
Это действительно просто. Мы создали список и сохранили его в my_integers.
Но затем мы спросим себя: «А как нам получить нужное значение из списка?».
Хороший вопрос. В списках есть концепция, которая зовётся номером(индексом). Номером первого элемента в списке является 0, следующий получает 1 и так далее.
Чтобы донести это проще, мы можем представить список, у которого каждый элемент подписан своим номером. Как на следующей картинке:
Используя синтаксис Python не сложно понять и следующее:
my_integers = print(my_integers) # 5 print(my_integers) # 7 print(my_integers) # 4
Представьте, что мы больше не хотим хранить числа. Вместо этого мы хотим составить список имён наших знакомых. Мой выглядел бы следующим образом:
relatives_names = print(relatives_names) # Kaio
Это работает точно так же, как и с числами. Неплохо.
Только что мы выучили, как работают индексы в списках. Но мне всё ещё нужно показать вам, как добавить новый элемент в список.
Самая простая функция, которую можно использовать для этого — зовётся append. Работает она следующим образом:
bookshelf = [] bookshelf.append("The Effective Engineer") bookshelf.append("The 4 Hour Work Week") print(bookshelf) # The Effective Engineer print(bookshelf) # The 4 Hour Work Week
Функция append донельзя проста. Вам всего лишь нужно использовать новый элемент(в примере выше это “The Effective Engineer”) как значение это функции.
Ну что же, достаточно о списках. Перейдём к следующей структуре данных.
Читайте также
Причина №1: хорошие программисты, плохие учителя
Большинство ресурсов для изучения программирования созданы самими программистами, которые хотят помочь остальным учиться. К сожалению, хороший программист не всегда будет хорошим учителем. Для тех, кто работает с Python годами, может оказаться сложным поставить себя на место новичка.
А на практике при первом знакомстве действительно сложно понять некоторые концепции в программировании. Например, способ индексации данных, таких как списки, в Python. Люди с опытом работы с кодом знают, что первый пункт в списке — это нулевой элемент. Но обычные люди привыкли считать, начиная с единицы.
Конечно, есть конкретные объяснения, почему в Python используется индексация с нуля. Но в программировании полно таких концепций. Начинающим они могут показаться не только сложными в начале, но и просто неинтуитивными.
Опытные специалисты обычно не помнят, как сами справлялись с подобными проблемами, поэтому ожидают от начинающих «просто запомнить, как есть». Однако такой подход подойдет лишь некоторым. Остальные же разочаровываются и бросают заниматься раньше времени.
Большинству требуются подробные объяснения, контекст и практика, чтобы освоить сложные вещи. Большинство ресурсов, посвященных обучению и обещающих научить Python с нуля, предлагают такие объяснения, которые будут понятны только программистам с опытом, но их сложно осознать остальным. Это и заставляет сдаваться.