Мероприятия
Импортозамещение. ОС Astra Linux: особенности перехода, технические и организационные вопросы.
Бесплатный вебинар в записи. Для ответственных за переход на отечественное ПО

Отвечаем на популярные вопросы о языке Python

Отвечаем на популярные вопросы о языке Python


6 Января 2019 года

Отвечаем на популярные вопросы о языке Python

Python — отличный язык для большого количества различных задач: от веба до научных расчетов. Кроме того, он достаточно простой. Настолько, что начать писать на нем можно за день-два. Однако никто не будет спорить, что Python достаточно сильно отличается от большиства популярных языков — таких, как C, C++, C# или Java. В Мы собрали ответы на распространенные вопросы и объяснения некоторых «странностей» Python, которые часто занимают головы как новичков, так и опытных специалистов. 

  • Почему для некоторых вещей используются методы (list.index()), а для некоторых — операторы (len(list))? 
Это было сделано в первую очередь для улучшения читаемости. Вторая, немаловажная причина — возможность реализовать эти методы на C. 

  • Почему в Python нет switch/case? 
Эти операторы легко заменяются if ... elif ... else или словарем с коллбеками. 

  • Почему итерироваться по списку быстрее, чем по строке? 
Это справедливо только для Python 2, но не для Python 3. Кроме того, индексация по массиву происходит быстрее из-за меньшего количества различных проверок. 

  • Почему в Python используется GIL (Global Interpreter Lock)? 
Основные преимущества GIL — лучшая производительность в однопоточных программах и более легкая интеграция с потоконебезопасными C-библиотеками. 

  • Зачем в названии некоторых методов есть знаки подчеркивания в начале? 
Согласно PEP8, одно нижнее подчеркивание в начале названия метода используется для скрытия метода из списка импортируемых (подобно protected в Java), два подчеркивания — для подстановки имени класса. Методы с двумя знаками подчеркивания в начале и двумя в конце (например, __init__()) — т.н. «магические». Их название и назначение строго определены стандартом языка. 

  • Почему необходимо писать self у каждого метода? 
Эта идея была заимствована из Modula-3. У такого объявления и вызова методов есть много преимуществ. В том числе: вы можете вызвать любой метод класса на любом объекте, нет необходимости в модификаторах или ключевых словах вроде static, более читаемый и понятный код.

ХОТИТЕ ЗНАТЬ БОЛЬШЕ? Смотрите ближайшее расписание курсов в Академии АйТи в 2019 году: