- Browse the docs online or download a copy of your own.
- Beginner
- Moderate
- Advanced
- General
- Python 3.x Resources
- Porting from Python 2 to Python 3
- >>> Python Needs You
- >>> Python Enhancement Proposals (PEPs) : The future of Python is discussed here. RSS
- №27 Инструкции и выражения / для начинающих
- Инструкции в Python
- Что такое инструкция?
- Что такое выражение?
- Простая операция присваивания
- Пример 1. С правой стороны — выражение со значением
- Пример 2. С правой стороны — существующая переменная Python
- Пример 3. С правой стороны — операция
- Дополненная инструкция присваивания
- Инструкция в несколько строк
- 1. Явное продолжение строки
- 2. Неявное продолжение строки
- Отступы в Python
- Сколько места занимает один отступ
- Почему отступы так важны в Python?
- Выводы
- Python 3.11.4 documentation
- Download
- Docs by version
- Other resources
- Navigation
- The Python Language Reference¶
Browse the docs online or download a copy of your own.
Python’s documentation, tutorials, and guides are constantly evolving.
Get started here, or scroll down for documentation broken out by type and subject.
Beginner
Moderate
Advanced
General
Python 3.x Resources
Porting from Python 2 to Python 3
>>> Python Needs You
Open source software is made better when users can easily contribute code and documentation to fix bugs and add features. Python strongly encourages community involvement in improving the software. Learn more about how to make Python better for everyone.
>>> Python Enhancement Proposals (PEPs) : The future of Python is discussed here. RSS
- About
- Applications
- Quotes
- Getting Started
- Help
- Python Brochure
- All releases
- Source code
- Windows
- macOS
- Other Platforms
- License
- Alternative Implementations
- Docs
- Audio/Visual Talks
- Beginner’s Guide
- Developer’s Guide
- FAQ
- Non-English Docs
- PEP Index
- Python Books
- Python Essays
- Diversity
- Mailing Lists
- IRC
- Forums
- PSF Annual Impact Report
- Python Conferences
- Special Interest Groups
- Python Logo
- Python Wiki
- Code of Conduct
- Community Awards
- Get Involved
- Shared Stories
- Arts
- Business
- Education
- Engineering
- Government
- Scientific
- Software Development
- Python News
- PSF Newsletter
- PSF News
- PyCon US News
- News from the Community
- Python Events
- User Group Events
- Python Events Archive
- User Group Events Archive
- Submit an Event
- Developer’s Guide
- Issue Tracker
- python-dev list
- Core Mentorship
- Report a Security Issue
№27 Инструкции и выражения / для начинающих
Этот материал посвящен инструкциям и выражениям в Python, а также отличиям между ними. Также речь пойдет об инструкциях, занимающих несколько строк, и отступах в Python. Попробуем ответить на вопрос: «Почему отступы так важны в Python?»
Инструкции в Python
Что такое инструкция?
Инструкция в Python — это логическая инструкция, которую интерпретатор Python может прочесть и выполнить. Она может являться выражением или оператором присваивания в Python.
Присваивание — фундаментальный элемент этого языка. Он определяет способ создания и сохранения объектов с помощью выражений.
Что такое выражение?
Выражение — один из типов инструкции, который содержит логическую последовательность чисел, строк, объектов и операторов python. Значение и переменная являются выражениями сами по себе.
С помощью выражений можно выполнять такие операции, как сложение, вычитание, конкатенация и другие. Они также могут представлять собой вызовы функций, которые возвращают результат.
# Использование арифметических выражений
>>> ((20 + 2) * 10 / 5 - 20)
24.0
# Использование функций в выражении
>>> pow(2, 10)
1024
# Использование eval в выражении
>>> eval("2.5+2.5")
5.0Простая операция присваивания
В случае простого присваивания создаются новые переменные, которым присваиваются значения. Их можно менять. Инструкция предоставляет выражение и имя переменной в качестве метки для сохранения значения выражения.
# Синтаксис
variable = expressionРассмотрим типы выражений присваивания в Python и посмотрим, как они работают внутри.
Пример 1. С правой стороны — выражение со значением
Это базовая форма присваивания в Python.
Python создаст в памяти строку "Изучение python" и присвоит ей имя test . Узнать адрес в памяти можно с помощью встроенной функции id() .
>>> test = "Изучение python"
>>> id(test)
6589040Номер — это адрес места, где значение хранится в памяти. Дальше несколько интересных вещей, о которых нужно помнить.
- Если создать другую строку с тем же значением, Python создаст новый объект и присвоит его другому местоположению в памяти. Это работает в большинстве случаев.
- Однако в двух следующих случаях он использует то же место в памяти:
- Строки без пробелов с менее чем 20 символами;
- Целые числа от -5 до 255.
Это называется интернированием и делается для сохранения памяти.
Пример 2. С правой стороны — существующая переменная Python
Теперь другой пример инструкции присваивания. С правой стороны находится ранее объявленная переменная python.
Инструкция выше не приведет к выделению нового места в памяти. Обе переменных будут ссылаться на один и тот же объект в памяти. Это как создание псевдонима для существующего объекта. Убедиться в этом можно с помощью все той же функции id() .
>>> test = "Изучение python"
>>> id(test)
6589424
>>> another_test = test
>>> id(another_test)
6589424Пример 3. С правой стороны — операция
В случае такой инструкции результат зависит от исхода операции. Возьмем такой пример.
>>> test = 2 * 2 / 4
>>> print(test)
1.0
>>> type(test)В примере выше присваивание приведет к созданию переменной типа float . А в этом — к появлению переменной типа int .
>>> test = 3 * 3
>>> print(test)
9
>>> type(test)Дополненная инструкция присваивания
Арифметические операторы можно объединять для формирования инструкций дополненного присваивания.
Рассмотрим такой пример: x += y . Он является аналогичным этой инструкции — x = x + y .
Следующий пример с добавлением новых элементов в кортеж чуть яснее демонстрирует принцип.
>>> my_tuple = (5, 10, 20)
>>> my_tuple += (40, 80,)
>>> print(my_tuple)
(5, 10, 20, 40, 80)Следующий пример — список гласных. В нем в список добавляются недостающие значения.
>>> list_vowels = ['a','e','i']
>>> list_vowels += ['o', 'u',]
>>> print(list_vowels)
['a', 'e', 'i', 'o', 'u']Инструкция в несколько строк
Каждая инструкция в Python заканчивается символом новой строки. Но это поведение можно расширить на несколько строк с помощью символа продолжения строки \ .
В Python есть два варианта работы с инструкциями, занимающими несколько строк.
1. Явное продолжение строки
Когда сразу используется символ продолжения строки \ для разбития инструкции на несколько строчек.
# Инициализация списка с помощью многострочной инструкции
>>> my_list = [1, \
. 2, 3\
. ,4,5 \
. ]
>>> print(my_list)
[1, 2, 3, 4, 5]
# Вычислить выражение, используя многострочную инструкцию
>>> eval ( \
. " 2.5 \
. + \
. 3.5")
6.02. Неявное продолжение строки
Неявное продолжение строки работает в тех случаях, когда инструкция разбивается с помощью круглых (), квадратных [] или фигурных <> скобок. В таком случае инструкцию нужно заключить внутрь скобок для переноса.
>>> result = (10 + 100
. * 5 - 5
. / 100 + 10
. )
>>> print(result)
519.95>>> subjects = [
. 'Метематика',
. 'Английский',
. 'Химия'
. ]
>>> print(subjects)
['Метематика', 'Английский', 'Химия']
>>> type(subjects)Отступы в Python
Большая часть высокоуровневых языков программирования, таких как C, C++, C# используют фигурные скобки для выделения блоков кода. Python делает это с помощью отступов.
Блок кода, представляющий тело функции или цикл, начинается с отступа и заканчивается первой строкой без отступа.
Сколько места занимает один отступ
Согласно правилам стиля Python (PEP8), размер отступа — 4 символа. Однако у Google есть собственные правила, ограничивающие этот размер 2 символами. Так что можно руководствоваться и собственным стилем, но лучше следовать PEP8.
Почему отступы так важны в Python?
В большинстве языков программирования отступы используются для улучшения читабельности, но добавлять их необязательно. Но в Python их обязательно нужно использовать. Обычно каждую строку предваряет отступ в 4 символа для одного блока кода.
В примерах прошлых разделов были блоки без отступов. Однако в более сложных выражениях без них не обойтись.
def demo_routine(num):
print('Демо функция')
if num % 2 == 0:
return True
else:
return False
num = int(input('Введи число:'))
if demo_routine(num) is True:
print(num, 'четное число')
else:
print(num, 'нечетное число')Также стоит рассмотреть пример, когда ненужный отступ вызывает ошибку.
>>> 6*5-10
File "", line 1
6*5-10
^
IndentationError: unexpected indentВыводы
Если вы планируете стать профессиональным программистом, который верит в понятие чистого кода, тогда важно знать о выражениях, инструкциях и отступах в Python. Чтобы получить максимум от этого урока, повторите все представленные примеры в консоли. Для работы с ранее введенными командами можно использовать стрелку вверх на клавиатуре.
Python 3.11.4 documentation
Welcome! This is the official documentation for Python 3.11.4.
Parts of the documentation:
Library Reference
keep this under your pillowLanguage Reference
describes syntax and language elementsPython Setup and Usage
how to use Python on different platformsPython HOWTOs
in-depth documents on specific topicsInstalling Python Modules
installing from the Python Package Index & other sourcesDistributing Python Modules
publishing modules for installation by othersPython/C API
reference for C/C++ programmersFAQs
frequently asked questions (with answers!)Indices and tables:
Global Module Index
quick access to all modulesGeneral Index
all functions, classes, termsGlossary
the most important terms explainedSearch page
search this documentationComplete Table of Contents
lists all sections and subsectionsMeta information:
Download
Docs by version
- Python 3.13 (in development)
- Python 3.12 (pre-release)
- Python 3.11 (stable)
- Python 3.10 (security-fixes)
- Python 3.9 (security-fixes)
- Python 3.8 (security-fixes)
- Python 3.7 (EOL)
- Python 3.6 (EOL)
- Python 3.5 (EOL)
- Python 2.7 (EOL)
- All versions
Other resources
Navigation
© Copyright 2001-2023, Python Software Foundation.
This page is licensed under the Python Software Foundation License Version 2.
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
See History and License for more information.The Python Software Foundation is a non-profit corporation. Please donate.
Last updated on Jul 20, 2023. Found a bug?
Created using Sphinx 4.5.0.The Python Language Reference¶
This reference manual describes the syntax and “core semantics” of the language. It is terse, but attempts to be exact and complete. The semantics of non-essential built-in object types and of the built-in functions and modules are described in The Python Standard Library . For an informal introduction to the language, see The Python Tutorial . For C or C++ programmers, two additional manuals exist: Extending and Embedding the Python Interpreter describes the high-level picture of how to write a Python extension module, and the Python/C API Reference Manual describes the interfaces available to C/C++ programmers in detail.
- 1. Introduction
- 1.1. Alternate Implementations
- 1.2. Notation
- 2.1. Line structure
- 2.2. Other tokens
- 2.3. Identifiers and keywords
- 2.4. Literals
- 2.5. Operators
- 2.6. Delimiters
- 3.1. Objects, values and types
- 3.2. The standard type hierarchy
- 3.3. Special method names
- 3.4. Coroutines
- 4.1. Structure of a program
- 4.2. Naming and binding
- 4.3. Exceptions
- 5.1. importlib
- 5.2. Packages
- 5.3. Searching
- 5.4. Loading
- 5.5. The Path Based Finder
- 5.6. Replacing the standard import system
- 5.7. Package Relative Imports
- 5.8. Special considerations for __main__
- 5.9. References
- 6.1. Arithmetic conversions
- 6.2. Atoms
- 6.3. Primaries
- 6.4. Await expression
- 6.5. The power operator
- 6.6. Unary arithmetic and bitwise operations
- 6.7. Binary arithmetic operations
- 6.8. Shifting operations
- 6.9. Binary bitwise operations
- 6.10. Comparisons
- 6.11. Boolean operations
- 6.12. Assignment expressions
- 6.13. Conditional expressions
- 6.14. Lambdas
- 6.15. Expression lists
- 6.16. Evaluation order
- 6.17. Operator precedence
- 7.1. Expression statements
- 7.2. Assignment statements
- 7.3. The assert statement
- 7.4. The pass statement
- 7.5. The del statement
- 7.6. The return statement
- 7.7. The yield statement
- 7.8. The raise statement
- 7.9. The break statement
- 7.10. The continue statement
- 7.11. The import statement
- 7.12. The global statement
- 7.13. The nonlocal statement
- 8.1. The if statement
- 8.2. The while statement
- 8.3. The for statement
- 8.4. The try statement
- 8.5. The with statement
- 8.6. The match statement
- 8.7. Function definitions
- 8.8. Class definitions
- 8.9. Coroutines
- 9.1. Complete Python programs
- 9.2. File input
- 9.3. Interactive input
- 9.4. Expression input