Как проверить есть ли python на компьютере windows

Подробная статья рассматривающая способы проверки установки Python в операционных системах Windows, Linux и MacOS.

Как проверить установлен ли Python?

На чтение 3 мин Просмотров 5.4к. Опубликовано 16.09.2020

Подробная статья рассматривающая способы проверки установки Python в операционных системах Windows, Linux и MacOS.

Содержание

  1. Введение
  2. Как найти python в Microsoft Windows?
  3. Как найти python в Unix подобных ОС (Linux и MacOS)
  4. Заключение

Введение

Не редкий случай, когда начинающие программисты определились с выбором языка программирования и решили написать свою первую программу, чаще всего — hello world. Но где найти и как открыть python?

Подход для каждой операционной системы различается, приведу примеры для Windows и Linux.

Как найти python в Microsoft Windows?

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

Как найти python в Microsoft Windows?
Как найти python в Microsoft Windows?

В Windows 10 по умолчанию поисковая строка — отсутствует, но до тех пор, пока вы не начнете вводить текст. Введите — python и если в вашей системе он установлен windows найдет это приложение. 

На моей тестовой системе установленные 2 версии python.

Как найти python в Unix подобных ОС (Linux и MacOS)

В большинстве дистрибутивов Unix python установлен по умолчанию. Более того, он поставляется в двух версия, python2.7 и python3. 

Чтобы найти исполняемый файл python — запустите эмулятор терминала и введите в него команду which python

Как найти python в Unix подобных ОС (Linux и MacOS)
Как найти python в Unix подобных ОС (Linux и MacOS)

Результатом выполнения команды будет путь до исполняемого файла. Но как узнать какой версии python? Для этого необходимо выполнить еще одну команду в терминале — /usr/bin/python —version

Как найти python в Unix подобных ОС (Linux и MacOS)
Как найти python в Unix подобных ОС (Linux и MacOS)

Как видим, данный исполняемый файл версии 2.7.16.

Но наверняка вам нужна более актуальная и поддерживаемая версия Python 3. Её тоже не составит труда найти и достаточно выполнить команду which python3

Как найти python в Unix подобных ОС (Linux и MacOS)
Как найти python в Unix подобных ОС (Linux и MacOS)

Как видим — результат выполнения команды путь до исполняемого файла ( пути до исполняемых файлов могут отличаться из за разных структур файловой системы операционных систем). 

Осталось проверить версию интерпретатора python3.

Как найти python в Unix подобных ОС (Linux и MacOS)
Как найти python в Unix подобных ОС (Linux и MacOS)

У нас установлена версия Python 3.8.0.

Так же большинство дистрибутивов создают символические ссылки на исполняемые файлы, для их быстрого запуска без указания полного пути к исполняемому файлу. Например запустить версию python2.7 можно командой python2.7, а версию 3 командой python3

Как найти python в Unix подобных ОС (Linux и MacOS)
Как найти python в Unix подобных ОС (Linux и MacOS)

Заключение

Теперь вы знаете как найти python на вашем компьютере вне зависимости от вашей операционной системы. 

Егор Егоров

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

Ссылка на мой github есть в шапке. Залетай.

Windows не содержит Python в списке предустановленных программ. Вы можете скачать его и установить дополнительно. Во время первой установки Python 3 на Windows могут возникнуть трудности, поэтому мы создали этот туториал. Просто следуйте инструкции и у вас все получится.

Какую версию Python скачать — 2 или 3?

Больше 10 лет назад вышла новая версия python, которая разделила сообщество на 2 части. Сразу это вызывало много споров, новичкам приходилось выбирать: python 2 или python 3. Сегодня большая часть обучается третей версии. На этой версии мы и покажем как установить язык программирования python на Windows.

На этой странице вы можете скачать python для Windows.
В вверху разработчики предлагают выбрать версию.
Скачать Python на WindowsНажмите на ссылку которая начинается словами “Последний выпуск Python 3…” и попадете на страницу последней версии Python 3. Сейчас это 3.7.2.

Если вы не планируете работать с проектом, который написан на Python 2, а таких довольно много. Скачайте python 2+. Для веб разработки, анализа данных и многих других целей лучшим вариантом будет python 3 версии.

Внизу страницы версии ссылки на скачивание установщиков. Есть возможность скачать python под 64-битную и 32-битную Windows.

скачать python под 64-битную и 32-битную Windows

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

Скачайте и запустите установщик Python 3, он называется “python-3.****.exe”.

Если на компьютере уже установлена python 2, нет необходимости удалять его. На установку Python 3 она не повлияет.

На первом экране отметьте пункт “Add Python 3.7 to PATH” и нажмите “Install Now”.

Установка python 3 на WindowsПосле установки появится возможность отключить ограничение длины MAX_PATH. В системах Linux этих ограничений нет. Проигнорировав этот пункт, вы можете столкнуться с проблемой совместимости в будущем. Код созданный на Linux не запустится на Windows.

отключить ограничение длины MAX_PATHСоветуем отключить эту опцию. Если вы точно уверены, что не столкнетесь с проблемой совместимости, нажмите “Close”

Как проверить уставился ли python

Самый быстрый и простой способ узнать, есть ли интерпретатор python на компьютере — через командную строку.

  1. Запустите cmd.exe через диспетчер задач или поиск.
  2. Введите python
    В результате командная строка выведет версию python, которая установлена в системе.
    командная строка выведет версию python

Если версия python 2 или вы получили ошибку:

"python" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Следуйте инструкциям ниже. Это легко исправить.

Как добавить python в переменную PATH (ADD to PATH)

Откройте окно “Система” с помощью поиска.

Как открыть систему на windows

В окне “Система”, нажмите “Дополнительные параметры системы”. Откроется “Свойства системы”. Во вкладке “Дополнительно”, нажимайте “Переменные среды” как на фото ниже.

Как открыть переменные среды на windows

В открывшемся окне выберите Path -> “Изменить”. Откроется новое окно, куда вы должны добавить путь к интерпретатору python.

Как добавить python в переменную PATH

Путь у каждого свой, похож на C:UsersUserNameAppDataLocalProgramsPythonPython37. Где Python37 — папка с python.

Нажмите “Создать” и добавьте 2 пути. К папке python и pythonScripts

Как добавить python в переменную PATH 2

Как создать отдельную команду для python 2 и python 3

Чтобы использовать обе версии python, измените python.exe на python2.exe, в папке с python 2. А в папке с python 3 , python.exe на python3.exe.

Теперь проверьте обе версии:

>python2 -V
Python 2.7.14

>python3 -V
Python 3.7.2

После этих не сложных действий, python установлен на вашем Windows и готов к работе в любом текстовом редакторе.

Попробуйте создать свою первую программу:
Первая программа на Python «Hello world»

I have to run a Python script on a Windows server. How can I know which version of Python I have, and does it even really matter?

I was thinking of updating to the latest version of Python.

Peter Mortensen's user avatar

asked Jan 18, 2012 at 21:43

Ali_IT's user avatar

6

In a Python IDE, just copy and paste in the following code and run it (the version will come up in the output area):

import sys
print(sys.version)

Peter Mortensen's user avatar

answered Jan 3, 2014 at 4:47

pzp's user avatar

pzppzp

6,1811 gold badge27 silver badges38 bronze badges

6

Python 2.5+:

python --version

Python 2.4-:

python -c 'import sys; print(sys.version)'

mcandre's user avatar

mcandre

22k19 gold badges87 silver badges145 bronze badges

answered Jan 18, 2012 at 21:45

Abbas's user avatar

AbbasAbbas

6,6704 gold badges35 silver badges49 bronze badges

5

At a command prompt type:

python -V

Or if you have pyenv:

pyenv versions

Eric Leschinski's user avatar

answered Jan 18, 2012 at 21:45

Brian Willis's user avatar

Brian WillisBrian Willis

22.1k9 gold badges46 silver badges50 bronze badges

0

Although the question is «which version am I using?», this may not actually be everything you need to know. You may have other versions installed and this can cause problems, particularly when installing additional modules. This is my rough-and-ready approach to finding out what versions are installed:

updatedb                  # Be in root for this
locate site.py            # All installations I've ever seen have this

The output for a single Python installation should look something like this:

/usr/lib64/python2.7/site.py
/usr/lib64/python2.7/site.pyc
/usr/lib64/python2.7/site.pyo

Multiple installations will have output something like this:

/root/Python-2.7.6/Lib/site.py
/root/Python-2.7.6/Lib/site.pyc
/root/Python-2.7.6/Lib/site.pyo
/root/Python-2.7.6/Lib/test/test_site.py
/usr/lib/python2.6/site-packages/site.py
/usr/lib/python2.6/site-packages/site.pyc
/usr/lib/python2.6/site-packages/site.pyo
/usr/lib64/python2.6/site.py
/usr/lib64/python2.6/site.pyc
/usr/lib64/python2.6/site.pyo
/usr/local/lib/python2.7/site.py
/usr/local/lib/python2.7/site.pyc
/usr/local/lib/python2.7/site.pyo
/usr/local/lib/python2.7/test/test_site.py
/usr/local/lib/python2.7/test/test_site.pyc
/usr/local/lib/python2.7/test/test_site.pyo

Peter Mortensen's user avatar

answered May 31, 2015 at 11:17

user2099484's user avatar

user2099484user2099484

4,3092 gold badges20 silver badges9 bronze badges

1

When I open Python (command line) the first thing it tells me is the version.

answered Jan 18, 2012 at 21:47

poy's user avatar

poypoy

9,8339 gold badges45 silver badges72 bronze badges

2

In [1]: import sys

In [2]: sys.version
2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Dec  6 2015, 18:08:32) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]

In [3]: sys.version_info
sys.version_info(major=2, minor=7, micro=11, releaselevel='final', serial=0)

In [4]: sys.version_info >= (2,7)
Out[4]: True

In [5]: sys.version_info >= (3,)
Out[5]: False

answered May 26, 2016 at 13:34

wsdzbm's user avatar

wsdzbmwsdzbm

2,8093 gold badges23 silver badges26 bronze badges

In short:

Type python in a command prompt

Simply open the command prompt (Win + R) and type cmd and in the command prompt then typing python will give you all necessary information regarding versions:

Python version

mar10's user avatar

mar10

13.9k5 gold badges38 silver badges64 bronze badges

answered Dec 15, 2016 at 9:48

Dastagir Husain Yasin's user avatar

2

I have Python 3.7.0 on Windows 10.

This is what worked for me in the command prompt and Git Bash:

To run Python and check the version:

py

To only check which version you have:

py --version

or

py -V    # Make sure it is a capital V

Note: python, python --version, python -V,Python, Python --version, Python -V did not work for me.

Peter Mortensen's user avatar

answered Dec 23, 2018 at 3:24

dahiana's user avatar

dahianadahiana

1,1212 gold badges9 silver badges10 bronze badges

1

>>> import sys; print('{0[0]}.{0[1]}'.format(sys.version_info))
3.5

so from the command line:

python -c "import sys; print('{0[0]}.{0[1]}'.format(sys.version_info))"

answered Jul 22, 2016 at 7:28

Baczek's user avatar

BaczekBaczek

1,1391 gold badge13 silver badges22 bronze badges

Use

python -V

or

python --version

NOTE: Please note that the «V» in the python -V command is capital V. python -v (small «v») will launch Python in verbose mode.

Peter Mortensen's user avatar

answered Nov 21, 2015 at 0:47

Yogesh Yadav's user avatar

Yogesh YadavYogesh Yadav

4,3496 gold badges32 silver badges38 bronze badges

0

You can get the version of Python by using the following command

python --version

You can even get the version of any package installed in venv using pip freeze as:

pip freeze | grep "package name"

Or using the Python interpreter as:

In [1]: import django
In [2]: django.VERSION
Out[2]: (1, 6, 1, 'final', 0)

Peter Mortensen's user avatar

answered May 17, 2015 at 6:13

Pooja's user avatar

PoojaPooja

1,23414 silver badges17 bronze badges

To check the Python version in a Jupyter notebook, you can use:

from platform import python_version
print(python_version())

to get version number, as:

3.7.3

or:

import sys
print(sys.version)

to get more information, as

3.7.3 (default, Apr 24 2019, 13:20:13) [MSC v.1915 32 bit (Intel)]

or:

sys.version_info

to get major, minor and micro versions, as

sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)

answered Jan 9, 2020 at 19:25

nucsit026's user avatar

nucsit026nucsit026

6327 silver badges16 bronze badges

On Windows 10 with Python 3.9.1, using the command line:

    py -V

Python 3.9.1

    py --version

Python 3.9.1

    py -VV

Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64 bit 
(AMD64)]

answered Sep 12, 2016 at 15:04

Sam's user avatar

SamSam

2133 silver badges7 bronze badges

2

If you are already in a REPL window and don’t see the welcome message with the version number, you can use help() to see the major and minor version:

>>>help()
Welcome to Python 3.6's help utility!
...

Peter Mortensen's user avatar

answered Feb 15, 2019 at 12:41

OrigamiEye's user avatar

OrigamiEyeOrigamiEye

7501 gold badge8 silver badges27 bronze badges

Typing where python on Windows into a Command Prompt may tell you where multiple different versions of python are installed, assuming they have been added to your path.

Typing python -V into the Command Prompt should display the version.

answered Feb 8, 2020 at 5:07

Pro Q's user avatar

Pro QPro Q

4,1144 gold badges39 silver badges86 bronze badges

If you have Python installed then the easiest way you can check the version number is by typing «python» in your command prompt. It will show you the version number and if it is running on 32 bit or 64 bit and some other information. For some applications you would want to have a latest version and sometimes not. It depends on what packages you want to install or use.

answered Aug 13, 2017 at 22:45

Sagar_c_k's user avatar

1

To verify the Python version for commands on Windows, run the following commands in a command prompt and verify the output:

c:> python -V
Python 2.7.16

c:> py -2 -V
Python 2.7.16

c:> py -3 -V
Python 3.7.3

Also, to see the folder configuration for each Python version, run the following commands:

For Python 2, 'py -2 -m site'
For Python 3, 'py -3 -m site'

Peter Mortensen's user avatar

answered Apr 2, 2019 at 17:16

Aamir M Meman's user avatar

For me, opening CMD and running

py

will show something like

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

Peter Mortensen's user avatar

answered Dec 29, 2015 at 12:42

Joginder Sharma's user avatar

1

Just create a file ending with .py and paste the code below into and run it.

#!/usr/bin/python3.6

import platform
import sys

def linux_dist():
  try:
    return platform.linux_distribution()
  except:
    return "N/A"

print("""Python version: %s
dist: %s
linux_distribution: %s
system: %s
machine: %s
platform: %s
uname: %s
version: %s
""" % (
sys.version.split('n'),
str(platform.dist()),
linux_dist(),
platform.system(),
platform.machine(),
platform.platform(),
platform.uname(),
platform.version(),
))

If several Python interpreter versions are installed on a system, run the following commands.

On Linux, run in a terminal:

ll /usr/bin/python*

On Windows, run in a command prompt:

dir %LOCALAPPDATA%ProgramsPython

Peter Mortensen's user avatar

answered Mar 19, 2018 at 13:24

Don Matteo's user avatar

1

There are two simple ways to check for the version of Python installed.

Run any of the codes on the command prompt:

python -v

or

python --version

answered Jul 28, 2022 at 4:43

Happy N. Monday's user avatar

Happy N. MondayHappy N. Monday

1931 gold badge2 silver badges6 bronze badges

For the latest versions please use the below command for the python version

py -V

answered Aug 1, 2022 at 3:56

Jb-99's user avatar

Jb-99Jb-99

1359 bronze badges

Mostly usage commands:

python -version

Or

python -V

answered Jun 8, 2020 at 12:23

KittoMi's user avatar

KittoMiKittoMi

4135 silver badges18 bronze badges

The default Python version and the paths of all installed versions on Windows:

py -0p

One-Liners:

❯❯  python -V | cut -c8-
3.11.0

❯❯ ~ python -VV
Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)]

❯❯ ~ python --version
Python 3.11.0

❯❯ ~ py --list
-V:3.11 *        Python 3.11 (64-bit)
-V:3.10          Python 3.10 (64-bit)
-V:3.9           Python 3.9 (64-bit)

❯❯ ~ py -V
Python 3.11.0

❯❯ ~ py -VV
Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)]

❯❯ ~ py --version
Python 3.11.0

❯❯ ~ py -0p
-V:3.11 *        W:Windows 10Python311python.exe
-V:3.10          W:Windows 10Python310python.exe
-V:3.9           C:Program FilesPython39python.exe

❯❯ ~ python -c 'import sys; print(".".join(sys.version.split(".")[0:2]))'
3.11

❯❯ ~ python -c 'import sys; print(sys.version)'
3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)]

❯❯ ~ python -c 'import sys; print((str(sys.version_info.major) +"."+ str(sys.version_info.minor)))'
3.11

❯❯ ~ python -c 'import sys; print(sys.version_info)' sys.version_info(major=3, minor=11, micro=0, releaselevel='final', serial=0)

❯❯ ~ python -c 'import platform; print(platform.python_version()[:-2])'
3.11

❯❯ ~ python -c 'import platform; print(platform.python_version())'
3.11.0

❯❯ ~ python -c 'import platform; print("{0[0]}.{0[1]}".format(platform.python_version_tuple()))'
3.11

❯❯ ~ python -c 'import platform; print(platform.python_version_tuple())'
('3', '11', '0')

answered Dec 5, 2021 at 11:44

Szczerski's user avatar

SzczerskiSzczerski

7099 silver badges9 bronze badges

For bash scripts this would be the easiest way:

# In the form major.minor.micro e.g. '3.6.8'
# The second part excludes the 'Python ' prefix 
PYTHON_VERSION=`python3 --version | awk '{print $2}'`
echo "python3 version: ${PYTHON_VERSION}"
python3 version: 3.6.8

And if you just need the major.minor version (e.g. 3.6) you can either use the above and then pick the first 3 characters:

PYTHON_VERSION=`python3 --version | awk '{print $2}'`
echo "python3 major.minor: ${PYTHON_VERSION:0:3}"
python3 major.minor: 3.6

or

PYTHON_VERSION=`python3 -c 'import sys; print(str(sys.version_info[0])+"."+str(sys.version_info[1]))'`
echo "python3 major.minor: ${PYTHON_VERSION}"
python3 major.minor: 3.6

answered Jan 8, 2021 at 12:31

Giorgos Myrianthous's user avatar

as of 2022, to check what version you’re on you can do python --version

answered Jul 31, 2022 at 0:11

orangey's user avatar

Open a command prompt window (press Windows + R, type in cmd, and hit Enter).

Type python.exe

Peter Mortensen's user avatar

answered Jun 29, 2017 at 7:28

Erina's user avatar

ErinaErina

811 gold badge2 silver badges13 bronze badges

1


Download Article

A step-by-step guide on checking your Python version


Download Article

This wikiHow teaches you how to find which version of Python is installed on your Windows or macOS computer.

  1. Image titled Check Python

    1

    Open Windows Search. If you don’t already see a search box in the taskbar, click the magnifying glass or circle next to

    Image titled Windowsstart.png

    , or press Win+S.

  2. Image titled Check Python

    2

    Type python into the search bar. A list of matching results will appear.

    Advertisement

  3. Image titled Check Python

    3

    Click Python [command line]. This opens a black terminal window to a Python prompt.

  4. Image titled Check Python

    4

    Find the version in first line. It’s the number right after the word “Python” at the top-left corner of the window (e.g. 2.7.14).

  5. Advertisement

  1. Image titled Check Python

    1

    Open a Terminal window on your Mac. To do this, open the Applications folder in Finder, double-click the Utilities folder, then double-click Terminal.

  2. Image titled Check Python

    2

    Type python -V at the prompt (V uppercase).

  3. Image titled Check Python

    3

    Press Return. The version number will appear on the next line after the word “Python” (e.g. 2.7.3).

  4. Advertisement

Add New Question

  • Question

    I downloaded Python 3.7 but when I check it says that the version is 2.7. What should I do ? (I tried reinstalling it.)

    faith daniel

    faith daniel

    Community Answer

    To prevent further hassle, just download the 3.x version or the latest version from the Python website (python.org).

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Thanks for submitting a tip for review!

About This Article

Article SummaryX

To check which version of Python is installed on your Windows PC, start by opening the Windows Search and typing “Python” into the search bar. When the list of matching results comes up, click “Python” to open a black terminal window to a Python prompt. In the top-left corner of the window, you’ll see a number right after the word “Python,” which is the version that you’re currently running. To learn how to find the version of Python on your Mac, keep reading!

Did this summary help you?

Thanks to all authors for creating a page that has been read 367,479 times.

Is this article up to date?


Download Article

A step-by-step guide on checking your Python version


Download Article

This wikiHow teaches you how to find which version of Python is installed on your Windows or macOS computer.

  1. Image titled Check Python

    1

    Open Windows Search. If you don’t already see a search box in the taskbar, click the magnifying glass or circle next to

    Image titled Windowsstart.png

    , or press Win+S.

  2. Image titled Check Python

    2

    Type python into the search bar. A list of matching results will appear.

    Advertisement

  3. Image titled Check Python

    3

    Click Python [command line]. This opens a black terminal window to a Python prompt.

  4. Image titled Check Python

    4

    Find the version in first line. It’s the number right after the word “Python” at the top-left corner of the window (e.g. 2.7.14).

  5. Advertisement

  1. Image titled Check Python

    1

    Open a Terminal window on your Mac. To do this, open the Applications folder in Finder, double-click the Utilities folder, then double-click Terminal.

  2. Image titled Check Python

    2

    Type python -V at the prompt (V uppercase).

  3. Image titled Check Python

    3

    Press Return. The version number will appear on the next line after the word “Python” (e.g. 2.7.3).

  4. Advertisement

Add New Question

  • Question

    I downloaded Python 3.7 but when I check it says that the version is 2.7. What should I do ? (I tried reinstalling it.)

    faith daniel

    faith daniel

    Community Answer

    To prevent further hassle, just download the 3.x version or the latest version from the Python website (python.org).

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Thanks for submitting a tip for review!

About This Article

Article SummaryX

To check which version of Python is installed on your Windows PC, start by opening the Windows Search and typing “Python” into the search bar. When the list of matching results comes up, click “Python” to open a black terminal window to a Python prompt. In the top-left corner of the window, you’ll see a number right after the word “Python,” which is the version that you’re currently running. To learn how to find the version of Python on your Mac, keep reading!

Did this summary help you?

Thanks to all authors for creating a page that has been read 367,479 times.

Is this article up to date?

Воспользуйтесь Google Colab, онлайн-интерпретаторами или скачайте Python.

как установить Python

Язык программирования Python используют, чтобы решать разные задачи: в программных скриптах, веб-разработке, data science и машинном обучении. Еще на Python пишут игры, программы и мобильные приложения. Из статьи узнаете, как установить Python на Windows, MacOS и Linux.

Что такое интерпретатор

Интерпретатор Python — встроенная программа, которая выполняет исходный код. Интерпретатор выступает в роли дешифровщика. Написанный код переводится в байт-код и выполняется. Создавать код можно даже в блокноте, главное — поставить расширение .py.

Как выбрать версию

Python — это интерфейс. У него есть несколько реализаций: Jython, PyPy, IronPython. Но самая распространенная — CPython. Она считается версией «по умолчанию». Ее мы и будем рассматривать в дальнейшем.

Как установить Python

На Windows

  1. Скачайте официальные установочные файлы. Версии, которые начинаются с цифры «2», лучше не использовать. Python прекратил их поддержку в 2020 году.
  2. Запустите скачанный файл и выберите Install Now. Не забудьте поставить галочку в разделе Add Python 3.x to PATH. Эта функция нужна, чтобы не указывать интерпретатору маршрут к исходнику при каждом запуске. Как установить Python
  3. Если установка прошла успешно, в меню «Пуск» появится папка Python.Python в меню ПК

На MacOS

На большинстве MacOS Python входит в стандартный пакет программ. Некоторые системы поддерживают сразу две версии. Проверьте, есть ли Python в терминале, командой: python —version.

  1. Чтобы установить Python, рекомендуется использовать менеджер программ Homebrew. Если его нет, откройте терминал и наберите:
     xcode-select --install ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 
  2. После установки Homebrew перейдем к установке Python. Наберите:
    brew install python3
  3. Начнется установка Python и необходимых зависимостей для работы программы.
  4. Проверьте установленную версию: python3 —version

На Linux

Многие сборки Linux также включают Python в свой стандартный пакет. Команды для установки Python на разных дистрибутивах Linux могут отличаться. Для Linux на основе Debian (Ubuntu) подойдет команда:

sudo apt-get install python3

А для Arch Linux:

pacman -S python3

Как проверить, работает ли программа

  1. Наберите в командной строке python или python3. Если вы всё выполнили правильно, увидите номер версии и список команд:

    help, copyright, credits, license

    Как проверить, работает ли python

  2. Теперь введите переменную:
    variable = 'Hello World!'/code>
  3. Нажмите Enter, чтобы создать новую строчку. Выведем переменную:
    print(variable)
  4. На экране появится текст:
    «Hello World!».

Как запустить Python

Единственный способ узнать, работает ли код, — запустить его. Скрипты можно запускать по-разному.

    1. В командной строке.

      Классический метод, чтобы написать код в Python, — с помощью текстовых файлов. По умолчанию они будут использовать расширение типа .py. Возьмите код из примера выше:

      print('Hello World!')

      И сохраните файл в текущем рабочем каталоге как hello.py.

      Чтобы запустить код, наберите python3 в командной строке, а затем укажите путь:

      python3 hello.py

      Как запустить Python

    2. В файловом менеджере.

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

    3. В интерактивном режиме.

Этот режим используется, чтобы изучать язык, тестировать отдельные куски кода, запускать пару небольших команд (например, несколько bash-скриптов в цикле через Python) или как продвинутый калькулятор. В таком режиме введенный код выполняется сразу, построчно. Есть два способа, чтобы войти в этот режим.

  • Если вы ставили галочку, когда устанавливали Python, чтобы добавить переменную среды, в терминале наберите python (или python3) и запустите по кнопке Enter. После увидите такую строку:
>>
  • Если переменная среды отсутствует, попробуйте прописать полный путь к программе. Вот пример такого пути: C:Python30python. Запустите (нажмите Enter).

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

import [имя библиотеки].

На скрине: импорт runpy — стандартной библиотеки Python. Она позволяет запускать скрипты без их предварительного импорта.импорт runpy Python

    1. В IDE или редакторе кода.

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

      Большинство IDE позволяют запускать скрипт в один клик, поэтому такие редакторы часто используют при работе над крупными проектами.

      Один из популярных IDE — VS Code. В нём встроен терминал для запуска кода. Чтобы открыть его, зайдите в командную строку и создайте папку hello. Затем откройте ее в VS Code и выберите View → Terminal. Наберите python и попробуйте вывести простой код. Например:

      print('Я учу Python')

      Python вернет фразу:

      'Я учу Python'.

Все курсы > Программирование на Питоне > Занятие 13

Сегодня мы сделаем шаг назад и посмотрим в целом, что такое программа на Питоне.

Способ 1. Писать код в облаке в Google Colab.

Способ 2. Написать программу в отдельном файле (скрипте) с расширением .py и передать этот код специальному интерпретатору для исполнения.

Способ 3. Установить Jupyter Notebook (локальный аналог Google Colab).

программа на Питоне, способы исполнения кода

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

Кроме того, мы рассмотрим возможности по созданию собственных модулей и пакетов в Питоне.

Установка Питона на Windows

Прежде чем мы начнем писать программу, нам нужно установить библиотеки (libraries) и интерпретатор (interpreter) для обработки кода.

Шаг 1. Проверить, установлен ли Питон на вашем компьютере

Для этого вначале нажмите клавишу Windows и клавишу R на клавиатуре.

клавиши Windows + R

В появившемся окне «Выполнить» введите
cmd и нажмите Enter.

окно "Выполнить" в Windows

Появится так называемая «командная строка» (Command Line Promt) — отдельная программа, позволяющая взаимодействовать с Windows не графически (как мы привыкли делать), а через текстовые команды.

командная строка (Command Line Promt)

Теперь введите
python —version. Если Питон установлен, то программа сообщит текущую версию. В противном случае появится вот такая запись.

проверка, установлен ли Питон

Если Питон не установлен, переходите к шагу 2. В случае если вы его уже установили, переходите сразу к шагу 3.

Шаг 2. Скачать Питон с официального сайта

Перейдем на сайт www.python.org/dowloads/⧉ и скачаем, среди прочего, базовый функционал Питона, а также интерпретатор для Windows, который позволит нам исполнять написанный нами код.

скачивание Питона с официального сайта

После скачивания и запуска файла откроется мастер установки.

добавление Питона в переменную PATH

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

Снова проверим установку Питона на компьютере, повторив действия Шага 1. В командной строке должна появиться установленная на данный момент версия Питона.

проверка версии Питона

Шаг 3. Запустить Питон из командной строки

Теперь давайте введем в командной строке команду
py. Должны появиться символы
>>>.

запуск Питона из командной строки

Это значит, что командная строка перешла в интерактивный режим, и мы можем писать код на Питоне.

Напишем классическую фразу:

При корректном исполнении кода фраза будет выведена на экран.

написание и исполнение кода на Питоне в интерактивном режиме

Однако, как вы помните, наша задача — исполнить не отдельную команду, а скрипт, то есть целую программу на Питоне, а для этого нам нужно эту программу создать.

Поэтому выйдем из интерактивного режима с помощью команды
quit() или
exit(), закроем окно командной строки и перейдем к созданию программы на Питоне.

Создание программы на Питоне

Технически для создания программы нам понадобится редактор кода. В нем мы будем создавать файлы с расширением .py и передавать их интерпретатору.

Шаг 1. Скачать редактор кода

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

В принципе, если вы работаете на Windows, то можете воспользоваться и «Блокнотом» (Notepad), который уже установлен в этой операционной системе (MS Word использовать не стоит). Достаточно написать в нем код, сохранить файл и изменить расширение с .txt на .py.

Если вы не видите расширения файлов, в «Проводнике» нажмите на вкладку «Вид» и поставьте галочку напротив «Расширения имен файлов».

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

  • Notepad++⧉
  • Sublime⧉
  • Atom⧉

На сегодняшнем занятии мы будем использовать Atom.

Редактор Atom

После установки и запуска редактора Atom закройте ненужные вкладки и нажмите FileNew File.

Затем, чтобы сообщить редактору, что мы хотим писать код на Питоне, сохраним этот файл с расширением .py. Для этого нажмем FileSave As и сохраним файл, например, под именем script.py на Рабочий стол.

интерфейс редактора Atom

Благодаря расширению .py Atom будет знать, что в файле script.py мы собираемся писать код на Питоне.

Шаг 2. Написать программу на Питоне

Первой программой будет алгоритм линейного поиска (linear search algorithm). Этот алгоритм проверяет наличие числа в массиве путем простого перебора всех значений от первого до последнего.

алгоритм линейного поиска

Напишем такую программу в редакторе Atom и сохраним файл script.py.

# возьмем массив,

arr = [3, 7, 0, 2, 5]

# в котором нам нужно найти число 2

x = 2

# в цикле пройдемся по индексу массива

for i in range(len(arr)):

    # если искомое число находится на этом индексе

    if (arr[i] == x):

        # выведем индекс

        print(i)

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

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

Шаг 3. Запустить программу из командной строки

Запустим этот код с помощью командной строки.

  1. Откроем командную строку через клавиши Window + R
    cmd. Перейдем на Рабочий стол (напомню, файл script.py мы сохранили именно туда) с помощью команды
    cd Desktop.

Команда cd (change directory) позволяет перейти в другую папку, а Desktop — это Рабочий стол, то есть название той папки, куда мы хотим перейти. В результате командная строка должна выглядеть вот так:

смена папки в командной строке

  1. Теперь просто введите script.py. Так мы вызовем интерпретатор и исполним код.

исполнение программы на Питоне в командной строке

Все, наша первая программа на Питоне готова.

Установка библиотек

Как уже было сказано, по умолчанию, с сайта www.python.org устанавливается лишь базовый функционал. Если мы хотим использовать, например, библиотеку Numpy или библиотеку Matplotlib нам нужно установить их отдельно. В этом нам поможет программа pip.

Программа pip

pip — это программа, которая помогает устанавливать (обновлять и удалять) дополнительные библиотеки на вашем компьютере. По сути эта программа связывается с репозиторием (хранилищем) пакетов/библиотек Python Package Index или PyPI (pypi.org⧉) и скачивает запрашиваемые файлы.

Все действия осуществляются из командной строки.

Если вы устанавливали Питон в соответствии с приведенной выше инструкцией, то pip уже присутствует на вашем компьютере. Проверить это можно с помощью команды
pip —version.

проверка версии программы pip

Кроме того, мы можем посмотреть на список всех установленных на компьютере библиотек через команду
pip list.

список установленных библиотек Питона

Установка библиотеки Numpy через pip install

Установим библиотеку Numpy. Для этого введем в командной строке
pip install numpy.

установка Numpy через pip

Проверить установку отдельного пакета можно с помощью команды
pip show numpy.

проверка версии Numpy

Использование установленной библиотеки

Теперь мы можем использовать установленную библиотеку Numpy внутри командной строки. Вначале перейдем в интерактивный режим с помощью команды py. После этого построчно (каждый раз нажимая Enter) введем следующие команды:

import numpy as np

arr=np.array([1, 2, 3])

type(arr)

использование установленной через pip библиотеки

Как мы видим, в результате исполнения этого кода Питон успешно создал массив Numpy.

Обновление и удаление библиотек

Создатели библиотек периодически вносят в них обновления, и эти обновления полезно скачивать на свой компьютер. Воспользуйтесь следующей командой:
pip install —upgrade numpy.

обновление библиотек через pip

Для удаления пакета введите команду
pip uninstall numpy.

удаление библиотек через pip

В процессе удаления будет нужно нажать Y + Enter для подтверждения операции. Другие библиотеки устанавливаются, обновляются и удаляются точно так же.

Модуль в Питоне

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

Модуль в Питоне — это программа на Питоне (файл с расширением .py), которую мы можем использовать в других программах с помощью команды import.

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

Создание собственного модуля

Наш первый модуль на Питоне будет состоять из двух алгоритмов поиска: линейного и бинарного.

Алгоритм линейного поиска

Алгоритм линейного поиска у нас уже готов. Достаточно «обернуть» его в функцию.

# объявим функцию linear()

def linear(arr, x):

    for i in range(len(arr)):

        if arr[i] == x:

            return i

Теперь перейдем к бинарному поиску.

Алгоритм бинарного поиска

Вначале поговорим о том, что такое бинарный поиск. Представьте, что у вас есть телефонная книга, и вам нужно найти номер телефона определенного человека.

телефонная книга

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

Бинарный же поиск действует иначе. Вначале мы открываем книгу посередине, скажем, на букве П.

алгоритм бинарного поиска: поиск по словарю

После этого мы посмотрим, находится ли буква Я в первой или во второй половине книги. Так как Я очевидно находится во второй половине справочника, мы разобьем пополам вторую половину. И снова посмотрим справа искомая буква или слева.

алгоритм бинарного поиска: поиск по словарю 2

Так мы будем действовать до тех пор, пока не найдем нужную нам букву.

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

# создадим класс BinarySearch

class BinarySearch:

    # метод __init__() пропишем, но оставим пустым

    def __init__(self):

        pass

    # метод .srt() будет сортировать список чисел

    def srt(self, arr):

        # для этого мы используем функцию sorted()

        arr = sorted(arr)

        return arr

    # сам бинарный поиск будет выполняться через метод .check()

    def check(self, arr, x):

        # вначале зададим индексы первого и последнего значений

        # отсортированного списка

        low, high = 0, len(arr)1

        # цикл while будет длиться до тех пор, пока индекс последнего значения

        # больше или равен первому

        while low <= high:

            # найдем индекс среднего значения списка

            mid = low + (high low) // 2

            # если число с этим индексом равно искомому,

            if arr[mid] == x:

                # вернем этот индекс

                return mid

            # если меньше искомого (число «справа» от середины)

            elif arr[mid] < x:

                # новым нижним индексом будет «середина + 1»

                low = mid + 1

            # если больше искомого (число «слева» от середины)

            else:

                # новым верхним индексом будет «середина — 1»

                high = mid 1

        # если число так и не найдено, вернем -1

        mid = 1

        return mid

Хотя это уводит нас в сторону от темы сегодняшнего занятия, поясню код нахождения индекса среднего значения списка.

mid = low + (high low) // 2

На первый взгляд индекс среднего значения можно найти вот так

Однако первый вариант расчета индекса среднего значения позволяет избежать переполнения памяти (overflow) при использовании слишком больших значений.

Также замечу, что мы используем оператор целочисленного деления
//, потому что в Питоне результатом обычного деления является число с плавающей точкой (float). Индекс же таким числом быть не может.

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

def linear(arr, x):

    for i in range(len(arr)):

        if arr[i] == x:

            return i

class BinarySearch:

    def __init__(self):

        pass

    def srt(self, arr):

        arr = sorted(arr)

        return arr

    def check(self, arr, x):

        low, high = 0, len(arr)1

        while low <= high:

            mid = low + (high low) // 2

            if arr[mid] == x:

                return mid

            elif arr[mid] < x:

                low = mid + 1

            else:

                high = mid 1

        mid = 1

        return mid

Документирование кода с помощью docstrings

До сих пор мы писали комментарии, которые помогали нам разобраться в том, как работает та или иная часть кода. При этом, такие комментарии при исполнении кода полностью пропадают.

Одновременно в Питоне существуют так называемые строки документации (docstrings). Они используются для описания работы функции, метода, класса или модуля. Доступ к ним можно получить через атрибут __doc__ или функцию help().

В чем основные особенности создания docstrings?

  • Docstrings заключаются в тройные одинарные или двойные кавычки
  • Их следует располагать сразу после объявления функции, метода, класса или модуля

Добавим соответствующие docstrings в только что созданный нами модуль и параллельно разберем основные принципы написания документации. Начнем с модуля в целом.

Строки документации для модуля в Питоне

Документация модуля описывает модуль и перечисляет все доступные функции и классы. Например, для модуля mymodule документация могла бы выглядеть следующим образом.

«»»

Модуль для поиска элементов в массиве чисел.

============================================

Classes

——-

BinarySearch

Functions

———

linear

«»»

Строки документации для функции описывают саму функцию, параметры и возвращаемое значение. Напишем документацию к функции linear().

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

def linear(arr, x):

    «»»Выполняет линейный поиск по массиву чисел.

    Parameters

    ———-

    arr : {list, ndarray}

        Массив чисел, по которому выполняется поиск.

    x : int

        Искомое число.

    Returns

    ——-

    i : int

        Индекс искомого числа, если оно присутствует в массиве.

    «»»

    for i in range(len(arr)):

        if arr[i] == x:

            return i

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

class BinarySearch:

    «»»Бинарный поиск по массиву чисел.

    «»»

    def __init__(self):

        pass

    def srt(self, arr):

        «»»Сортирует массив чисел в возрастающем порядке.

        Parameters

        ———-

        arr : {list, ndarray}

            Массив для сортировки.

        Returns

        ——-

        arr : {list, ndarray}

            Массив, отсортированный в возрастающем порядке.

        «»»

        arr = sorted(arr)

        return arr

    def check(self, arr, x):

        «»»Проверяет наличие числа в массиве c помощью алгоритма бинарного поиска.

        Parameters

        ———-

        arr : {list, numpy array}

            Массив чисел, по которому выполняется поиск.

        x : int

            Искомое число.

        Returns

        ——-

        mid : int

            Индекс числа в отсортированном по возрастанию массиве чисел.

            Возвращает -1, если число не найдено.

        «»»

        low, high = 0, len(arr)1

        while low <= high:

            mid = low + (high low) // 2

            if arr[mid] == x:

                return mid

            elif arr[mid] < x:

                low = mid + 1

            else:

                high = mid 1

        mid = 1

        return mid

Полностью снабженный документацией модуль выглядит следующим образом.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

«»»

Модуль для поиска элементов в массиве чисел.

============================================

Classes

——-

BinarySearch

Functions

———

linear

«»»

def linear(arr, x):

    «»»Выполняет линейный поиск по массиву чисел.

    Parameters

    ———-

    arr : {list, ndarray}

        Массив чисел, по которому выполняется поиск.

    x : int

        Искомое число.

    Returns

    ——-

    i : int

        Индекс искомого числа, если оно присутствует в массиве.

    «»»

    for i in range(len(arr)):

        if arr[i] == x:

            return i

class BinarySearch:

    «»»Бинарный поиск по массиву чисел.

    «»»

    def __init__(self):

        pass

    def srt(self, arr):

        «»»Сортирует массив чисел в возрастающем порядке.

        Parameters

        ———-

        arr : {list, ndarray}

            Массив для сортировки.

        Returns

        ——-

        arr : {list, ndarray}

            Массив, отсортированный в возрастающем порядке.

        «»»

        arr = sorted(arr)

        return arr

    def check(self, arr, x):

        «»»Проверяет наличие числа в массиве c помощью алгоритма бинарного поиска.

        Parameters

        ———-

        arr : {list, numpy array}

            Массив чисел, по которому выполняется поиск.

        x : int

            Искомое число.

        Returns

        ——-

        mid : int

            Индекс числа в отсортированном по возрастанию массиве чисел.

            Возвращает -1, если число не найдено.

        «»»

        low, high = 0, len(arr)1

        while low <= high:

            mid = low + (high low) // 2

            if arr[mid] == x:

                return mid

            elif arr[mid] < x:

                low = mid + 1

            else:

                high = mid 1

        mid = 1

        return mid

Замечу, что в данном случае мы использовали стиль документирования Numpy (NumPy documentation style). Он используется во многих известных пакетах: NumPy, SciPy, Pandas или, например, Scikit-Learn. При этом существуют и другие стили документирования.

Сохраним этот файл под именем mymodule.py. Все, наш модуль готов. Если у вас не получилось создать этот файл, вы можете скачать его по ссылке ниже.

Создание документации с помощью Pyment

Дополнительно замечу, что шаблон или «каркас» документации можно создать с помощью специального пакета Pyment. Для этого:

  1. Скачайте пакет Pyment через
    pip install pyment
  2. Убедитесь, что командная строка указывает на ту папку, в которой находится ваш модуль mymodule.py (например, на Рабочий стол)
  3. Введите команду
    pyment -w -o numpydoc mymodule.py. В данном случае вы буквально просите pyment создать документацию в стиле Numpy в файле под названием mymodule.py
  4. Откройте файл в редакторе кода и начинайте заполнять шаблон.

Загрузка и импорт модуля в Google Colab

Откроем ноутбук к этому занятию⧉

Давайте подгрузим файл mymodule.py в сессионное хранилище Google Colab.

подгрузка собственного модуля на Питоне в Google Colab

Теперь мы можем работать с этим модулем так, как мы работали с функциями модуля random или классами библиотеки sklearn.

Вначале импортируем функцию linear() из модуля mymodule.

from mymodule import linear

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

arr = [3, 7, 0, 2, 5]

target = 2

Вызовем функцию linear() и передадим ей список и целевое значение в качестве аргументов.

Теперь возьмем список большего размера и другое целевое значение.

arr = [9, 3, 343, 5, 8, 1, 20111, 32, 11, 6, 4]

target = 9

Импортируем модуль mymodule под псевдонимом mm.

Воспользуемся бинарным поиском. Для этого вначале создадим объект класса BinarySearch и поместим его в переменную src.

Прежде чем выполнить поиск нам необходимо отсортировать список чисел. Вызовем метод .srt() класса BinarySearch.

# передадим методу .srt() список arr для сортировки

sorted_arr = srch.srt(arr)

# посмотрим на результат

sorted_arr

[1, 3, 4, 5, 6, 8, 9, 11, 32, 343, 20111]

Теперь воспользуемся методом .check(), чтобы проверить, присутствует ли в списке число девять.

# напомню, что индекс числа 9 мы будем отсчитывать с нуля

src.check(sorted_arr, target)

В отсортированном списке это число присутствует под индексом шесть.

Просмотр документации модуля

Вначале выведем документацию модуля в целом.

Модуль для поиска элементов в массиве чисел.

============================================

Classes

——-

BinarySearch

Functions

———

linear

Посмотрим на функию linear().

Выполняет линейный поиск по массиву чисел.

    Parameters

    ———-

    arr : {list, ndarray}

        Массив чисел, по которому выполняется поиск.

    x : int

        Искомое число.

    Returns

    ——-

    i : int

        Индекс искомого числа, если оно присутствует в массиве.

И класс BinarySearch.

print(mm.BinarySearch.__doc__)

Бинарный поиск по массиву чисел.

Мы также можем посмотреть документацию отдельного метода внутри класса.

print(mm.BinarySearch.srt.__doc__)

Сортирует массив чисел в возрастающем порядке.

        Parameters

        

        arr : {list, ndarray}

            Массив для сортировки.

        Returns

        

        arr : {list, ndarray}

            Массив, отсортированный в возрастающем порядке.

Напомню, что документацию можно также посмотреть с помощью функции help().

Импорт собственного модуля в командной строке

Модуль в Питоне не обязательно подгружать в Google Colab, его также можно импортировать локально в командной строке.

Когда в интерактивном режиме мы пытаемся импортировать модуль с помощью команды import, Питон начинает искать этот модуль в конкретных папках. Посмотреть, что это за папки можно с помощью встроенного в базовый функционал модуля sys. В интерактивном режиме (команда
py) последовательно введите следующие команды.

содержание переменной sys.path

Обратите внимание, что первой в списке
[»] указана текущая папка.

Если ваш модуль не находится в одной из этих папок, импортировать его не получится. Здесь есть два варианта: либо переместить файл в одну из указанных папок, либо добавить новую папку в переменную path.

Способ 1. Переместить файл в папку из списка

Текущая папка будет иметь адрес, похожий на
C:Usersuser (замените user на имя вашей учетной записи). Введите этот адрес в Проводнике.

ввод адреса в Проводнике на Windows

Переместите туда наш модуль mymodule.py. Теперь войдем в интерактивный режим (команда
py) и импортируем модуль с помощью команды
import. После этого создадим массив, целевую переменную и вызовем функцию linear().

import mymodule

arr = [3, 7, 0, 2, 5]

target = 2

mymodule.linear(arr, target)

импорт модуля на Питоне в интерактивном режиме из командной строки

Как вы видите, мы смогли успешно импортировать наш модуль и использовать необходимую функцию.

Способ 2. Добавить новый путь (папку) в переменную path

Добавим Рабочий стол в список sys.path. Для этого прекрасно подойдет метод .append(), который мы использовали для обычных питоновских списков.

Например, добавим Desktop (Рабочий стол).

добавление папки в переменную sys.path

Не забудьте заменить user на имя пользователя на вашем компьютере, а также обратите внимание на двойные обратные косые черты
в абсолютном пути к папке Desktop.

содержание переменной sys.path после добавления папки

Мы готовы импортировать наш модуль с Рабочего стола. Вернем файл mymodule.py на Рабочий стол, войдем в интерактивный режим (команда
py и последовательно введем код ниже.

import mymodule

arr = [3, 7, 0, 2, 5]

target = 2

mymodule.linear(arr, target)

импорт модуля из добавленной в sys.path папки

Нам снова удалось импортировать необходимую нам функцию linear().

Интерпретация и компиляция

Небольшое отступление от темы занятия. В самом начале мы сказали, что вместе с базовым функционалом Питона мы импортируем еще и интерпретатор. Давайте, разберемся, что это такое.

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

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

Компилятор

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

Компилятор берет файл с понятным человеку исходным кодом, переводит его в нули и единицы и сохраняет получившийся машинный код в исполняемом (executable) файле (на Windows — это файл с расширением .exe).

компилятор

После этого мы можем запустить файл .exe и увидеть результат работы программы.

Интерпретатор

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

интерпретатор

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

Как следствие, языки делятся на компилируемые и интерпретируемые. Питон относится к интерпретируемым языкам, а, например, С — к компилируемым.

Впрочем, программа на Питоне может быть скомпилирована, например, с помощью пакета PyInstaller.

Кроме того, возможно вы обратили внимание, что когда мы вызывали модуль mymodule в командной строке, то Питон автоматически создал папку под названием __pycache__.pyc. В ней содержится скомпилированный байт-код программы (промежуточный код между Питоном и машинным языком), который ускоряет последующий запуск нашего модуля.

Пакет в Питоне

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

программа на Питоне (скрипт) - модуль - пакет

Примечание. Некоторые пакеты (например, Numpy или Pandas) принято называть библиотеками. При этом с технической точки зрения пакет и библиотека — это одно и то же.

Создание собственного пакета

В качестве упражнения создадим несложный пакет на Питоне и поместим его в тестовый репозиторий TestPyPI. Это своего рода «песочница», в которой можно научиться создавать пакеты перед их загрузкой в «большой» репозиторий PyPI.

Обратите внимание, PyPI и TestPyPI — это разные сайты, для которых требуются разные учетные записи.

Добавлю, что по большей части этот раздел создан на основе примера, приведенного в документации Питона⧉.

Шаг 1. Создание учетной записи

В первую очередь зарегистрируйтесь на сайте https://test.pypi.org/⧉.

Шаг 2. Создание файлов

Теперь создайте пакет example_package (по сути, набор папок и файлов) со следующей структурой.

base/

└── src/

    └── example_package/

        ├── __init__.py

        └── example_module.py

В пакет мы поместим модуль example_module.py. В модуле объявим функцию для возведения числа в квадрат square().

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

«»»

Модуль для выполнения арифметических операций.

============================================

Functions

———

square

«»»

def square(number):

    «»»Возводит число в квадрат.

    Parameters

    ———-      

    number : int

        Возводимое во вторую степень число.

    Returns

    ——-

    int

        Квадрат числа.

    «»»

    return number ** 2

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

Все последующие инструкции в командной строке будут выполняться из папки base/.

Например, если папка base/ находится на Рабочем столе, то перейти в нее можно с помощью команды
cd Desktopbase.

переход в папку base в командной строке

Дополнительные файлы

Теперь давайте немного усложним структуру и добавим новые файлы.

base/

├── LICENSE.txt

├── pyproject.toml

├── README.md

├── setup.py

└── src/

    └── example_package/

        ├── __init__.py

        └── example_module.py

  1. В файл pyproject.toml поместим следующий код:

[build-system]

requires = [«setuptools>=42»]

build-backend = «setuptools.build_meta»

build-system.requires указывает на пакеты, необходимые для создания дистрибутива (то есть готового к распротранению пакета),
build-system.build-backend прописывает, какой объект будет использован для его создания.

  1. В setuptools.py содержится информация о пакете. Там же прописывается, какие файлы следует использовать при создании дистрибутива.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

import setuptools

with open(«README.md», «r», encoding=«utf-8») as fh:

    long_description = fh.read()

setuptools.setup(

    name=«example-package-DmitryMakarov»,

    version=«0.0.1»,

    author=«Dmitry Makarov»,

    author_email=«dm.v.makarov@gmail.com»,

    description=«Simple arithmetic package»,

    long_description=long_description,

    long_description_content_type=«text/markdown»,

    url=«https://github.com»,

    project_urls={

        «Bug Tracker»: «https://github.com»,

    },

    classifiers=[

        «Programming Language :: Python :: 3»,

        «License :: OSI Approved :: MIT License»,

        «Operating System :: OS Independent»,

    ],

    package_dir={«»: «src»},

    packages=setuptools.find_packages(where=«src»),

    python_requires=«>=3.6»,

)

Вначале мы импортируем пакет setuptools. После этого открываем файл README.md и помещаем его содержимое в переменную longdescription.

Затем вызываем функцию setuptools.setup() и передаем ей целый ряд параметров. При создании собственного пакета замените значения следующих параметров:

  • Название пакета (name). Оно должно быть уникальным. Для того чтобы обеспечить уникальность названия, проще всего добавить к нему свой логин на сайте https://test.pypi.org/ в формате «название-пакета-логин».
  • Также вы можете заменить поля author и author_email.

Менять остальные поля, в принципе, не обязательно.

  1. Файл README.md

В файле README.md содержатся описание пакета, примеры и технические детали проекта. Расширение .md указывает на то, что этот файл сохранен в формате markdown и поддерживает форматирование текста.

В документации на сайте www.markdownguide.org⧉ вы найдете рекомендации по использованию языка markdown.

В нашем файле мы напишем следующий текст.

# Тестовый пакет

Файл README.md может содержать описание, примеры и технические детали пакета.

Формат .md (markdown) поддерживает форматирование текста. Например, **полужирный шрифт** или *курсив*. Более полный перечень можно найти по [ссылке](https://guides.github.com/features/mastering-markdown/)

  1. Файл LICENSE.txt

Остается создать файл с лицензией LICENSE.txt. Мы будем использовать лицензию открытого и свободного программного обеспечения MIT (Массачусетского технологического института).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

MIT License

Copyright (c) 2022 Dmitry Makarov

Permission is hereby granted, free of charge, to any person obtaining a copy

of this software and associated documentation files (the «Software»), to deal

in the Software without restriction, including without limitation the rights

to use, copy, modify, merge, publish, distribute, sublicense, and/or sell

copies of the Software, and to permit persons to whom the Software is

furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all

copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE

SOFTWARE.

Шаг 3. Создание дистрибутива

Скачаем инструменты, необходимые для создания дистрибутива.

Теперь из папки base/ введите команду
py -m build. После ее выполнения должно появиться уведомление об успешном создании дистрибутива пакета.

создание дистрибутива собственного тестового пакета на Питоне

Сам дистрибутив появится в папке base/.

дистрибутив тестового пакета

Шаг 4. Подгрузка дистрибутива

Скачаем инструмент для подгрузки twine.

И выполним подгрузку посредством следующей команды

py -m twine upload —repository testpypi dist/*

Пароль при вводе отображаться не будет (ни в явном, ни в скрытом виде). Просто введите нужные символы и нажмите Enter.

Должен появиться вот такой результат.

подгрузка собственного пакета на TestPyPI

Как вы видите, подгруженный пакет доступен по адресу: https://test.pypi.org/project/example-package-DmitryMakarov/0.0.1/⧉. Мы создали свой первый пакет.

Установка и использование пакета

Если вы захотите воспользоваться этим пакетом, то в командной строке введите команду, которая представлена на первой странице пакета.

страница тестового пакета на Test.PyPI.org

pip install -i https://test.pypi.org/simple/ example-package-DmitryMakarov==0.0.1

Результат исполнения этой команды вы видите ниже.

установка собственного тестового пакета через pip

Теперь мы можем пользоваться нашим пакетом. В интерактивном режиме (команду py) импортируем модуль example_module из пакета example_package и вызовем функцию square(), передав ей, например, число два.

from example_package import example_module

example_module.square(2)

использование пакета, установленного из TestPyPI

В целом создание «взрослого» пакета на PyPI следует похожей схеме.

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

Сегодня мы расширили наше представление о том, как запускать код на Питоне. Если раньше мы использовали только Google Colab, то теперь можем создавать собственные программы, модули и пакеты.

Вопросы для закрепления

Вопрос. Чем программа (скрипт) отличается от модуля?

Посмотреть правильный ответ

Ответ: технически и то, и другое — файл с расширением .py, при этом скрипт не предполагает его использования в других программах, а модуль предназначен именно для этого.

Вопрос. Зачем добавлять Питон в переменнаую окружения PATH в ОС Windows?

Посмотреть правильный ответ

Ответ: мы добавляем Питон в переменную PATH ОС Windows, чтобы в командной строке мы могли исполнять Питон в интерактивном режиме.

Вопрос. Что такое переменная path модуля sys в Питоне?

Посмотреть правильный ответ

Ответ: в переменной path модуля sys указаны те папки компьютера, в которых интерпретатор Питона будет искать файл для его импорта. Эта переменная отличается от переменной PATH в операционной системе.


Ответы на вопросы

Вопрос. Что такое
if __name__ == ‘__main__’:?

Ответ. Перед тем как исполнить код (например, в командной строке), интерпретатор Питона объявляет несколько переменных. Одна из них называется
__name__. Этой переменной присваивается значение __main__. Создадим файл script.py со следующим кодом и запустим его в командной строке.

значение переменной __name__ при исполнении кода напрямую

Теперь создадим еще один файл и назовем его module.py. Если вызвать его напрямую, то разумеется переменная
__name__ также будет иметь значение __main__.

При этом если импортировать файл module.py внутри script.py, то значение переменной
__name__ файла module.py изменится на его название (то есть слово module). Создадим файл module.py со следующим кодом.

Заменим код в файле script.py и исполним его.

import module

print(__name__)

значение переменной __name__ при исполнении импортированного файла

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

Как мы получили такой результат? Сначала был импортирован код из файла module.py, внутри которого переменной
__name__ было присвоено значение module. Именно это значение мы видим на первой строке вывода. Затем было выведено значение переменной
__name__ файла script.py (то есть __main__).

Теперь давайте изменим код файла module.py.

if __name__ == ‘__main__’:

    print(‘This runs as the main file’)

else:

    print(‘This runs as an imported file’)

(1) Запустим его как основной файл напрямую из командной строки.

if __name__ == '__main__'

(2) Теперь импортируем его в script.py (код файла module.py оставим без изменений).

if __name__ == '__main__' внутри импортированного файла

Как вы видите, в импортированном файле module.py переменная
__name__ не содержит значения __main__, поэтому исполнилось выражение после else. В script.py переменная
__name__ по-прежнему имеет значение __main__.

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

Изменим файл module.py.

def foo():

    print(‘This is an imported function’)

if __name__ == ‘__main__’:

    foo()

Теперь внутри script.py вначале просто импортируем файл module.py.

функция с условием if __name__ == '__main__'

При вызове модуля ничего не произошло. Так и должно быть. Для того чтобы вызвать функцию foo() нам нужно обратиться к ней напрямую. Изменим файл script.py и исполним его.

import module

module.foo()

вызов функции с условием if __name__ == '__main__'

На следующем занятии, как мы и планировали, мы посмотрим, как можно исполнять код на Питоне в программе Jupyter Notebook.

Introduction

Which version of Python do I have installed?

Python is a popular programming language. Like many other programming languages, there can be several different versions organized by release date. Certain applications may require a specific version of Python.

In this tutorial, learn how to check the Python version on Windows, Linux, or macOS systems.

tutorial on how to check Python version.

Prerequisites  

Access to a command-line/terminal window:

  • Linux:  Ctrl-Alt-T, Ctrl-Alt-F2
  • Windows:  Win+R > type powershell > Enter/OK
  • MacOS:  Finder > Applications > Utilities > Terminal

There are different versions of Python, but the two most popular ones are Python 2.7.x and Python 3.7.x. The x stands for the revision level and could change as new releases come out.

When looking at the version number, there are usually three digits to read:

  1. the major version
  2. the minor version
  3. the micro version

While major releases are not fully compatible, minor releases generally are. Version 3.6.1 should be compatible with 3.7.1 for example. The final digit signifies the latest patches and updates.

Python 2.7 and 3.7 are different applications. Software that’s written in one version often will not work correctly in another version. When using Python, it is essential to know which version an application requires, and which version you have.

Python 2 will stop publishing security updates and patches after 2020. They extended the deadline because of the large number of developers using Python 2.7. Python 3 includes a 2 to 3 utility that helps translate Python 2 code into Python 3.

How to Check Python Version in Linux

Most modern Linux distributions come with Python pre-installed.

To check the version installed, open a terminal window and entering the following:

python --version
python version linux

How to Check Python Version in Windows

Most out-of-the-box Windows installations do not come with Python pre-installed. However, it is always a good idea to check.

Open Windows Powershell, and enter the following:

python --version

If you have Python installed, it will report the version number.

check python version windows

Alternately, use the Windows Search function to see which version of Python you have:

Press the Windows key to start a search, then type Python. The system will return any results that match. Most likely a match will show something similar to:

Python 3.7 (32-bit)

app

Or,

Python 2.7 (32-bit)

app

This defines which major and minor revision (3.x or 2.x) you are using.

How to Check Python Version in MacOS

If using a MacOS, check the Python version by entering the following command in the terminal:

python -version

The system will report the version.

check python version macos

Note: In some cases, this will return a screen full of information. If that happens, just scan through the file locations for the word python with a number after it. That number is the version.

Checking a System with Multiple Versions of Python

Python2 and Python3 are different programs. Many programs upgrade from the older version to the newer one. However, Python 2.7.x installations can be run separately from the Python 3.7.x version on the same system.

Python 3 is not entirely backward compatible.

To check for Python 2.7.x:

python --version

To check the version of Python 3 software:

python3 --version

Most systems differentiate Python 2 as python and Python 3 as python3. If you do not have Python 2, your system may use the python command in place of python3.

Note: Python does not have a built-in upgrade system. You’ll need to download the latest version and install it.

How to Check Python Version in Script

When writing an application, it is helpful to have the software check the version of Python before it runs to prevent crashes and incompatibilities.

Use the following code snippet to check for the correct version of Python:

import sys
if not sys.version_info.major == 3 and sys.version_info.minor >= 6:

    print("Python 3.6 or higher is required.")

    print("You are using Python {}.{}.".format(sys.version_info.major, sys.version_info.minor))

    sys.exit(1)

When this script runs, it will test to see if Python 3.6 is installed on the system. If not, it will send a notification and displays the current Python version.

Conclusion

You should now have a solid understanding of how to check for the version of Python installed in several different operating systems. Python is a powerful programming language, thus it’s important to understand its different versions.

If you want to learn how to upgrade Python to a newer version on Wondows, macOs, and Linux, check our article how to upgrade Python to 3.9.

Понравилась статья? Поделить с друзьями:
  • Как проверить загрузку оперативной памяти windows 10
  • Как проверить есть ли java на компьютере windows 10
  • Как проверить загруженность оперативной памяти в windows 10
  • Как проверить емкость аккумулятора ноутбука windows 10
  • Как проверить загруженность озу в windows 10