Язык программирования Python: для чего он нужен, плюсы и минусы
- История создания языка Python
- Насколько Python популярен
- Преимущества: чем хорош Python
- Недостатки Python
- Где используется Python
История создания языка Python
Создатель языка Python — нидерландский программист Гвидо ван Россум. Он был участником проекта по написанию ABC, языка для обучения программированию. В конце 1989 года Гвидо приступил к разработке нового языка и задумал его как потомка ABC, способного к обработке исключений и взаимодействию с операционной системой Amoeba. Так и получился Python.
Откуда такое название? Многие разработчики считают, что язык назван в честь семейства змей, но это не так. Когда Гвидо работал над проектом, он любил смотреть комедийное шоу «Летающий цирк Монти Пайтона», поэтому и нарёк своё творение в честь британской комик-группы. Так что правильно произносить название языка как «Пайтон».
Python свободно распространялся через интернет и со временем у него появились последователи — люди, заинтересованные в развитии этого языка программирования. Первая публикация Python состоялась в феврале 1991 года — это была версия 0.9.0. В 1994 году Гвидо опубликовал Python 1.0, а потом одна за другой выпустились и другие версии: до 2.0 язык обновился в октябре 2000, до 3.0 — в декабре 2008. В октябре 2021 мир увидела самая свежая версия — Python 3.10.0.
Материал по теме:
Серьёзный язык для backend: что такое Python и как стать Python-разработчиком
Насколько Python популярен
По данным GitHub на июнь 2021 года, Python входит в топ-5 самых популярных языков, уступая только JSX, JavaScript и Java.
Топ популярных языков программирования летом 2021
В чём секрет такой популярности в использовании языка? Python подходит для решения широкого круга задач и применяется на всех популярных платформах. Росту популярности Python способствовала и его эффективность в стремительно развивающихся сферах Machine Learning и Data Science.
Ещё одна причина — техническая. С развитием технологий увеличились вычислительные мощности персональных компьютеров и серверов, как результат — вырос спрос на интерпретируемые языки программирования, в том числе и на использование Python. Дело в том, что в таких языках помимо запуска самой программы необходим ещё запуск интерпретатора, а это требует дополнительных ресурсов. Раньше с этим были проблемы, но теперь они решены.
Попробуйте себя в роли Python‑разработчика
Освойте новую профессию с нуля и заработайте 6 проектов в портфолио: сайты, API и телеграм-бот. Начните с бесплатной вводной части курса «Python-разработчик».
Преимущества: чем хорош Python
Простота синтаксиса, а значит — низкий порог вхождения. Код языка чистый и понятный, без лишних символов и выражений.
Сравните количества строчек кода, необходимое для вывода фразы «Hello, world!» на языках C, C++, Java и Python — и всё поймете
Расширяемость и гибкость. Не зря один из слоганов языка — это «Just Import!» Python можно легко расширить для взаимодействия с другими программными системами или встроить в программы в качестве компонента. Он очень и очень гибкий. Это даёт больше возможностей для использования языка в разных сферах.
Интерпретируемость и кроссплатформенность. Интерпретатор Python есть для всех популярных платформ и по умолчанию входит в большинство дистрибутивов Linux.
Стандартизированность. У Python есть единый стандарт для написания кода — Python Enhancement Proposal или PEP, благодаря чему язык остаётся читабельным даже при переходе от одного программиста к другому.
Open Source. У интерпретатора Python открытый код, то есть любой, кто заинтересован в развитии языка, может поучаствовать в его разработке и улучшении.
Сильное комьюнити и конференции. Вокруг Python образовалось дружественное комьюнити, которое готово прийти на помощь новичку или уже опытному разработчику и разобраться в его проблеме.
Широта применения. Наиболее широко Python используется в web-разработке, работе с данными, автоматизации бизнес-процессов и геймдеве.
Востребованность на рынке труда и поддержка гигантами IT-сферы. Python-разработчики востребованы во многих проектах и им несложно найти работу. Разработку на Python ведут в Google, Facebook, Dropbox, Spotify, Quora, Netflix, Microsoft Intel, а в России — «Яндекс», «ВКонтакте» и «Сбербанк». Это серьёзно влияет на статус языка.
Недостатки Python
У Python, как и у любого другого языка, есть не только плюсы, но и минусы, а среди разработчиков — не только фанаты, но и хейтеры. Вот в чём обвиняют этот язык:
Низкая производительность. Python требует высоких вычислительных мощностей серверов и компьютеров. Это делает его не таким быстрым, как хотелось бы, он отстаёт от других языков по части производительности. В условиях сильного развития мощностей это не так заметно, как раньше, но всё равно даёт о себе знать. Чтобы нивелировать эту проблему, разработчики обращаются к C для реализации проблемного участка кода.
Динамическая типизация. Python относится к языкам с динамической типизацией, что делает его невероятно гибким при разработке. Но при этом он потребляет много ресурсов и имеет низкую скорость выполнения программы.
Глобальная блокировка интерпретатора (GIL). Это способ синхронизации потоков, который используется в некоторых интерпретируемых языках программирования, например, в Python и Ruby. Хотя GIL является самым простым способом избежать конфликтов при одновременном обращении разных потоков к одним и тем же участкам памяти, у такого подхода есть недостаток — ограничение параллельности вычислений. Также он не позволяет достигать высокой эффективности вычислений при работе на многоядерных и мультипроцессорных системах.
Синтаксис и семантика.

Где используется Python
Три основные сферы использования языка — это веб-разработка, Big Data и Machine Learning и написание скриптов:
Веб-разработка. Сегодня Python активно используется в веб-разработке наряду с такими языками, как PHP, JavaScript, Java и С#. Существенный плюс Python состоит в том, что он подходит для небольших бизнесов, у которых нет отдела разработки на 50 человек и которые реализуют относительно несложные проекты. Поэтому к нему стали все чаще обращаться.
Преимущества использования Python для бэкенда по сравнению с PHP — простота обучения, улучшенная структура, легкодоступные инструменты для отладки языка, универсальность и наличие дружественного комьюнити.
Для веб-разработки на Python понадобится знание фреймворков. Наиболее популярные — Django и Flask.
Data Science и Machine Learning. Горячие сегодня сферы, в которых Python используют и для анализа данных, и чтобы писать алгоритмы ML-программ и в аналитических приложениях. Среди популярных фреймворков и библиотек для ML программисты выделяют scikit-learn и TensorFlow.
Написание скриптов. Скриптинг — написание скриптов для автоматизации простых задач. Например, это могут быть дополнительные модули или плагины к уже готовому программному обеспечению. Также Python используют для автоматизации тестирования ПО.
Помимо этого, Python применяется для написания и разработки программных и мобильных приложений, во встроенных системах, системном администрировании и даже в геймдеве — есть из чего выбрать, если вы решите стать Python-разработчиком.
Статью подготовили:
Поделиться
Читайте также:
Всё, что нужно знать новичку о Java
Перейти в статью
Топ языков программирования: плюсы и минусы — какой язык выбрать новичку для изучения
Перейти в статью
Лето ― самое время выбрать новую профессию, не спеша пройти бесплатный курс и начать карьеру в IT.
Язык Python — для чего нужен и где используется?
upd:
Александр Попов
2.8K
Содержание:развернуть
Python — привлекательный язык программирования, который стремительно набирает поклонников по всему миру. Достаточно открыть любой рейтинг популярных и актуальных языков (например рейтинг от TIOBE) и увидеть, что «Питон» стабильно находится в тройке лидеров списка.
Python на 1-м месте в рейтинге tiobe.com (октябрь 2021).Что уж говорить — американские пользователи гуглили слово «Python» чаще, чем «Ким Кардашьян», а российские интернет-серферы искали «змею» чаще, чем «Тимати».
На популярность повлияли две сильных стороны Python — простота и гибкость. Синтаксис — не такой зубодробительный, как у традиционных С или С++. Со «змеиным языком» смогут справиться даже школьники.
Python — это уникальное совмещение простоты и мощи
Такое способен продемонстрировать далеко не каждый инструмент для программирования.
Где используется язык Python
Мировой размах применения обусловлен не только синтаксисом и мощью, но и философией языка. Принципы Python доступны каждому — достаточно ввести в любом интерпретаторе код
и узнать основные положения, которые лежат в основе «Питона».
Возможности Python опробованы десятками организаций.
Python используют в крупные мировые брендыМощь и гибкость языка находит применение у следующих мировых брендов:
- Google — скраппинг поиска и улучшение работы YouTube;
- Netflix — анализ данных на серверной стороне, аллертинг;
- BitTorrent — реализация сетей peer-to-peer;
- Pixar, Industrial Light & Magic, Disney — анимационные фильмы;
- Intel, Cisco, IBM — тестирование;
- JPMorgan, UBS, Citadel — прогнозирование финансовых рынков;
- iRobot — создание роботизированных устройств.
Как видно, возможности Python используются в решении разносторонних задач. Рядовые пользователи Всемирной сети обожают YouTube, который частично написан на языке Python, в то время как гиганты информационных технологий Intel или IBM активно используют «змею» для тестирования и исследований.
Помимо указанных организаций, алгоритмы Python также используются в следующих брендах:
- Instagram;
- Facebook;
- Yahoo.
Возможности Python активно внедряются и в отечественные проекты. Mail.ru и Яндекс используют алгоритмы, которые написаны на данном языке программирования.
Перечисленные бренды — лишь вершина айсберга. Достаточно сказать, что Python — это основной инструмент для исследовательских работ в NASA. Для инновационных космических проектов требовался практичный и простой язык программирования с большим функционалом, и «Питон» стал любимцем специалистов.
Что можно написать на Python
Чрезвычайная гибкость Python позволяет использовать язык программирования во многих областях человеческой деятельности. Python как профессиональный инструмент актуален в следующих отраслях:
- девопс;
- тестирование;
- скраппинг;
- машинное обучение и Data Science;
- веб-разработка;
- геймдев.
В 2021 году, компания JetBrains провела опрос — для каких задач программисты используют Python? Лидирующие места занимают — веб разработка, анализ данных, машинное обучение, программирование скраперов и системное администрирование.
Возможности языка отнюдь не ограничиваются перечисленными сферами. Начинающим программистам и рядовым пользователям нет нужды изучать машинное обучение, чтобы удостовериться в пользе Python.
Вещи, которые будут полезны каждому и которые может создать любой человек на Python:
- автоматизация рутины;
- наблюдение за курсом валют;
- разработка калькулятора;
- микроблог;
- видеоигры.
Постоянное создание и переименование файлов, обновление электронных таблиц — от такой скучной работы никто не застрахован. «Питон» может выполнять все процессы за пользователя, оставляя последнему только чистое творчество.
Для школьников будет интересным изучать возможности Python в мире видеоигр. На основе языка можно создавать полноценные приложения, которыми смогут пользоваться другие люди. Специальная библиотека PyGame поможет в разработке аркад, паззлов и даже серьезных RPG. Что уж говорить — есть книга, которая позволяет изучать Python, управляя миром Minecraft.
Профессиональные области использования языка Python стоит рассмотреть подробнее. Явное лучше, чем неявное.
Девопс
DevOps — технология взаимодействия специалистов по разработке со специалистами по информационно-технологическому обслуживанию + взаимная интеграция их рабочих процессов. Около 30% всех вакансий по Development and Operations требуют знания «Питона». «Змеиный язык» сместил Perl и стал лидером в отрасли. Девопс требует четкого сценария, и язык программирования Python — идеальный инструмент для такой работы.
Тестирование
Королем тестирования остается Java, но Python постепенно захватывает все больше жизненного пространства. Адекватный специалист должен владеть обоими инструментами для правильной и всесторонней автоматизации тестирования. Данную особенность прекрасно понимает Google, который активно использует Python в своей деятельности.
Скраппинг
«Питон» оснащен всем необходимым для веб-скрапинга: библиотекой Requests, фреймворком Scrapy и специальным АПИ для Selenium. Возможности языка позволяют оптимизировать работу любого веб-сайта. Функционал позволяет разрабатывать генераторы отзывов, спам-машины и скрипты для парсинга.
Машинное обучение
Современный информационные технологии делают акцент на развитие искусственного интеллекта. Машинное обучение — это Альфа и Омега разработки ИИ. Специальные библиотеки «змеиного языка» позволяют составлять прогнозы и ориентироваться в науке данных:
- Pandas;
- NumPy;
- ScyPi;
- Scikit-Learn.
Создание визуализации, распознавание речи и лица — все это доступно с помощью инструментария, который предоставляет Python. Для работы в области машинного обучения требуется не только отличный инструмент, но и умная голова. От специалиста необходимо доскональное знание математики и статистики.
Веб-разработка
«Питон» входит в тройку лидеров, которые регулярно используются для разработки сайтов и различных веб-приложений. В отличие от PHP (этот язык ругает множество профессионалов), Python позволяет создать адекватную и читаемую программу, для которой не будут требоваться «костыли».
Основные Веб-фреймворки:
- Django;
- Twisted;
- Tornado;
- Flask.
Мощь Python — в быстрой и качественной разработке сложных веб-приложений. Арсенал «Питона» включает множество модулей, которые подходят для статистики и аналитических исследований. Отдельного внимания заслуживает возможность разрабатывать ГИС-сервисы, так как Python предоставляет все необходимое для работы с геоданными.
Веб-разработка остается перспективным направлением для Python. Начинающим специалистам имеет смысл не только изучать стандартные PHP/CSS/JavaScript, но и приглянуться к возможностям «Питона».
Геймдев
Куда без индустрии видеоигр. Потенциал Python позволяет разрабатывать как скромные, так и крупнобюджетные проекты. Яркие тому примеры — EVE-Online и серия игр WarGaming. В разработке используются четыре движка, которые работают на «Питоне» — Kivy, PyGame, Panda 3D и Ren’Py. Каждый игровой движок активно применяется в создании различных игровых приложений. При должном стартапе Python может принести неплохой заработок и стать отличной альтернативой традиционным «игровым» языкам.
Что не стоит писать на Питоне
Несмотря на огромный потенциал, язык слабо подходит для ряда отраслей. Яркий пример — область микроконтроллеров ➖. Отечественные «питонисты» убедительно демонстрировали возможности инструмента MicroPython, но реальный список микроконтроллеров, которые поддерживает «Питон» — практически нулевой.
Другая область — кросс-платформенные GUI приложения ➖. У Python есть инструменты, которые позволяют писать такие программы:
- PyQt;
- WxPython;
- Tkinter;
- PyGTK.
На практике ни один инструмент не позволяет разработать полностью кросс-платформенное приложение. Постоянно встречаются несостыковки, ошибки и другие «подводные камни». Коммерческий Desktop — это еще одна сомнительная область для работы на «Питоне».
Отдельным особняком стоит разработка мобильных приложений ➖. Реальной работы в области Mobile Development, которая требует знаний «Питона», на рынке не найти. Лучше изучать другие, более традиционные инструменты (пример — Java).
Проблема малой пригодности Python кроется не в возможностях самого языка программирования, а в рыночных тенденциях и человеческих привычках. Программисты привязаны к классическим инструментам, которые ничуть не хуже возможностей «Питона». Тем не менее Python остается одним из самых перспективных языков программирования, которые стоит изучать начинающим специалистам.
HeadHunter красноречиво демонстрирует нарастающую востребованность как «Питона», так и отраслей, где применяется данный язык программирования.
Область действия переменных Python (с примерами)
В этом руководстве мы узнаем о глобальных, локальных и нелокальных переменных Python с помощью примеров.
Видео: Локальные и глобальные переменные Python
В Python мы можем объявлять переменные в трех различных областях: локальной, глобальной и нелокальной.
Область действия переменной указывает область, в которой мы можем получить доступ к переменной. Например,
по умолчанию add_numbers(): сумма = 5 + 4
Здесь переменная sum создается внутри функции, поэтому доступ к ней возможен только внутри нее (локальная область). Этот тип переменной называется локальной переменной.
В зависимости от области видимости переменные Python можно разделить на три типа:
- Локальные переменные
- Глобальные переменные
- Нелокальные переменные
Локальные переменные Python
Когда мы объявляем переменные внутри функции, эти переменные будут иметь локальную область видимости (внутри функции). Мы не можем получить к ним доступ вне функции.
Эти типы переменных называются локальными переменными. Например,
по умолчанию приветствие(): # локальная переменная сообщение = 'Привет' print('Местный', сообщение) приветствовать() # пытаемся получить доступ к переменной сообщения # вне функции приветствия() печать (сообщение)
Вывод
Местное приветствие NameError: имя «сообщение» не определено
Здесь переменная message является локальной для функции приветствия ()
, поэтому к ней можно получить доступ только внутри функции.
Вот почему мы получаем сообщение об ошибке, когда пытаемся получить к нему доступ вне функции greet()
.
Чтобы решить эту проблему, мы можем сделать переменную с именем message глобальной.
Глобальные переменные Python
В Python переменная, объявленная вне функции или в глобальной области видимости, называется глобальной переменной. Это означает, что глобальная переменная может быть доступна внутри или вне функции.
Давайте рассмотрим пример создания глобальной переменной в Python.
# объявить глобальную переменную сообщение = 'Привет' приветствовать(): # объявить локальную переменную print('Местный', сообщение) приветствовать() print('Global', сообщение)
Вывод
Местное приветствие Global Hello
На этот раз мы можем получить доступ к переменной message извне функции Greeting()
. Это потому, что мы создали переменную message в качестве глобальной переменной.
# объявить глобальную переменную сообщение = 'Привет'
Теперь сообщение будет доступно из любой области (региона) программы.
Нелокальные переменные Python
В Python нелокальные переменные используются во вложенных функциях, локальная область действия которых не определена. Это означает, что переменная не может находиться ни в локальной, ни в глобальной области видимости.
Мы используем ключевое слово nonlocal
для создания нелокальных переменных. Например,
# внешняя функция защита внешняя(): сообщение = 'местный' # вложенная функция защита внутренняя(): # объявить нелокальную переменную нелокальное сообщение сообщение = 'нелокальный' print("внутреннее:", сообщение) внутренний() print("внешний:", сообщение) внешний()
Выход
внутренний: нелокальный external: nonlocal
В приведенном выше примере есть вложенная функция inner()
. Мы использовали ключевые слова
nonlocal
для создания нелокальной переменной.
Функция inner()
определена в области действия другой функции external()
.
Примечание : Если мы изменим значение нелокальной переменной, изменения отобразятся в локальной переменной.
Содержание
Python Scopes и их встроенные функции
Чему вы научитесь?
- Что такое области в Python и их различные типы
- Какой тип области использовать и когда для написания эффективных кодов
- Что такое правило LEGB и как оно помогает в областях Python
- Как изменить поведение области Python
- Когда использовать встроенные функции, связанные с областью действия
Овладение некоторыми из этих тем становится проще, если вы посещаете классный или расширенный онлайн-курс по Python, который охватывает как минимум все аспекты области действия в Python. Освойте аргументы командной строки sys.argv в Python, нажмите здесь. Но перед этим давайте кратко познакомимся с областью видимости Python.
Что такое область действия Python?
В Python переменные просто недоступны из класса, в котором они были объявлены. Чтобы узнать, где существуют переменные в программе и как получить к ним доступ, зависит от того, как они были объявлены. Часть программы, в которой легко доступны переменные, функции и объекты, в Python обычно называется областью действия.
Типы областей в Python:
В Python существует четыре типа областей, а именно:
- Глобальная область действия
- Локальная область действия
- Включающая область действия
- Встроенная область действия
Глобальная область действия (с примером)
Глобальная область действия относится к именам переменных, которые определены в основном теле программы. Они видны и доступны на протяжении всей программы. Переменные или объекты, объявленные в глобальной области видимости, легко доступны для всех функций внутри программы. Давайте разберемся с глобальной областью видимости с помощью кода.
сообщение = "Привет" определение python_developer(): developer = "Добро пожаловать в программирование на Python!" печать (сообщение, разработчик) определение имя_разработчика (имя): печатать(сообщение, имя) python_developer() имя_разработчика("Отметить!") ВЫХОД: Привет, добро пожаловать в программирование на Python! Эй, Марк!
Внимание: В соответствии с хорошей привычкой программирования рекомендуется избегать использования глобальных переменных как можно чаще. Почему? Потому что их легко изменить, и результатом может быть ошибочный вывод. Глобальные переменные также повышают уязвимость кода. Это не означает, что вы вообще не будете использовать глобальные переменные. Как правило, попробуйте использовать те переменные и объекты в глобальной области видимости, которые предназначены для явного глобального использования, как функции и объекты.
Локальная область действия относится к именам, которые определены внутри функции и являются локальными для этой функции. Доступ к ним возможен с момента его определения до конца блока, в котором он был определен. Локальная область видимости существует до момента выполнения функции. Давайте разберемся с локальной областью видимости с помощью кода.
определение local_test(): значение = 1 # Распечатать оператор 1 print("Определенное значение: ", значение) локальный_тест() ВЫХОД: Значение определяет: 1
Обратите внимание на ошибку, если вы запустите следующий код.
определение local_test(): значение = 1 print("Первое определенное число: ", значение) ВЫХОД: Traceback (последний последний вызов): Файл "C:/Projects/untitled/basic.py", строка 4, вprint("Определенное значение: ", значение) NameError: имя «значение» не определено
Охватывающая область или нелокальная область
Охватывающая область также известна как нелокальная область. Они относятся к именам переменных, определенных во вложенной функции. Проще говоря, эти переменные не присутствуют ни в локальной, ни в глобальной области видимости. Чтобы создать нелокальную переменную во внешней области, используйте ключевое слово non-local. Давайте разберемся с объемлющей областью действия с помощью кода.
определение parent_nest(): начальное_значение = 5 защита child_nest(): следующее_значение = 10 print("Значение, определенное в родительской функции: ", initial_value) print("Значение, определенное в родительской функции: ", next_value) child_nest() parent_nest() ВЫХОД: Значение, определенное в родительской функции: 5 Значение, определенное в родительской функции: 10
Встроенная область
Если переменная или объект не найдены в локальной, глобальной или объемлющей области, Python начинает искать ее во встроенной области. Встроенные области действия — одни из самых широких областей действия, которые охватывают все зарезервированные ключевые слова. Их легко вызвать в любом месте программы перед их использованием, без необходимости их определения.
По мере того, как мы продвигаемся к более сложному использованию области действия в Python, мы рекомендуем онлайн-обучение программированию на Python, которому вы можете следовать, применяя эти концепции в реальных проектах Python.
Изменение поведения области Python
Поведение области Python является строгим. Хотя python обеспечивает доступ к глобальным именам из любого места, их изменение строго ограничено. С помощью разрешенных ключевых слов вы можете изменить поведение области Python. Два ключевых слова, разрешенных в Python для изменения поведения области Python:
- Глобальное ключевое слово
- Локальное ключевое слово
Глобальное ключевое слово
Чтобы определить переменную, объявленную внутри функции, как глобальную, мы должны использовать ключевое слово global. Используя ключевое слово global, за которым следует имя переменной, вы просите Python использовать глобально определенную переменную вместо создания локальной переменной. Давайте разберемся с этой концепцией с помощью фрагмента кода.
Вы можете использовать несколько глобальных операторов с одним именем. Все имена, которые вы перечисляете в глобальном операторе, будут автоматически сопоставлены с глобальной областью действия, в которой вы их определяете. Давайте разберемся, как использовать глобальное ключевое слово с помощью кода.
сообщение = "Привет" определение python_developer(): глобальное сообщение1 message1 = "Добро пожаловать в программирование на Python!" print("В сообщении функции: ", сообщение) python_developer() print("Сообщение внешней функции: ", message1) сообщение print("Сообщение: ", сообщение) ВЫХОД: Сообщение в функции: "Эй! Сообщение внешней функции: «Добро пожаловать в программирование на Python! Сообщение: «Эй,
Нелокальное ключевое слово
Подобно ключевому слову global, Python также позволяет обращаться к нелокальным именам внутри функций. Чтобы использовать ключевое слово, введите nonlocal, а затем имя переменной. При использовании более одной переменной используйте запятую. Давайте научимся использовать нелокальные ключевые слова с помощью кода.
определение my_message(): message = "Эй, программисты!" # Нелокальная переменная защита вложенная(): nonlocal message # Объявить переменную как нелокальную вложенный() распечатать (сообщение) мое сообщение() ВЫХОД: Привет, Программисты!
LEGB Правило
LEGB — это сокращение от (Local Enclosing Global Built-in), за которым следует интерпретатор Python при выполнении кода.
Правило LEGB в Python – это алгоритм поиска по имени, в котором Python ищет области в определенном порядке. Например, если вы хотите найти ссылочное имя, Python будет искать все области видимости в соответствии с правилом LEGB. Это означает, что интерпретатор будет искать локальную область действия, затем глобальную область действия, затем заключающий тег и, наконец, просмотр встроенных областей действия. Если имя отсутствует ни в одной из четырех областей, возможно, вы получите сообщение об ошибке.
Использование встроенных функций, связанных с областью действия
Встроенные функции Python относятся к области действия и пространству имен Python. Наиболее часто используемые области видимости — это globals(), locals(), dirs() и vars(), и это лишь некоторые из них. Эти функции упрощают получение информации об области видимости или пространстве имен Python. Поскольку они встроены, они доступны бесплатно, и вам не нужно извлекать их из какой-либо библиотеки или импортировать из модуля.
globals()
Функция globals() относится к области видимости и пространствам имен в Python. Он обновляет и возвращает словарь, представляющий текущую глобальную таблицу символов. Когда вы вызываете globals() внутри функционального блока, будут возвращены имена, к которым можно получить глобальный доступ из функции. Давайте разберемся с globals() с помощью кода.
баллов = 23 глобальные()['оценка'] = 10 print('Оценка:', оценка) ВЫХОД: Оценка: 10
locals()
Еще одна функция — locals(), которая связана с областью действия и пространствами имен в Python. Он обновляет и возвращает словарь с копией текущего состояния локальной области Python. Когда вы вызываете locals() внутри функционального блока, будут возвращены имена, к которым можно обратиться локально из функции. Давайте разберемся с locals() с помощью кода.
# Без использования локальных переменных защита test_1(): print("Нет локальной переменной: ", locals()) # Использование локальных переменных защита test_2(): Язык = "Программирование на Python" print("Локальная переменная: ", locals()) тест_1() тест_2() ВЫХОД: Нет локальной переменной : {} Локальная переменная: {'Language': 'Python Programming'}
Давайте посмотрим еще на один код:
def test(): оценка = 10 местные жители () ['счет'] = 200 print('Оценка:', оценка) тест() ВЫХОД: Счет: 10
dir()
Важная встроенная функция dir() относится к области видимости и пространствам имен в python. Он возвращает список допустимых атрибутов. Более того, поведение функции dir() отличается для разных типов объектов, поскольку она нацелена на создание наиболее релевантной информации, а не полной информации. Давайте разберемся с dir() с помощью кода.
баллов = [5, 2, 3] печать (режим (баллы)) print('\n Возвращает значения из пустого каталога()') печать (директория ()) ВЫХОД: ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__' , ' __gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new __' , '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setItem__', '__sizeof__', '__str__', '__subclasshouk копировать», «подсчитывать», «расширять», «индексировать», «вставлять», «извлекать», «удалять», «переворачивать», «сортировать»] Возвращает значения из пустого каталога() ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'scores']
vars()
Функция vars() — еще одна встроенная функция, связанная с областью действия и пространствами имен в Python. Он возвращает атрибут __dict__ для модулей, классов, экземпляров или объектов. Важно отметить, что __dict__ — это специальный словарь, используемый Python для реализации пространств имен. Помните, что если вы пропустите атрибут vars(), он будет вести себя как locals(). Давайте разберемся с vars() с помощью кода.
класс Баллы: def __init__(self, Roll_1 = "Алиса", Roll_2 = "Белла", Roll_3 = "Золушка"): self.Roll_1 = Roll_1 self.Roll_2 = Roll_2 self.Roll_3 = Roll_2 счет = баллы () печать (переменные (оценка)) ВЫХОД: {'Roll_1': 'Алиса', 'Roll_2': 'Белла', 'Roll_3': 'Белла'}
Заключение:
Области действия Python эффективны для написания надежного и эффективного кода самым простым и технически подкованным способом. Поскольку видимость имени определяется сложным образом, вероятность ошибок, возникающих из-за конфликта имен или неправильного использования глобальных имен, очень мала.
Помимо встроенной области видимости в Python, вы также можете реализовать локальную, вложенную и глобальную область видимости.