Как создать файл с расширением py

Обновлено: 04.07.2024

Сценарий установки является центром всей деятельности по сборке, распространению и установке модулей с помощью Distutils. Основная цель сценария установки — описать дистрибутив вашего модуля для Distutils, чтобы различные команды, работающие с вашими модулями, выполняли правильные действия. Как мы видели в разделе «Простой пример» выше, сценарий установки состоит в основном из вызова setup() , и большая часть информации, предоставляемой Distutils разработчиком модуля, предоставляется в качестве аргументов ключевого слова для setup() .

Вот несколько более сложный пример, которому мы будем следовать в следующих нескольких разделах: собственный сценарий установки Distutils. (Имейте в виду, что хотя Distutils включены в Python 1.6 и более поздние версии, они также существуют независимо, так что пользователи Python 1.5.2 могут использовать их для установки других дистрибутивов модулей. Используется собственный сценарий установки Distutils, показанный здесь. для установки пакета в Python 1.5.2.)

Есть только два отличия между этим и тривиальным однофайловым дистрибутивом, представленным в разделе Простой пример: больше метаданных и спецификация чистых модулей Python по пакетам, а не по модулям. Это важно, поскольку Distutils состоит из пары десятков модулей, разделенных (пока) на два пакета; явный список каждого модуля было бы утомительно создавать и трудно поддерживать. Дополнительные сведения о дополнительных метаданных см. в разделе Дополнительные метаданные .

Обратите внимание, что любые пути (файлы или каталоги), указанные в сценарии установки, должны быть записаны с использованием соглашения Unix, т. е. разделены косой чертой. Distutils позаботится о преобразовании этого независимого от платформы представления в то, что подходит для вашей текущей платформы, прежде чем фактически использовать путь. Это делает ваш сценарий установки переносимым между операционными системами, что, конечно же, является одной из основных целей Distutils. В соответствии с этим все пути в этом документе разделены косой чертой.

Это, конечно, относится только к путям, данным функциям Distutils. Если вы, например, используете стандартные функции Python, такие как glob.glob() или os.listdir(), для указания файлов, вы должны быть осторожны при написании переносимого кода вместо жестких разделителей пути:

2.1. Список целых пакетов¶

Опция пакетов указывает Distutils обрабатывать (собирать, распространять, устанавливать и т. д.) все чистые модули Python, найденные в каждом пакете, упомянутом в списке пакетов. Для этого, конечно же, должно быть соответствие между именами пакетов и каталогами в файловой системе. Соответствие по умолчанию наиболее очевидное, т.е. пакет distutils находится в каталоге distutils относительно корня дистрибутива. Таким образом, когда вы говорите packages = ['foo'] в своем сценарии установки, вы обещаете, что Distutils найдет файл foo/__init__.py (который может быть написан по-другому в вашей системе, но вы поняли) относительно каталог, в котором находится ваш сценарий установки. Если вы нарушите это обещание, Distutils выдаст предупреждение, но все равно обработает поврежденный пакет.

Если вы используете другое соглашение для размещения исходного каталога, это не проблема: вам просто нужно указать параметр package_dir, чтобы сообщить Distutils о вашем соглашении. Например, предположим, что вы храните весь исходный код Python в lib, так что модули в «корневом пакете» (то есть вообще не в каком-либо пакете) находятся в lib, модули в пакете foo находятся в lib/foo и так далее. Тогда вы бы поставили

в сценарии установки. Ключами к этому словарю являются имена пакетов, а пустое имя пакета обозначает корневой пакет. Значения представляют собой имена каталогов относительно корня вашего дистрибутива. В этом случае, когда вы говорите packages = ['foo'] , вы обещаете, что файл lib/foo/__init__.py существует.

Еще одно возможное соглашение — поместить пакет foo прямо в lib , пакет foo.bar в lib/bar и т. д. В сценарии установки это будет записано как

Запись package: dir в словаре package_dir неявно применяется ко всем пакетам ниже package, поэтому случай foo.bar здесь обрабатывается автоматически. В этом примере наличие packages = ['foo', 'foo.bar'] указывает Distutils искать lib/__init__.py и lib/bar/__init__.py . (Имейте в виду, что хотя package_dir применяется рекурсивно, вы должны явно указать все пакеты в пакетах: Distutils не будет рекурсивно сканировать исходное дерево в поисках любого каталога с файлом __init__.py.)

2.2. Список отдельных модулей¶

Для дистрибутива с небольшими модулями вы можете предпочесть перечислить все модули, а не пакеты, особенно в случае одного модуля, который входит в «корневой пакет» (т. е. вообще без пакета). Этот простейший случай был показан в разделе «Простой пример»; вот немного более сложный пример:

Это описывает два модуля, один из которых находится в «корневом» пакете, а другой — в пакете pkg.Опять же, макет пакета/каталога по умолчанию подразумевает, что эти два модуля можно найти в mod1.py и pkg/mod2.py, а также существует pkg/__init__.py. И снова вы можете переопределить соответствие пакета/каталога с помощью параметра package_dir.

2.3. Описание модулей расширения¶

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

Все это делается с помощью другого ключевого аргумента для setup() , опции ext_modules. ext_modules — это просто список экземпляров Extension, каждый из которых описывает один модуль расширения. Предположим, что ваш дистрибутив включает одно расширение, называемое foo и реализованное foo.c. Если никаких дополнительных инструкций компилятору/линковщику не нужно, то описание этого расширения достаточно простое:

Класс Extension можно импортировать из distutils.core вместе с setup() . Таким образом, сценарий установки для дистрибутива модуля, который содержит только это одно расширение и ничего больше, может быть:

Класс Extension (на самом деле базовый механизм построения расширений, реализуемый командой build_ext) поддерживает большую гибкость в описании расширений Python, что объясняется в следующих разделах.

2.3.1. Имена расширений и пакеты¶

Первым аргументом конструктора расширения всегда является имя расширения, включая любые имена пакетов. Например,

описывает расширение, которое находится в корневом пакете, а

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

Если у вас есть несколько расширений в одном пакете (или все в одном базовом пакете), используйте аргумент ключевого слова ext_package для setup() . Например,

скомпилирует foo.c в расширение pkg.foo , а bar.c в pkg.subpkg.bar .

2.3.2. Исходные файлы расширения¶

Вторым аргументом конструктора расширения является список исходных файлов. Поскольку Distutils в настоящее время поддерживают только расширения C, C++ и Objective-C, обычно это исходные файлы C/C++/Objective-C. (Обязательно используйте соответствующие расширения, чтобы отличать исходные файлы C++: кажется, что .cc и .cpp распознаются компиляторами как для Unix, так и для Windows.)

Однако вы также можете включить в список файлы интерфейса SWIG ( .i ); команда build_ext знает, как обращаться с расширениями SWIG: она запустит SWIG для файла интерфейса и скомпилирует полученный файл C/C++ в ваше расширение.

Несмотря на это предупреждение, параметры в SWIG в настоящее время могут передаваться следующим образом:

Или в командной строке следующим образом:

На некоторых платформах вы можете включать не исходные файлы, которые обрабатываются компилятором и включаются в ваше расширение. В настоящее время это означает только текстовые файлы сообщений Windows ( .mc ) и файлы определения ресурсов ( .rc ) для Visual C++. Они будут скомпилированы в двоичные файлы ресурсов ( .res ) и связаны с исполняемым файлом.

2.3.3. Опции препроцессора¶

Три необязательных аргумента для расширения помогут, если вам нужно указать включаемые каталоги для поиска или макросы препроцессора для определения/отмены определения: include_dirs , define_macros и undef_macros .

Например, если вашему расширению требуются файлы заголовков в каталоге include в корне вашего дистрибутива, используйте параметр include_dirs:

Вы можете указать здесь абсолютные каталоги; если вы знаете, что ваше расширение будет создано только в системах Unix с X11R6, установленным в /usr , вы можете обойтись без

Вам следует избегать такого непереносимого использования, если вы планируете распространять свой код: вероятно, лучше писать код на C, например

Если вам нужно включить файлы заголовков из какого-либо другого расширения Python, вы можете воспользоваться тем фактом, что файлы заголовков устанавливаются согласованным образом с помощью команды Distutils install_headers. Например, файлы заголовков Numerical Python устанавливаются (в стандартной установке Unix) в /usr/local/include/python1.5/Numerical. (Точное расположение зависит от вашей платформы и установки Python.) Поскольку включаемый каталог Python — в данном случае /usr/local/include/python1.5 — всегда включается в путь поиска при создании расширений Python, лучший подход заключается в написании кода C, например

Однако, если вам нужно поместить каталог Numerical include прямо в путь поиска заголовка, вы можете найти этот каталог с помощью модуля Distutils distutils.sysconfig:

Несмотря на то, что это вполне переносимо — оно будет работать на любой установке Python, независимо от платформы, — вероятно, проще просто написать свой код C разумным образом.

эквивалентна размещению этого в начале каждого исходного файла C:

2.3.4. Опции библиотеки¶

Вы также можете указать библиотеки, на которые следует ссылаться при создании расширения, и каталоги для поиска этих библиотек. Параметр «библиотеки» — это список библиотек для компоновки, library_dirs — список каталогов для поиска библиотек во время компоновки, а runtime_library_dirs — список каталогов для поиска общих (динамически загружаемых) библиотек во время выполнения.

Например, если вам нужно создать ссылку на библиотеки, о которых известно, что они находятся в стандартном пути поиска библиотек в целевых системах

Если вам нужно связать библиотеки в нестандартном расположении, вам нужно указать это местоположение в library_dirs :

(Опять же, следует избегать такой непереносимой конструкции, если вы собираетесь распространять свой код.)

2.3.5. Другие варианты¶

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

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

Опция extra_objects представляет собой список объектных файлов, которые необходимо передать компоновщику. Эти файлы не должны иметь расширений, так как используется расширение по умолчанию для компилятора.

extra_compile_args и extra_link_args можно использовать для указания дополнительных параметров командной строки для соответствующих командных строк компилятора и компоновщика.

export_symbols полезен только в Windows. Он может содержать список символов (функций или переменных), которые необходимо экспортировать. Этот параметр не нужен при сборке скомпилированных расширений: Distutils автоматически добавит модуль initmodule в список экспортируемых символов.

Опция «зависит» — это список файлов, от которых зависит расширение (например, файлы заголовков). Команда сборки вызовет компилятор исходных файлов для перестроения расширения, если какие-либо из этих файлов были изменены с момента предыдущей сборки.

2.4. Отношения между дистрибутивами и пакетами¶

Распределение может относиться к пакетам тремя способами:

Для этого могут потребоваться пакеты или модули.

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

Это может привести к устаревшим пакетам или модулям.

Эти отношения можно указать с помощью ключевых слов функции distutils.core.setup().

Зависимости от других модулей и пакетов Python можно указать, указав аргумент ключевого слова requires для setup() . Значение должно быть списком строк. Каждая строка указывает необходимый пакет и, при необходимости, достаточные версии.

Чтобы указать, что требуется любая версия модуля или пакета, строка должна полностью состоять из имени модуля или пакета. Примеры включают «mymodule» и «xml.parsers.expat».

Их можно комбинировать, используя несколько квалификаторов, разделенных запятыми (и необязательными пробелами). В этом случае должны совпадать все квалификаторы; логическое И используется для объединения оценок.

Давайте рассмотрим несколько примеров:

Совместима только версия 1.0

Подходят любые версии после 1.0 и до 2.0, кроме 1.5.1

Теперь, когда мы можем указать зависимости, нам также нужно указать, что мы предоставляем, что может потребоваться другим дистрибутивам. Это делается с помощью аргумента ключевого слова provides для setup() . Значением этого ключевого слова является список строк, каждая из которых называет модуль или пакет Python и, возможно, определяет версию. Если версия не указана, предполагается, что она соответствует версии дистрибутива.

Предоставьте mypkg , используя дистрибутивную версию

Предоставить mypkg версии 1.1 независимо от версии дистрибутива

Пакет может объявить, что он делает другие пакеты устаревшими, используя ключевой аргумент obsoletes. Его значение аналогично ключевому слову requires: список строк, задающих спецификаторы модуля или пакета. Каждый спецификатор состоит из имени модуля или пакета, за которым необязательно следует один или несколько квалификаторов версии. Спецификаторы версии указываются в скобках после имени модуля или пакета.

Версии, указанные квалификаторами, устарели в описываемом дистрибутиве. Если квалификаторы не указаны, все версии именованного модуля или пакета считаются устаревшими.

2.5. Установка скриптов¶

До сих пор мы имели дело с чистыми и нечистыми модулями Python, которые обычно не запускаются сами по себе, а импортируются скриптами.

Опция scripts представляет собой просто список файлов, которые будут обрабатываться таким образом. Из сценария установки PyXML:

Изменено в версии 3.1: все сценарии также будут добавлены в файл МАНИФЕСТА, если шаблон не указан.См. раздел Выбор файлов для распространения .

2.6. Установка данных пакета¶

Часто в пакет необходимо установить дополнительные файлы. Эти файлы часто представляют собой данные, тесно связанные с реализацией пакета, или текстовые файлы, содержащие документацию, которая может представлять интерес для программистов, использующих пакет. Эти файлы называются данными пакета.

Данные пакета можно добавлять в пакеты с помощью аргумента ключевого слова package_data функции setup(). Значение должно быть сопоставлением имени пакета со списком относительных путей, которые следует скопировать в пакет. Пути интерпретируются относительно каталога, содержащего пакет (при необходимости используется информация из сопоставления package_dir); то есть ожидается, что файлы будут частью пакета в исходных каталогах. Они также могут содержать шаблоны шаров.

Пути могут содержать части каталога; все необходимые каталоги будут созданы при установке.

Например, если пакет должен содержать подкаталог с несколькими файлами данных, файлы можно расположить в исходном дереве следующим образом:

Соответствующий вызов setup() может быть:

Изменено в версии 3.1: все файлы, соответствующие package_data, будут добавлены в файл МАНИФЕСТА, если шаблон не указан. См. раздел Выбор файлов для распространения .

2.7. Установка дополнительных файлов¶

Опция data_files может использоваться для указания дополнительных файлов, необходимых для распространения модуля: файлы конфигурации, каталоги сообщений, файлы данных и все, что не входит в предыдущие категории.

data_files определяет последовательность пар (каталог, файлы) следующим образом:

Каждая пара (каталог, файлы) в последовательности указывает каталог установки и файлы для установки в него.

Имя каждого файла в files интерпретируется относительно сценария setup.py в верхней части исходного дистрибутива пакета. Обратите внимание, что вы можете указать каталог, в который будут установлены файлы данных, но вы не можете переименовать сами файлы данных.

Вы можете указать параметры data_files как простую последовательность файлов без указания целевого каталога, но это не рекомендуется, и в этом случае команда установки выведет предупреждение. Чтобы установить файлы данных непосредственно в целевой каталог, в качестве каталога необходимо указать пустую строку.

Изменено в версии 3.1: все файлы, соответствующие data_files, будут добавлены в файл МАНИФЕСТА, если шаблон не указан. См. раздел Выбор файлов для распространения .

2.8. Дополнительные метаданные¶

Сценарий установки может включать дополнительные метаданные помимо имени и версии. Эта информация включает:

В этой части серии "Изучение Python" вы узнаете, как создавать файлы Python и запускать их из терминала. Вы будете писать свой самый первый скрипт Python!

Мы будем использовать Visual Studio Code для написания нашего скрипта Python и Cmder (эмулятор терминала) для его запуска, но не стесняйтесь использовать свои собственные инструменты.

Файлы Python

Точно так же, как текстовые файлы имеют расширение .txt, а HTML-файлы имеют расширение .html , файл Python характеризуется расширением .py.

Чтобы создать файл Python, просто сохраните имя файла с расширением your_filename.py, не оставляя пробелов в имени файла.

Вы можете называть файлы любыми именами (за некоторыми исключениями, о которых вы узнаете позже в этой серии статей), однако хорошей идеей будет дать им узнаваемое имя, а не что-то совершенно абстрактное, например x.py .

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

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

Откройте Cmder и перейдите на рабочий стол (или туда, где вы хотите создать каталог)

Мы назовем основной каталог learning_python

Терминал

Теперь перейдите в каталог с помощью команды cd:

Терминал

Мы создадим наш первый подкаталог с именем python_files с помощью команды mkdir и переместимся в него

Терминал

И, наконец, давайте создадим наш первый файл Python! Мы собираемся использовать команду touch и назвать файл main,py :

Терминал

Давайте напишем код на Python!

Написание кода на Python

Код Python записывается построчно в файл .py и читается сверху вниз.

Мы не будем подробно объяснять код (это всего пара строк), так как вы узнаете о нем в следующей части этой серии.

Вы можете открыть код Visual Studio из Cmder с помощью следующей команды:

Терминал

Эта команда откроет VS Code в текущем каталоге, в котором вы находитесь.Вы также можете сделать то же самое, щелкнув правой кнопкой мыши каталог Learning_python и выбрав «Открыть с помощью кода».

Первая строка Python (не стесняйтесь изменить название на свое!):

main.py

Я не хочу, чтобы вы слишком беспокоились о коде, но чтобы вы знали, что мы сделали:

  • Мы создали переменную с именем my_name и присвоили ей значение "Юлиан" с помощью оператора =
  • Переменная — это местозаполнитель для хранения значения или значений, которые затем можно повторно использовать снова и снова.
  • "Юлиан" – это строка, которая в терминах программирования – это строка символов, заключенная в кавычки или апострофы.

Давайте добавим еще одну строку кода ниже:

main.py

Давайте быстро взглянем на вторую строку:

  • Мы используем функцию печати и передаем переменную my_name между скобками ()
  • Функция печати в Python используется для вывода данных на терминал. Какие бы значения мы ни передавали, они будут напечатаны для нашего просмотра

print — это одна из встроенных функций Python, и вы скоро узнаете все о функциях!

Можете ли вы догадаться, что может произойти, когда мы запустим этот файл? Давайте узнаем.

Совет. Обязательно сохраните файл Python. Используйте Ctrl + s в VS Code, чтобы сохранить его

Запуск файлов Python

Запустить файл Python (или сценарии, как их обычно называют) очень просто.

Чтобы запустить файл Python из терминала, просто введите команду python, за которой следует имя вашего файла!

Например (противоположные стрелки <> показывают, где вы должны заменить значение на свое):

Терминал

Если вы находитесь в другом каталоге, вы также можете указать полный путь к файлу Python, например:

Терминал

Мы назвали наш файл main.py , поэтому запустим его следующим образом:

Терминал

Вы должны увидеть следующий вывод в своем терминале:

Терминал

Если вы изменили значение для my_name , вы, конечно же, увидите его вместо этого!

Давайте оживим наш сценарий, распечатав дополнительную информацию.

Замените print(my_name) следующим:

main.py

Опять же, не беспокойтесь о том, что здесь происходит! Вы узнаете все о строках и переменных в следующей части серии.

Мы используем так называемую "интерполяцию строк", чтобы вставить переменную my_name в другую строку, которую затем умножаем на 10 и передаем функции печати.

Сейчас сохраните файл и снова запустите его из терминала:

Терминал

Терминал

Вот это было весело! 😄

Подведение итогов

Это руководство должно научить вас писать и запускать файлы Python, и я надеюсь, вы поняли, насколько это просто.

Мы можем использовать функцию splitext() модуля ОС Python, чтобы получить расширение файла. Эта функция разбивает путь к файлу на кортеж, имеющий два значения — корень и расширение.

Получение расширения файла в Python

Вот простая программа для получения расширения файла в Python.

Вывод:

Расширение файла Python

Расширение файла в Python

  • В первом примере мы напрямую распаковываем значения кортежа в две переменные.
  • Обратите внимание, что файл .bashrc не имеет расширения. Точка добавляется к имени файла, чтобы сделать его скрытым.
  • В третьем примере в имени каталога есть точка.

Получить расширение файла с помощью модуля Pathlib

Мы также можем использовать модуль pathlib для получения расширения файла. Этот модуль появился в версии Python 3.4.

Заключение

Для получения расширения файла всегда лучше использовать стандартные методы. Если вы уже используете модуль os, используйте метод splitext(). Для объектно-ориентированного подхода используйте модуль pathlib.

Как получить размер файла в Python

Как читать из стандартного ввода в Python

Мне нравятся технологии с открытым исходным кодом, и я люблю писать о своем опыте работы с ними.

JournalDev — один из самых популярных веб-сайтов, посвященных Java, Python, Android и связанным с ними техническим статьям. Наши учебники регулярно обновляются, не содержат ошибок и полны. Каждый месяц миллионы таких же разработчиков, как и вы, посещают JournalDev, чтобы прочитать наши руководства.

JournalDev был основан Панкаджем Кумаром в 2010 году, чтобы поделиться своим опытом и знаниями со всем миром. Ему нравятся технологии с открытым исходным кодом, и писать в JournalDev стало его страстью.

Самые популярные

Избранные сайты

© 2021 · Политика конфиденциальности · Условия использования · Свяжитесь с нами · О нас · Часть JournalDev IT Services Private Limited

В Python модуль – это отдельная единица кода Python, которая может быть импортирована (загружена и использована) другим кодом Python.Модуль может содержать определения (такие как функции и константы), а также операторы, которые инициализируют эти определения. После написания кода модуля его можно повторно использовать в любом скрипте, который импортирует модуль.

Распространенный способ создания модуля Python — создать файл с именем, оканчивающимся на .py , и записать в него код модуля. Если мы используем другое расширение файла в имени файла или вообще не используем расширение, стандартные операторы импорта, показанные ниже, не будут работать, и вместо этого нам придется использовать importlib, что требует дополнительного кода (дополнительная информация ниже).

Чтобы проиллюстрировать стандартное использование импорта, предположим, что мы создаем файл с именем mymodule.py со следующим определением функции:

Теперь каждый раз, когда мы хотим написать "Hello, world!" на экран из сценария Python, мы можем просто импортировать этот модуль, а не писать сообщение снова. Это также позволяет нам изменить одну строку кода внутри mymodule.py, а не во многих разных сценариях, если мы когда-нибудь решим изменить сообщение, которое мы хотим показать во всех сценариях, использующих эту функцию.

Импорт файла в тот же каталог

Допустим, у нас есть два файла Python в одном каталоге:

mymodule.py содержит функцию say_hello(), которую мы видели выше.

Чтобы вызвать say_hello() из script.py, мы можем написать в script.py:

Имя, используемое в операторе импорта, представляет собой просто имя файла модуля без расширения .py в конце.

Импорт файла в подкаталог (Python 3.3 и выше)

Версии Python 3.3 и выше позволяют легко импортировать модули в подкаталоги текущего каталога скрипта. Если вы используете версию Python ниже 3.3, вы можете вместо этого выполнить шаги из раздела «Импорт файла в другой каталог».

Допустим, мы перемещаем mymodule.py в подкаталог с именем subdir :

Тогда, если мы используем Python 3.3 или выше, мы можем написать в script.py:

В пути к файловой системе мы разделяем компоненты пути с помощью / (Linux, macOS и т. д.) или \ (Windows). Однако в операторе импорта Python мы разделяем компоненты пути с помощью точки ( . ).

Мы также можем присвоить модулю более короткое имя, используя оператор import - as:

где m — любое выбранное нами имя. Мы также можем импортировать функцию напрямую:

Что есть на этой странице

.PY вариант №

Файлы с расширением .py содержат исходный код Python. Язык Python стал очень популярным в наши дни. Его можно использовать для системных сценариев, веб-разработки и разработки программного обеспечения и математики. Python поддерживает кроссплатформенную совместимость; означает, что разработанные приложения на Python могут работать на разных платформах, таких как Windows, MAC, Linux, Raspberry Pi и т. д. Python предоставляет простой и удобный для чтения синтаксис, похожий на английский язык. Разработчики могут написать разумное программное приложение, написав несколько строк кода Python. Поскольку Python работает в системе интерпретатора, код может быть выполнен сразу после его написания, что делает его очень удобным для прототипирования.

Краткая история

Python был задуман в конце 1980-х годов Гвидо ван Россумом как преемник языка программирования ABC. Его реализация началась в декабре 1989 года, когда Ван Россум был единственным ведущим разработчиком. Он работал над Python до 12 июля 2018 года. В январе 2019 года активные разработчики ядра Python избрали «Руководящий совет» из пяти человек, в который вошли Ник Коглан, Бретт Кэннон, Кэрол Уиллинг, Барри Уоршан и Ван Россум, чтобы возглавить проект.< /p> Версии

  • Python 2.0 был выпущен 16 октября 2000 г.
  • Python 3.0 был выпущен 3 декабря 2008 г.
Как запустить py-файл

Чтобы проверить версию установленного Python, вы можете использовать следующую команду:

Это выведет версию на консоль, например

Чтобы выполнить скрипт Python, вы можете использовать следующую команду:

helloworld.py – это файл сценария, содержащий следующий код

В окне консоли будет напечатано следующее.

Примечание. Если вы используете IDE, они предоставляют кнопки на экране или различные сочетания клавиш для запуска Python. Например, кнопка воспроизведения отображается в поле с редактором PyCharm, позволяющим выполнять скрипт Python.

Формат PY-файла

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

Читайте также: