байты класса( источник , кодировка , ошибки = 'строгий' )
📂 встроенные функции
Обновлено: 2025-10-18 15:28:48
-
Во-первых, синтаксис байтовых литералов во многом такой же, как и для строковых литералов, за исключением
bдобавления префикса:- Одинарные кавычки:
b'still allows embedded "double" quotes' - Двойные кавычки:
b"still allows embedded 'single' quotes" - Тройные кавычки:
b'''3 single quotes''',b"""3 double quotes"""
В байтовых литералах допускаются только символы ASCII (независимо от заявленной кодировки исходного кода). Любые двоичные значения свыше 127 должны быть введены в байтовые литералы с использованием соответствующей экранированной последовательности.
Как и строковые литералы, байтовые литералы могут использовать
rпрефикс для отключения обработки экранированных последовательностей. Подробнее о различных формах байтовых литералов, включая поддерживаемые экранированные последовательности, см. в разделе «Строковые и байтовые литералы» .В то время как литералы и представления байтов основаны на тексте ASCII, объекты байтов фактически ведут себя как неизменяемые последовательности целых чисел, каждое значение в которых ограничено следующим образом
0 <= x < 256(попытки нарушить это ограничение приведут к срабатываниюValueError). Это сделано намеренно, чтобы подчеркнуть, что, хотя многие двоичные форматы включают элементы на основе ASCII и могут эффективно обрабатываться некоторыми текстоориентированными алгоритмами, для произвольных двоичных данных это, как правило, не так (слепое применение алгоритмов обработки текста к двоичным форматам данных, несовместимым с ASCII, обычно приводит к повреждению данных).Помимо литеральных форм, байтовые объекты можно создавать рядом других способов:
- Объект байтов, заполненный нулями, указанной длины:
bytes(10) - Из итерируемого ряда целых чисел:
bytes(range(20)) - Копирование существующих двоичных данных через буферный протокол:
bytes(obj)
См. также встроенные байты .
Поскольку две шестнадцатеричные цифры точно соответствуют одному байту, шестнадцатеричные числа широко используются для описания двоичных данных. Соответственно, тип bytes имеет дополнительный метод класса для чтения данных в этом формате:
classmethod fromhex(string, /)-
Этот
bytesметод класса возвращает объект байтов, декодируя заданный строковый объект. Строка должна содержать две шестнадцатеричные цифры на байт, при этом пробелы ASCII игнорируются.>> > байты . fromhex ( '2Ef0 F1f2 ' ) b'.\xf0\xf1\xf2'Изменено в версии 3.7:
bytes.fromhex()теперь пропускает все пробелы ASCII в строке, а не только пробелы.Изменено в версии 3.14:
bytes.fromhex()теперь принимает в качестве входных данных объекты в формате ASCIIbytesи байты .
Существует функция обратного преобразования для преобразования объекта байтов в его шестнадцатеричное представление.
hex(*, bytes_per_sep=1)- hex ( sep , bytes_per_sep = 1 )
-
Возвращает строковый объект, содержащий две шестнадцатеричные цифры для каждого байта в экземпляре.
>> > b'\xf0\xf1\xf2' . hex ( ) 'f0f1f2'Чтобы сделать шестнадцатеричную строку более удобной для чтения, можно указать параметр sep в качестве разделителя для включения в вывод. По умолчанию этот разделитель будет добавлен между каждым байтом. Второй необязательный параметр bytes_per_sep управляет интервалом. Положительные значения определяют положение разделителя справа, отрицательные — слева.
>> > значение = b'\xf0\xf1\xf2' >> > значение . hex ( '-' ) 'f0-f1-f2' >> > значение . hex ( '_' , 2 ) 'f0_f1f2' >> > b'UUDDLRLRAB' . hex ( ' ' , - 4 ) '55554444 4c524c52 4142'Добавлено в версии 3.5.
Изменено в версии 3.8:
bytes.hex()теперь поддерживает необязательные параметры sep и bytes_per_sep для вставки разделителей между байтами в шестнадцатеричном выводе.
- Одинарные кавычки:
Поскольку объекты байтов представляют собой последовательности целых чисел (похожие на кортеж), для объекта байтов bb[0] будет целым числом, тогда как будет b[0:1]объектом байтов длиной 1. (Это контрастирует с текстовыми строками, где и индексация, и нарезка дадут строку длиной 1)
Для представления объектов байтов используется литеральный формат ( b'...'), поскольку он часто более удобен, чем, например bytes([46, 46, 46]), . Вы всегда можете преобразовать объект байтов в список целых чисел, используя list(b).
класс int ( строка , / , основание = 10 )
📂 встроенные функции
Обновлено: 2025-10-18 15:25:07
Возвращает целочисленный объект, созданный из числа или строки, или возвращает значение, 0если аргументы не указаны.
Примеры:
>> > int ( 123,45 )
123
>> > int ( '123' )
123
>> > int ( ' -12_345\n' )
- 12345
>> > int ( 'ЛИЦО' , 16 )
64206
>> > int ( '0xлицо' , 0 )
64206
>> > int ( '01110011' , основание = 2 )
115
Если аргумент определяет __int__(), int(x)возвращается x. __int__(). Если аргумент определяет __index__(), возвращается x.__index__(). Для чисел с плавающей точкой округление до нуля.
Если аргумент не является числом или указано основание , то он должен быть строкой, bytes, или bytearrayэкземпляром, представляющим целое число в системе счисления с основанием . Строке может предшествовать символ +или -(без пробела), она может содержать начальные нули, быть окружена пробелами и содержать одиночные символы подчеркивания между цифрами.
Строка целых чисел с основанием n содержит цифры, каждая из которых представляет значение от 0 до n-1. Значения 0–9 могут быть представлены любой десятичной цифрой Unicode. Значения 10–35 могут быть представлены с помощью ato z(или Ato Z). Основание по умолчанию — 10. Допустимые основания — 0 и 2–36. Строки с основанием 2, -8 и -16 могут иметь необязательные префиксы 0b/ 0B, 0o/ 0O, или 0x/ 0X, как и целочисленные литералы в code. Для основания 0 строка интерпретируется аналогично целочисленному литералу в code , в том смысле, что фактическое основание равно 2, 8, 10 или 16, в зависимости от префикса. Основание 0 также запрещает начальные нули: int('010', 0)недопустимо, в то время как int('010')и int('010', 8)являются.
Целочисленный тип описан в разделе Числовые типы — int, float, complex .
Вызов интерпретатора
📂 Python
Обновлено: 2025-10-18 15:00:28
Интерпретатор Python обычно устанавливается /usr/local/bin/python3.14на тех машинах, где он доступен; указание /usr/local/binпути поиска оболочки Unix позволяет запустить его, введя команду:
питон3.14
в оболочку. Поскольку выбор каталога, в котором находится интерпретатор, является параметром установки, возможны и другие места; обратитесь к местному гуру Python или системному администратору. (Например, /usr/local/python— популярное альтернативное расположение.)
На компьютерах с Windows, где установлен Python из Microsoft Store , эта python3.14команда будет доступна. Если у вас установлен загрузчик py.exe , вы можете использовать эту pyкоманду. Другие способы запуска Python см. в разделе «Диспетчер установки Python».
Ввод символа конца файла ( Control- Dв Unix, Control- Zв Windows) в главном приглашении приводит к завершению работы интерпретатора с нулевым кодом выхода. Если это не помогает, вы можете выйти из интерпретатора, введя следующую команду: quit().
Возможности редактирования строк интерпретатора включают интерактивное редактирование, подстановку истории и автодополнение кода в системах, поддерживающих библиотеку GNU Readline . Возможно, самый быстрый способ проверить, поддерживается ли редактирование командной строки, Control— это ввести текст Pв ответ на первое приглашение Python. Если раздаётся звуковой сигнал, значит, вы редактируете командную строку; см. Приложение «Интерактивное редактирование ввода и подстановка истории» для ознакомления с клавишами. Если ничего не происходит или ^Pотображается эхо, редактирование командной строки недоступно; для удаления символов из текущей строки можно использовать только клавишу Backspace.
Интерпретатор работает примерно так же, как оболочка Unix: при вызове со стандартным вводом, подключенным к устройству tty, он считывает и выполняет команды в интерактивном режиме; при вызове с аргументом имени файла или с файлом в качестве стандартного ввода он считывает и выполняет сценарий из этого файла.
Второй способ запуска интерпретатора — python -c command [arg] ..., который выполняет оператор(ы) из команды , аналогично параметру оболочки -c. Поскольку операторы Python часто содержат пробелы или другие символы, специальные для оболочки, обычно рекомендуется заключать команду в кавычки целиком.
Некоторые модули Python также полезны в качестве скриптов. Их можно вызвать с помощью python -m module [arg] ..., что запускает исходный файл модуля , как если бы вы ввели его полное имя в командной строке.
При использовании файла скрипта иногда полезно иметь возможность запустить скрипт и перейти в интерактивный режим после этого. Это можно сделать, передав файл -i перед скриптом.
Все параметры командной строки описаны в разделе Командная строка и среда .
Расширенная установка
📂 Python
Обновлено: 2025-10-18 14:55:35
Для случаев, когда MSIX установить невозможно, например, на некоторых устаревших платформах административных дистрибутивов, существует MSI-файл, доступный на странице загрузок python.org. Этот MSI-файл не имеет пользовательского интерфейса и может устанавливаться только на отдельные компьютеры в папку по умолчанию в Program Files. Он попытается изменить системные настройки.PATHпеременную среды, включив это место установки, но обязательно проверьте это в своей конфигурации.
Примечание
Windows Server 2019 — единственная версия Windows, поддерживаемая CPython, которая не поддерживает MSIX. Для Windows Server 2019 следует использовать MSI-файл.
Обратите внимание, что пакет MSI не содержит никаких сред выполнения и поэтому не подходит для установки в автономных средах без создания индекса для автономной установки. Информация о работе в таких ситуациях приведена в разделе «Автономная установка и административная конфигурация» .
Среды выполнения, установленные MSI, используются совместно с установленными MSIX и доступны только для каждого пользователя. Менеджер установки Python не поддерживает установку сред выполнения на отдельные машины. Чтобы эмулировать установку на отдельные машины, вы можете использовать учетную запись py install
--target=администратора и внести собственные изменения, распространяющиеся на всю систему.PATH, реестр или меню «Пуск».
Когда MSIX установлен, но команды недоступны вPATHПеременные окружения можно найти в разделе %LocalAppData%\Microsoft\WindowsApps\PythonSoftwareFoundation.PythonManager_3847v3x7pw1km или %LocalAppData%\Microsoft\WindowsApps\PythonSoftwareFoundation.PythonManager_qbz5n2kfra8p0, в зависимости от того, был ли он установлен с сайта python.org или через Магазин Windows. Не рекомендуется запускать исполняемый файл непосредственно из Program Files.
Для программной установки менеджера установки Python проще всего использовать WinGet, который входит во все поддерживаемые версии Windows:
$> winget install 9NQ7512CXL7T -e --accept-package-agreements --disable-interactivity
# При желании запустите проверку конфигурации и примите все изменения.
$> py install --configure -y
Чтобы скачать менеджер установки Python и установить его на другой компьютер, следующая команда WinGet загрузит необходимые файлы из магазина в папку «Загрузки» (добавьте, -d чтобы указать папку для сохранения). При этом также будет создан YAML-файл, который, по всей видимости, не нужен, поскольку загруженный MSIX можно установить, запустив или используя команды ниже.
$> winget скачать 9NQ7512CXL7T -e --skip-license --accept-package-agreements --accept-source-agreements
Для программной установки или удаления MSIX с использованием только PowerShell рекомендуются командлеты PowerShell Add-AppxPackage и Remove-AppxPackage :
$> Add-AppxPackage C:\Downloads\python-manager-25.0.msix
...
$> Get-AppxPackage PythonSoftwareFoundation.PythonManager | Remove-AppxPackage
Последнюю версию можно загрузить и установить средствами Windows, передав файл AppInstaller команде Add-AppxPackage. Установка выполняется с помощью MSIX на сайте python.org и рекомендуется только в тех случаях, когда установка через Магазин приложений (интерактивно или через WinGet) невозможна.
$> Add-AppxPackage -AppInstallerFile https://www.python.org/ftp/python/pymanager/pymanager.appinstaller
Для предоставления пакета MSIX всем пользователям на компьютере можно использовать и другие инструменты и API, но Python не считает этот сценарий поддерживаемым. Рекомендуем изучить командлет PowerShell Add-AppxProvisionedPackage , нативный класс Windows PackageManager или документацию и поддержку вашего инструмента развертывания.
Независимо от способа установки, пользователям всё равно потребуется установить собственные копии Python, поскольку запустить установку без авторизации невозможно. При использовании MSIX последняя версия Python будет доступна для установки всем пользователям без доступа к сети.
Обратите внимание, что пакеты MSIX, загружаемые из Магазина и с сайта Python, немного отличаются и не могут быть установлены одновременно. По возможности мы рекомендуем использовать указанные выше команды WinGet для загрузки пакета из Магазина, чтобы снизить риск создания конфликтующих установок. У менеджера установки Python нет лицензионных ограничений, которые могли бы помешать использованию пакета из Магазина таким образом.
object.__int__
📂 встроенные функции
Обновлено: 2025-10-18 12:23:22
object.__int__(self)object.__float__(self)-
Вызывается для реализации встроенных функций
complex(),int()иfloat(). Должен возвращать значение соответствующего типа.
object.__index__(self)-
Вызывается для реализации
operator.index(), а также всякий раз, когда Python необходимо преобразовать числовой объект в целочисленный без потерь (например, при срезах или во встроенных функцияхbin(),hex()иoct()). Наличие этого метода указывает на то, что числовой объект имеет целочисленный тип. Должен возвращать целое число.Если
__int__(),__float__()и__complex__()не определены, то соответствующие встроенные функцииint(),float()иcomplex()возвращаются к__index__().
object.__round__(self[, ndigits])object.__trunc__(self)object.__floor__(self)object.__ceil__(self)-
Вызывается для реализации встроенной функции
round()иmathфункцийtrunc(),floor()иceil(). Если ndigits не передан__round__()всем этим методам, они должны возвращать значение объекта, усеченное доIntegral(обычноint).Изменено в версии 3.14:
int()больше не делегирует полномочия__trunc__()методу.
класс float ( string , / )
📂 встроенные функции
Обновлено: 2025-10-18 12:16:46
Возвращает число с плавающей запятой, созданное на основе числа или строки.
Примеры:
>> > float ( '+1.23' )
1.23
>> > float ( ' -12345\n' )
- 12345.0
>> > float ( '1e-003' )
0.001
>> > float ( '+1E6' )
1000000.0
>> > float ( '-Infinity' )
- inf
Если аргумент — строка, он должен содержать десятичное число, которому может предшествовать знак, и, возможно, быть заключено в пробел. Необязательный знак может быть '+'или '-'; '+'знак не влияет на возвращаемое значение. Аргумент также может быть строкой, представляющей NaN (не число) или положительную или отрицательную бесконечность. Точнее, входные данные должны соответствовать floatvalue правилу вывода в следующей грамматике после удаления начальных и конечных пробелов:
знак : "+" | "-" бесконечность : "Бесконечность" | "inf" нан : "nan" цифра : <десятичная цифра Unicode, т. е. символы из общей категории Unicode Nd> цифровая часть : цифра ([ "_" ] цифра )* число : [ цифровая часть ] "." цифровая часть | цифровая часть [ "." ] экспонента : ( "e" | "E" ) [ знак ] цифровая часть число с плавающей точкой : число [ экспонента ] абсолютное число с плавающей точкой : число с плавающей точкой | бесконечность | нан значение с плавающей точкой : [ знак ] абсолютное число с плавающей точкой
Регистр не имеет значения, поэтому, например, «inf», «Inf», «INFINITY» и «iNfINity» являются приемлемыми вариантами написания для положительной бесконечности.
В противном случае, если аргумент является целым числом или числом с плавающей точкой, возвращается число с плавающей точкой с тем же значением (в пределах точности чисел с плавающей точкой Python). Если аргумент выходит за пределы диапазона чисел с плавающей точкой Python, OverflowErrorбудет сгенерировано исключение.
Для общего объекта Python x, float(x)делегируется x.__float__(). Если __float__(), то возвращается к __index__().
См. также float.from_number(), который принимает только числовой аргумент.
Если аргумент не указан, 0.0возвращается.
Тип float описан в разделе Числовые типы — int, float, complex .
Изменено в версии 3.6:Разрешается группировка цифр с помощью подчеркивания, как в кодовых литералах.
Изменено в версии 3.7:Параметр теперь является только позиционным.
Изменено в версии 3.8:Возвращается к значению, __index__()если __float__()оно не определено.
Использование Python в качестве калькулятора
📂 Python
Обновлено: 2025-10-18 12:04:08
Интерпретатор действует как простой калькулятор: вы можете ввести выражение, и он выведет значение. Синтаксис выражений прост: операторы +, -, *и /могут использоваться для выполнения арифметических действий; скобки ( ()) могут использоваться для группировки. Например:
>> > 2 + 2
4
>> > 50 - 5 * 6
20
>> > ( 50 - 5 * 6 ) / 4
5,0
>> > 8 / 5 # деление всегда возвращает число с плавающей точкой
1,6
Целые числа (например 2, 4, 20) имеют тип int, числа с дробной частью (например 5.0, 1.6) — тип float. Подробнее о числовых типах мы поговорим далее в этом руководстве.
Функция деления ( /) всегда возвращает число с плавающей точкой. Для деления с точностью до десятичного числа и получения целого числа можно использовать //оператор ; для вычисления остатка можно использовать оператор %:
>> > 17 / 3 # классическое деление возвращает число с плавающей точкой
5.666666666666667
>> >
>> > 17 // 3 # деление с меньшим дробным значением отбрасывает дробную часть
5
>> > 17 % 3 # оператор % возвращает остаток от деления
2
>> > 5 * 3 + 2 # уменьшенное частное * делитель + остаток
17
**В Python для вычисления степеней можно использовать оператор [ 1 ] :
>> > 5 ** 2 # 5 в квадрате
25
>> > 2 ** 7 # 2 в степени 7
128
Знак равенства ( =) используется для присвоения значения переменной. После этого результат не отображается до следующего интерактивного запроса:
>> > ширина = 20
>> > высота = 5 * 9
>> > ширина * высота
900
Если переменная не «определена» (ей не присвоено значение), попытка ее использования приведет к ошибке:
>>> n # попытка доступа к неопределенной переменной
Traceback ( последний вызов последний )
: Файл
" <stdin>" , строка 1 , в < модуле >
NameError : имя 'n' не определено
Имеется полная поддержка чисел с плавающей точкой; операторы со смешанными типами операндов преобразуют целочисленный операнд в число с плавающей точкой:
>> > 4 * 3,75 - 1
14,0
В интерактивном режиме последнее выведенное выражение присваивается переменной _. Это означает, что при использовании Python в качестве настольного калькулятора продолжать вычисления несколько проще, например:
>> > налог = 12,5 / 100
>> > цена = 100,50
>> > цена * налог
12,5625
>> > цена + _
113,0625
>> > округлить ( _ , 2 )
113,06
Эта переменная должна быть доступна пользователю только для чтения. Не присваивайте ей значение явно — вы создадите независимую локальную переменную с тем же именем, которая замаскирует встроенную переменную своим магическим поведением.
Помимо intи float, Python поддерживает другие типы чисел, такие как Decimalи Fraction. Python также имеет встроенную поддержку комплексных чисел и использует суффикс jили Jдля обозначения мнимой части (например 3+5j).
Неформальное введение в Python
📂 Python
Обновлено: 2025-10-18 12:02:50
В следующих примерах ввод и вывод различаются наличием или отсутствием подсказок ( >>> и … ): чтобы повторить пример, необходимо ввести всё после подсказки, когда она появится; строки, не начинающиеся с подсказки, выводятся интерпретатором. Обратите внимание, что вторичная подсказка, расположенная на отдельной строке в примере, означает, что необходимо ввести пустую строку; это используется для завершения многострочной команды.
Вы можете использовать кнопку «Копировать» (она появляется в правом верхнем углу при наведении курсора на пример кода или нажатии на него), которая удаляет подсказки и исключает выходные данные, чтобы скопировать и вставить строки ввода в интерпретатор.
Многие примеры в этом руководстве, даже те, которые вводятся в интерактивном режиме, содержат комментарии. Комментарии в Python начинаются с символа решётки ( ) #и продолжаются до конца физической строки. Комментарий может располагаться в начале строки, после пробела или кода, но не внутри строкового литерала. Символ решётки внутри строкового литерала — это просто символ решётки. Поскольку комментарии предназначены для пояснения кода и не интерпретируются Python, их можно опускать при вводе примеров.
Вот несколько примеров:
# это первый комментарий
spam = 1 # а это второй комментарий
# ... а теперь третий!
text = "# Это не комментарий, потому что он в кавычках."
Установка
📂 Python
Обновлено: 2025-10-17 23:13:40
Менеджер установки Python можно установить из приложения Microsoft Store или загрузить и установить с сайта python.org/downloads . Обе версии идентичны.
Чтобы установить через Магазин, просто нажмите «Установить». После завершения установки откройте терминал и введите команду python«Начать».
Чтобы установить файл, загруженный с сайта python.org, дважды щелкните его и выберите «Установить» или запустите Add-AppxPackage в Windows Powershell.
После установки команды python, pyи pymanagerдолжны быть доступны. Если у вас уже установлены Python или вы изменили свойPATHЕсли вы используете переменные, возможно, вам потребуется удалить их или отменить изменения. Дополнительную информацию об исправлении неработающих команд см. в разделе «Устранение неполадок» .
При первой установке среды выполнения вам, скорее всего, будет предложено добавить каталог в вашPATH. Это необязательно, если вы предпочитаете использовать pyкоманду, но предлагается тем, кто предпочитает python3.14.exeдоступ ко всему диапазону псевдонимов (например, ). Каталог будет задан %LocalAppData%\Python\binпо умолчанию, но администратор может его изменить. Нажмите «Пуск» и найдите «Изменение переменных среды для вашей учётной записи» на странице настроек системы, чтобы добавить путь.
Каждая установленная среда выполнения Python будет иметь свой собственный каталог для скриптов. Их также необходимо добавить вPATHесли вы хотите их использовать.
Менеджер установки Python будет автоматически обновляться до новых версий. Это не повлияет на установленные среды выполнения Python. Удаление менеджера установки Python не приводит к удалению сред выполнения Python.
Если в вашем контексте невозможно установить MSIX, например, вы используете программное обеспечение для автоматического развертывания, которое его не поддерживает, или ориентируетесь на Windows Server 2019, см. раздел «Расширенная установка» ниже для получения дополнительной информации.
Командная строка и среда
📂 Python
Обновлено: 2025-10-17 23:09:54
Интерпретатор CPython сканирует командную строку и окружение на предмет различных настроек.
Подробности реализации CPython: схемы командной строки в других реализациях могут отличаться. Дополнительные ресурсы см. в разделе «Альтернативные реализации» .
Командная строка
При вызове Python вы можете указать любой из следующих параметров:
python [ -bBdEhiIOPqRsSuvVWx? ] [ -c команда | -m имя-модуля | скрипт | - ] [ аргументы ]
Самый распространенный вариант использования — это, конечно, простой вызов скрипта:
python myscript.py
Устранение неполадок
📂 Python
Обновлено: 2025-10-17 22:48:54
Если ваш менеджер установки Python работает некорректно, попробуйте выполнить эти тесты и исправления, чтобы проверить, поможет ли это. Если нет, сообщите о проблеме в нашем баг-трекере , приложив все соответствующие файлы журналов ( %TEMP%по умолчанию они записываются в ваш каталог).
Поиск неисправностей
|
Симптом |
Что стоит попробовать |
|---|---|
|
|
|
|
Нажмите «Пуск», откройте «Управление псевдонимами выполнения приложений» и убедитесь, что псевдонимы для «Python (по умолчанию)» включены. Если они уже включены, попробуйте отключить и снова включить их, чтобы обновить команду. Команды «Python (по умолчанию в оконном режиме)» и «Менеджер установки Python» также могут нуждаться в обновлении. |
|
|
Проверьте работу команд |
|
|
|
|
|
Нажмите «Пуск», откройте «Управление псевдонимами выполнения приложений» и убедитесь, что псевдонимы для «Python (по умолчанию)» включены. Если они уже включены, попробуйте отключить и снова включить их, чтобы обновить команду. Команды «Python (по умолчанию в оконном режиме)» и «Менеджер установки Python» также могут нуждаться в обновлении. |
|
|
|
Обычно это означает, что у вас установлен устаревший лаунчер, имеющий приоритет над менеджером установки Python. Чтобы удалить его, нажмите «Пуск», откройте «Установленные приложения», найдите «Python launcher» и удалите его. |
|
|
Нажмите «Пуск», откройте «Установленные приложения», найдите все существующие среды выполнения Python и либо удалите их, либо измените и отключите |
|
Нажмите «Пуск», откройте «Управление псевдонимами выполнения приложений» и убедитесь, что для вашего |
|
|
|
Проверьте свой |
|
Установки, управляемые менеджером установки Python, будут иметь приоритет перед неуправляемыми установками. Используйте |
|
|
Предварительные и экспериментальные установки, не управляемые менеджером установки Python, можно выбрать перед стабильными релизами. Настройте тег по умолчанию или удалите предварительную среду выполнения и переустановите её с помощью |
|
|
|
Нажмите «Пуск», откройте «Управление псевдонимами выполнения приложений» и проверьте, что ваши псевдонимы |
|
|
Вы активировали виртуальную среду? Запустите |
|
Пакет может быть доступен, но в нём отсутствует сгенерированный исполняемый файл. Мы рекомендуем использовать |
Ведение
📂 Python
Обновлено: 2025-10-17 22:46:06
Если вы много работаете за компьютером, рано или поздно вы обнаружите, что хотите автоматизировать какую-то задачу. Например, вам может понадобиться выполнить поиск и замену в большом количестве текстовых файлов или переименовать и упорядочить множество файлов фотографий сложным образом. Возможно, вы захотите написать небольшую базу данных, специализированное приложение с графическим интерфейсом или простую игру.
Если вы профессиональный разработчик программного обеспечения, вам, возможно, приходится работать с несколькими библиотеками C/C++/Java, но обычный цикл «написание/компиляция/тестирование/перекомпиляция» кажется вам слишком медленным. Возможно, вы пишете набор тестов для такой библиотеки и считаете написание тестового кода утомительным. Или, возможно, вы написали программу, которая может использовать язык расширений, и не хотите разрабатывать и реализовывать совершенно новый язык для своего приложения.
Python — это язык, который вам нужен.
Для некоторых из этих задач можно написать скрипт оболочки Unix или пакетный файл Windows, но скрипты оболочки лучше всего подходят для перемещения по файлам и изменения текстовых данных и не очень подходят для приложений с графическим интерфейсом или игр. Можно написать программу на C/C++/Java, но даже первый черновик программы может потребовать много времени на разработку. Python проще в использовании, доступен в операционных системах Windows, macOS и Unix и поможет вам быстрее справиться с задачей.
Python прост в использовании, но это полноценный язык программирования, предлагающий гораздо более структурированную и гибкую поддержку для больших программ, чем скрипты оболочки или пакетные файлы. С другой стороны, Python также предлагает гораздо более глубокую проверку ошибок, чем C, и, будучи языком очень высокого уровня , имеет встроенные высокоуровневые типы данных, такие как гибкие массивы и словари. Благодаря своим более общим типам данных Python применим к гораздо более широкой области задач, чем Awk или даже Perl, однако многие вещи в Python, по крайней мере, так же просты, как и в этих языках.
Python позволяет разбить программу на модули, которые можно использовать в других программах на Python. Он поставляется с большим набором стандартных модулей, которые можно использовать в качестве основы для своих программ или в качестве примеров для начала обучения программированию на Python. Некоторые из этих модулей предоставляют такие возможности, как файловый ввод-вывод, системные вызовы, сокеты и даже интерфейсы для графических пользовательских инструментов, таких как Tk.
Python — интерпретируемый язык, что позволяет значительно сэкономить время при разработке программ, поскольку компиляция и линковка не требуются. Интерпретатор можно использовать интерактивно, что позволяет легко экспериментировать с функциями языка, писать одноразовые программы или тестировать функции в процессе разработки программ снизу вверх. Он также может служить удобным настольным калькулятором.
Python позволяет писать программы компактно и легко читать. Программы, написанные на Python, обычно намного короче аналогичных программ на C, C++ или Java, по нескольким причинам:
- типы данных высокого уровня позволяют выражать сложные операции в одном операторе;
- Группировка операторов осуществляется с помощью отступов, а не начальных и конечных скобок;
- Объявления переменных и аргументов не требуются.
Python расширяем : если вы умеете программировать на языке C, вы легко сможете добавить в интерпретатор новую встроенную функцию или модуль, как для выполнения критически важных операций с максимальной скоростью, так и для подключения программ на Python к библиотекам, которые могут быть доступны только в двоичном виде (например, к графическим библиотекам, специфичным для конкретного поставщика). Когда вы по-настоящему освоитесь, вы сможете подключить интерпретатор Python к приложению, написанному на C, и использовать его как расширение или командный язык для этого приложения.
Кстати, язык назван в честь шоу «Летающий цирк Монти Пайтона» на BBC и не имеет никакого отношения к рептилиям. Ссылки на сценки Монти Пайтона в документации не только разрешены, но и приветствуются!
Теперь, когда вы в восторге от Python, вам захочется изучить его более подробно. Поскольку лучший способ выучить язык — это использовать его, руководство предлагает вам поэкспериментировать с интерпретатором Python по ходу чтения.
В следующей главе объясняется механизм использования интерпретатора. Это довольно банальная информация, но она необходима для освоения представленных далее примеров.
Оставшаяся часть руководства знакомит с различными функциями языка и системы Python с помощью примеров, начиная с простых выражений, операторов и типов данных, через функции и модули, и, наконец, касаясь сложных концепций, таких как исключения и определяемые пользователем классы.
Административная конфигурация
📂 Python
Обновлено: 2025-10-17 20:16:03
Существует ряд параметров, которые могут быть полезны администраторам для переопределения конфигурации менеджера установки Python. Они могут использоваться для обеспечения локального кэширования, отключения определённых типов ярлыков и переопределения содержимого пакетов. Можно настроить все перечисленные выше параметры конфигурации, а также перечисленные ниже.
Параметры конфигурации можно переопределить в реестре, установив значения в разделе HKEY_LOCAL_MACHINE\Software\Policies\Python\PyManager, где имя значения соответствует ключу конфигурации, а тип значения — REG_SZ. Обратите внимание, что сам этот ключ можно настроить, но только путем изменения основного файла конфигурации, поставляемого вместе с менеджером установки Python. Однако мы рекомендуем использовать значения реестра только для установки base_configJSON-файла, содержащего полный набор переопределений. Переопределения ключей реестра заменят любые другие настроенные параметры, base_configпозволяя пользователям дополнительно изменять необходимые параметры.
Обратите внимание, что большинство настроек с переменными окружения поддерживают эти переменные, поскольку их значение по умолчанию задаёт переменную. Если вы переопределите их, переменная окружения перестанет работать, если только вы не переопределите её другим значением. Например, значение по умолчанию confirm— буквально %PYTHON_MANAGER_CONFIRM%, что разрешит переменную во время загрузки. Если вы переопределите значение на yes, то переменная окружения больше не будет использоваться. Если вы переопределите значение на %CONFIRM%, то вместо неё будет использоваться эта переменная окружения.
Параметры конфигурации, являющиеся путями, интерпретируются относительно каталога, содержащего файл конфигурации, в котором они указаны.
Параметры административной конфигурации
|
Конфигурационный ключ |
Описание |
|---|---|
|
|
Файл конфигурации с наивысшим приоритетом для чтения. Обратите внимание, что изменить этот параметр можно только с помощью встроенного файла конфигурации и реестра. |
|
|
Второй файл конфигурации для чтения. |
|
|
Третий файл конфигурации для чтения. |
|
|
Расположение в реестре для проверки переопределений. Обратите внимание, что изменить этот параметр можно только с помощью встроенного файла конфигурации. |
|
|
Каталог, доступный только для чтения и содержащий локально кэшированные файлы. |
|
|
Путь или URL-адрес индекса для обращения к нему, когда основной индекс недоступен. |
|
|
Список разрешенных типов сочетаний клавиш, разделенный запятыми (например, |
|
|
Список типов ярлыков, разделённых запятыми, которые следует исключить (например, |
|
|
Расположение реестра для чтения и записи записей PEP 514. По умолчанию |
|
|
Папка меню «Пуск» для записи ярлыков. По умолчанию — |
|
|
Путь к активной виртуальной среде. По умолчанию это |
|
|
True для подавления видимых предупреждений, когда shebang запускает приложение, отличное от среды выполнения Python. |
Оффлайн-установки
📂 Python
Обновлено: 2025-10-17 20:14:28
Для выполнения автономной установки Python вам сначала потребуется создать автономный индекс на машине, имеющей доступ к сети.
$> py install --download=<ПУТЬ> ... <ТЕГ>...
Эта --download=<PATH>опция загрузит пакеты для перечисленных тегов и создаст каталог, содержащий их и index.jsonфайл, подходящий для последующей установки. Весь этот каталог можно перенести на автономный компьютер и использовать для установки одной или нескольких сред выполнения из комплекта:
$> py install --source="<PATH>\index.json" <TAG>...
Менеджер установки Python можно установить, загрузив его установщик и переместив его на другой компьютер перед установкой.
В качестве альтернативы, ZIP-файлы из автономного каталога индекса можно просто перенести на другой компьютер и распаковать. Это никак не зарегистрирует установку, поэтому её придётся запускать, напрямую ссылаясь на исполняемые файлы в распакованном каталоге. Однако иногда этот подход предпочтительнее, когда установка менеджера установки Python невозможна или неудобна.
Таким образом, среды выполнения Python можно устанавливать и управлять ими на машине без доступа к Интернету.
Альтернативные реализации
📂 Python
Обновлено: 2025-10-17 20:09:09
Хотя существует одна реализация Python, которая на сегодняшний день является самой популярной, есть и несколько альтернативных реализаций, которые представляют особый интерес для различных аудиторий.
Известные реализации включают в себя:
- CPython
-
Это оригинальная и наиболее поддерживаемая реализация Python, написанная на языке C. Новые возможности языка обычно появляются здесь первыми.
- Джитон
-
Python, реализованный на Java. Эта реализация может использоваться в качестве языка сценариев для приложений Java или для создания приложений с использованием библиотек классов Java. Она также часто применяется для создания тестов для библиотек Java. Подробнее см. на сайте Jython .
- Python для .NET
-
Эта реализация фактически использует реализацию CPython, но представляет собой управляемое приложение .NET и обеспечивает доступ к библиотекам .NET. Её создал Брайан Ллойд. Подробнее см. на домашней странице Python для .NET .
- IronPython
-
Альтернативный Python для .NET. В отличие от Python.NET, это полноценная реализация Python, которая генерирует IL и компилирует код Python непосредственно в сборки .NET. Её создал Джим Хьюгунин, создатель Jython. Подробнее см. на сайте IronPython .
- PyPy
-
Реализация Python, полностью написанная на Python. Она поддерживает ряд расширенных функций, отсутствующих в других реализациях, таких как поддержка стековых вычислений и компилятор Just in Time. Одна из целей проекта — стимулировать эксперименты с самим языком, упрощая модификацию интерпретатора (поскольку он написан на Python). Дополнительная информация доступна на домашней странице проекта PyPy .
Каждая из этих реализаций в той или иной степени отличается от языка, описанного в данном руководстве, или содержит специфическую информацию, выходящую за рамки стандартной документации Python. Обратитесь к документации по конкретной реализации, чтобы узнать, что ещё вам нужно знать об используемой вами реализации.
Интерактивное редактирование ввода и замена истории
📂 Python
Обновлено: 2025-10-17 20:05:10
Интерактивное редактирование ввода и замена истории
Некоторые версии интерпретатора Python поддерживают редактирование текущей строки ввода и подстановку истории, аналогично функциям оболочек Korn и GNU Bash. Это реализовано с помощью библиотеки GNU Readline , поддерживающей различные стили редактирования. У этой библиотеки есть собственная документация, которую мы не будем здесь дублировать.
Завершение ввода и редактирование истории
Дополнение имён переменных и модулей автоматически включается при запуске интерпретатора, поэтому Tabнажатие клавиши вызывает функцию дополнения; она проверяет имена операторов Python, текущие локальные переменные и доступные имена модулей. Для точечных выражений, таких как string.a, функция вычисляет выражение до последнего символа '.'и предлагает варианты дополнения на основе атрибутов полученного объекта. Обратите внимание, что это может привести к выполнению кода, определённого приложением, если объект с __getattr__()методом является частью выражения. Конфигурация по умолчанию также сохраняет историю в файле с именем .python_historyв вашем пользовательском каталоге. История будет снова доступна в следующем сеансе интерактивного интерпретатора.
Альтернативы интерактивному переводчику
Эта возможность — огромный шаг вперёд по сравнению с предыдущими версиями интерпретатора, однако есть несколько пожеланий: было бы неплохо, если бы корректный отступ предлагался в строках продолжения (анализатор понимает, INDENTтребуется ли следующая лексема). Механизм автодополнения мог бы использовать таблицу символов интерпретатора. Также была бы полезна команда для проверки (или даже предложения) соответствия скобок, кавычек и т. д.
Альтернативный расширенный интерактивный интерпретатор, существующий уже довольно давно, — это IPython , который поддерживает автодополнение по клавише Tab, исследование объектов и расширенное управление историей. Его также можно полностью настраивать и встраивать в другие приложения. Другая похожая расширенная интерактивная среда — bpython .
Конфигурация
📂 Python
Обновлено: 2025-10-17 19:48:19
Менеджер установки Python настраивается с помощью иерархии файлов конфигурации, переменных окружения, параметров командной строки и параметров реестра. Как правило, файлы конфигурации позволяют настраивать всё, включая расположение других файлов конфигурации, в то время как параметры реестра доступны только администратору и переопределяют файлы конфигурации. Параметры командной строки переопределяют все остальные настройки, но не все доступны.
В этом разделе будут описаны значения по умолчанию, но имейте в виду, что измененные или переопределенные установки могут иметь другие настройки.
Глобальный файл конфигурации может быть настроен администратором и будет прочитан первым. Пользовательский файл конфигурации хранится в %AppData%\Python\pymanager.json(по умолчанию) и считывается следующим, перезаписывая все настройки из более ранних файлов. Дополнительный файл конфигурации можно указать как PYTHON_MANAGER_CONFIGпеременную окружения или --configкак параметр командной строки (но не как то и другое одновременно).
Следующие параметры считаются наиболее подверженными изменению при обычном использовании. В последующих разделах перечислены параметры, предназначенные для административной настройки.
Стандартные параметры конфигурации
|
Конфигурационный ключ |
Переменная среды |
Описание |
|---|---|---|
|
|
|
Предпочтительная версия по умолчанию для запуска или установки. По умолчанию это последняя версия (не предварительная) от команды CPython. |
|
|
|
Предпочтительная платформа по умолчанию для запуска или установки. Рассматривается как суффикс к указанному тегу, поэтому |
|
|
|
Место, где записываются файлы журналов. По умолчанию |
|
|
|
Значение True разрешает автоматическую установку при указании конкретной среды выполнения для запуска. Значение по умолчанию — true. |
|
|
|
Значение True, чтобы разрешить вывод списка и запуск сред выполнения, которые не были установлены менеджером установки Python, или значение False, чтобы исключить их. Значение по умолчанию — True. |
|
|
|
Значение True, чтобы разрешить шебангам в |
|
|
|
Установите уровень выходных данных по умолчанию (0–50). По умолчанию — 20. Более низкие значения приводят к увеличению выходных данных. Переменные окружения являются логическими и могут создавать дополнительные выходные данные во время запуска, которые впоследствии подавляются другими настройками. |
|
|
|
True, чтобы подтвердить определённые действия перед их выполнением (например, удаление), или false, чтобы пропустить подтверждение. По умолчанию — true. |
|
|
|
Переопределить индексный канал для получения новых установок. |
|
|
|
Укажите формат, используемый командой по умолчанию |
Имена, разделенные точками, должны быть вложены в объекты JSON, например, list.formatбудут указаны как {"list": {"format": "table"}}.