pythoner.name - 3. Неформальное введение в Python









Search Preview

Введение в Python - документация Python 3.x

pythoner.name
Как начать быстро программировать на Python. Работа с числами и строками. Списки и операции над ними. Цикл while.
.name > pythoner.name

SEO audit: Content analysis

Language Error! No language localisation is found.
Title Введение в Python - документация Python 3.x
Text / HTML ratio 58 %
Frame Excellent! The website does not use iFrame solutions.
Flash Excellent! The website does not have any flash contents.
Keywords cloud >>> в и = с word Python для как не или строки вы это быть В что кавычки от также
Keywords consistency
Keyword Content Title Description Headings
>>> 107
в 42
и 38
= 31
с 31
word 24
Headings
H1 H2 H3 H4 H5 H6
1 5 6 0 0 0
Images We found 2 images on this web page.

SEO Keywords (Single)

Keyword Occurrence Density
>>> 107 5.35 %
в 42 2.10 %
и 38 1.90 %
= 31 1.55 %
с 31 1.55 %
word 24 1.20 %
Python 24 1.20 %
для 20 1.00 %
как 19 0.95 %
не 18 0.90 %
или 17 0.85 %
строки 16 0.80 %
вы 16 0.80 %
это 14 0.70 %
быть 14 0.70 %
В 13 0.65 %
что 12 0.60 %
кавычки 12 0.60 %
от 11 0.55 %
также 11 0.55 %

SEO Keywords (Two Word)

Keyword Occurrence Density
>>> word 19 0.95 %
= >>> 9 0.45 %
>>> letters 9 0.45 %
могут быть 8 0.40 %
>>> squares 7 0.35 %
she said' 5 0.25 %
letters = 5 0.25 %
интерактивном режиме 4 0.20 %
новую строку 4 0.20 %
'Isn\'t she 4 0.20 %
>>> cubes 4 0.20 %
с плавающей 4 0.20 %
плавающей точкой 4 0.20 %
включая до 4 0.20 %
в Python 4 0.20 %
может быть 4 0.20 %
word символ 4 0.20 %
>>> x 4 0.20 %
двойные кавычки 4 0.20 %
символы от 3 0.15 %

SEO Keywords (Three Word)

Keyword Occurrence Density Possible Spam
>>> letters = 5 0.25 % No
letters = >>> 5 0.25 % No
>>> word символ 4 0.20 % No
с плавающей точкой 4 0.20 % No
'Isn\'t she said' 4 0.20 % No
= >>> letters 4 0.20 % No
>>> word = 3 0.15 % No
вы должны ввести 3 0.15 % No
word символы от 3 0.15 % No
'Yes he said' 3 0.15 % No
>>> 17 3 3 0.15 % No
>>> letters >>> 3 0.15 % No
>>> word символы 3 0.15 % No
>>> cubes = 2 0.10 % No
Display this usage 2 0.10 % No
Hostname to connect 2 0.10 % No
hostname Hostname to 2 0.10 % No
H hostname Hostname 2 0.10 % No
message H hostname 2 0.10 % No
usage message H 2 0.10 % No

SEO Keywords (Four Word)

Keyword Occurrence Density Possible Spam
>>> letters = >>> 5 0.25 % No
letters = >>> letters 4 0.20 % No
= >>> letters >>> 3 0.15 % No
>>> word символы от 3 0.15 % No
usage message H hostname 2 0.10 % No
'Yes he said' >>> 2 0.10 % No
включая до конца 'on' 2 0.10 % No
line 1 in 2 0.10 % No
line 1 in 2 0.10 % No
File line 1 2 0.10 % No
last File line 2 0.10 % No
call last File 2 0.10 % No
recent call last File 2 0.10 % No
Краткий обзор стандартной библиотеки 2 0.10 % No
most recent call last 2 0.10 % No
Traceback most recent call 2 0.10 % No
TypeError 'str' object does 2 0.10 % No
object does not support 2 0.10 % No
'str' object does not 2 0.10 % No
'Put several strings within 2 0.10 % No

Internal links in - pythoner.name

Перевод документации
Перевод документации Python 3.x
Учебник
Учебник Python - документация Python 3.x
1. Разжигая ваш аппетит
Особенности и преимущества Python - документация Python 3.х
2. Использование интерпретатора Python
Использование интерпретатора Python - документация Python 3.x
3. Неформальное введение в Python
Введение в Python - документация Python 3.x
4. Управление потоком выполнения
Управление потоком выполнения - документация Python 3.x
5. Структуры данных
Структуры данных - документация Python 3.х
6. Модули
Модули - документация Python 3.х
7. Ввод и вывод
Ввод и вывод - документация Python 3.х
8. Ошибки и исключения
Ошибки и исключения - документация Python 3.x
9. Классы
Классы - документация Python 3.x
10. Краткий обзор стандартной библиотеки
Краткий обзор стандартной библиотеки - документация Python 3.x
11. Краткий обзор стандартной библиотеки - Часть II
Краткий обзор стандартной библиотеки - Часть II - документация Python 3.x
12. Виртуальное окружение и пакеты
Виртуальное окружение и пакеты - Документация Python 3.x
13. Что теперь?
Ресурсы по Python - документация Python 3.x
14. Tab-завершение и прокрутка истории
Редактирование интерактивного ввода и подстановка истории - документация Python 3.x
15. Проблемы представления вещественных чисел
Проблемы арифметики чисел с плавающей точкой - документация Python 3.x
16. Дополнение
Исполняемые скрипты и настройка модулей - документация Python 3.x
Стандартная библиотека
Стандартная библиотека Python | Python
1. Введение
Введение в стандартную библиотеку - документация Python 3.x
2. Встроенные функции
Встроенные функции - документация Python 3.х
3. Встроенные константы
Встроенные константы - документация Python 3.x
4. Встроенные типы
Встроенные типы - документация Python 3.x
25. Графические пользовательские интерфейсы с Tk
25. Графические пользовательские интерфейсы с Tk | Python
25.1. tkinter - интерфейс Python к Tcl/Tk
25.1. tkinter - интерфейс Python к Tcl/Tk | Python
Справка по языку Python
Справка по языку Python - Документация Python 3.x
1. Введение
Введение - Справка по языку Python 3.x
2. Лексический анализ
Лексический анализ - Справка по языку Python 3.x
Заметки
Заметки | Python
Программы
Программы | Python
Задачи
Python. Решение задач
Курсы
Курсы по программированию на Python
Программа-скрипт для замены части текста во всех файлах каталога
Программа-скрипт для замены части текста во всех файлах каталога | Python
Найти значение списка, которое встречается чаще всего
Найти значение списка, которое встречается чаще всего | Python
Замена элементов списка
Замена элементов списка | Python
Проверка расширения файла
Проверка расширения файла | Python
Вычисление массы, объема и плотности
Вычисление массы, объема и плотности | Python
Цельсии в Фаренгейты или наоборот
Цельсии в Фаренгейты или наоборот | Python
Контакт
Контакт | Программирование на Python

Pythoner.name Spined HTML


Введение в Python - документация Python 3.x Перейти к основному содержанию Программирование на Python Перевод документацииУчебник1. Разжигая ваш аппетит2. Использование интерпретатора Python3. Неформальное введение в Python4. Управление потоком выполнения5. Структуры данных6. Модули7. Ввод и вывод8. Ошибки и исключения9. Классы10. Краткий обзор стандартной библиотеки11. Краткий обзор стандартной библиотеки - Часть II12. Виртуальное окружение и пакеты13. Что теперь?14. Tab-завершение и прокрутка истории15. Проблемы представления вещественных чисел16. ДополнениеСтандартная библиотека1. Введение2. Встроенные функции3. Встроенные константы4. Встроенные типы25. Графические пользовательские интерфейсы с Tk25.1. tkinter - интерфейс Python к Tcl/TkСправка по языку Python1. Введение2. Лексический анализЗаметкиПрограммыЗадачиКурсы Breadcrumbs You are here: Перевод документации Python 3.xУчебник Python 3. Неформальное введение в Python Использование Python в качестве калькулятора Числа Строки Списки Первые шаги к программированию В следующих примерах ввод и вывод различаются присутствием или отсутствием приглашений (>>> (docs.python.org/3/glossary.html#term) и ... (docs.python.org/3/glossary.html#term-1)): чтобы повторить пример, вы должны ввести все после приглашения, когда оно появляется; строки, которые не начинаются с приглашения, являются выводом интерпретатора. Заметьте, что вторичное приглашение на отдельной строке в примере означает, что вы должны ввести пустую строку; это используется для окончания многострочной команды. Многие из примеров в данном руководстве, даже те, которые вводятся в интерактивном режиме, включают комментарии. Комментарии в Python начинаются с хэш-символа # и продолжаются до конца физической строки. Комментарий может появиться в начале строки или после пробела или кода, но не внутри строкового литерала. Хэш-символ внутри строки - это просто хэш-символ. Так как комментарии являются пояснением кода и не интерпретируются Python, они могут быть опущены при работе с примерами. Несколько примеров: # это первый комментарий spam = 1 # а это второй комментарий # ... и теперь третий! text = "# Это не комментарий, т. к. это находится внутри кавычек." 3.1. Использование Python в качестве калькулятора Испытаем несколько простых команд Python. Запустите интерпретатор и дождитесь первичного приглашения >>>. (Это не должно занять много времени.) 3.1.1. Числа Интерпретатор действует как простой калькулятор: вы можете ввести в него выражение, и он выведет результат. Синтаксис выражения простой: операторы +, -, * и / работают также как в большинстве других языках (например, Pascal или C); круглые скобки могут быть использованы для группировки. Например: >>> 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. Далее в учебнике мы подробнее познакомимся с числовыми типами. Деление (/) всегда возвращает вещественное число. Чтобы выполнить floor semester (docs.python.org/3/glossary.html#term-floor-division) и получить целый результат (отбрасыванием какой-либо дробной части), вы можете использовать оператор //; для вычисления остатка можете использовать %: >>> 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 Знак равенства (=) используется для присваивания значения переменной. При этом никакого результата не отображается перед следующим интерактивным приглашением: >>> width = 20 >>> height = 5 * 9 >>> width * height 900 Если переменная не "определена" (не присвоено значение), попытка использовать ее выдаст вам ошибку: >>> n # попытка доступа к неопределенной переменной Traceback (most recent undeniability last): File "<stdin>", line 1, in <module> NameError: name 'n' is not specified Есть полная поддержка для чисел с плавающей точкой; операторы со смешанными типами операндов конвертируют целый операнд в число с плавающей точкой: >>> 3 * 3.75 / 1.5 7.5 >>> 7.0 / 2 3.5 В интерактивном режиме последнее выведенное выражение присваивается переменной _. Это означает, что когда вы используете Python как настольный калькулятор, то в какой-то степени легче продолжать вычисления, например: >>> tax = 12.5 / 100 >>> price = 100.50 >>> price * tax 12.5625 >>> price + _ 113.0625 >>> round(_, 2) 113.06 Эту переменную следует рассматривать только как предназначенную для чтения пользователем. Не присваивайте ей значение явно - вы создадите независимую локальную переменную с таким же именем, маскирующую встроенную переменную с ее волшебным поведением. В дополнение к int и float Python поддерживает другие типы чисел, такие как Decimal (docs.python.org/3/library/decimal.html#decimal.Decimal) и Fraction (docs.python.org/3/library/fractions.html#fractions.Fraction). Python также имеет встроенную поддержку для комплексных чисел и использует суффикс j или J для обозначения мнимой части (например, 3+5j). 3.1.2. Строки Кроме чисел Python также может манипулировать строками, которые могут быть описаны несколькими способами. Они могут быть заключены в одинарные кавычки ('...') или двойные кавычки ("...") с одинаковым результатом [2]. \ может быть использован для экранирования кавычек: >>> 'spam eggs' # одинарные кавычки 'spam eggs' >>> 'doesn't' # используйте ' для экранирования одиночной кавычки... "doesn't" >>> "doesn't" # ...или вместо этого используйте двойные кавычки "doesn't" >>> '"Yes," he said.' '"Yes," he said.' >>> ""Yes," he said." '"Yes," he said.' >>> '"Isn't," she said.' '"Isn't," she said.' В интерактивном интерпретаторе выводящаяся строка заключена в кавычки и специальные символы экранируются бэкслешами. В то же время это может иногда отличаться от ввода (заключающие кавычки могли измениться), две строки эквивалентны. Строка заключена в двойные кавычки, если она включает одинарные, при этом двойные кавычки отсутствуют, иначе она заключена в одинарные кавычки. Функция print() создает более читабельный вывод, опуская ограждающие кавычки и интерпретируя экранируемые и специальные символы: >>> '"Isn't," she said.' '"Isn't," she said.' >>> print('"Isn't," she said.') "Isn't," she said. >>> s = 'First line.\nSecond line.' # \n означает новую строку >>> s # без print(), \n содержится в выводе 'First line.\nSecond line.' >>> print(s) # с print(), \n создает новую строку First line. Second line. Если вы не хотите, чтобы символы, которым предшествует \, интерпретировались как специальные, то можете использовать raw string (сырые строки - прим. перев.), добавив r перед первой кавычкой: >>> print('C:\some\name') # здесь \n означает новую строку! C:\some ame >>> print(r'C:\some\name') # обратите внимание на r перед кавычкой C:\some\name Строковые литералы могут охватывать множество строк. Один способ - это использование тройных кавычек: """...""" или '''...'''. Конец строки по-умолчанию обозначает переход на новою, но есть возможность предотвратить это, добавив \ в конец строки. Следующий пример: print("""\ Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to """) дает следующий вывод (заметьте, что начальная новая строка не включена): Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to Строки могут быть соединены (склеены вместе) оператором + и повторены с помощью *: >>> # 3 раза 'un' с последующим 'ium' >>> 3 * 'un' + 'ium' 'unununium' Два или более строковых литерала (т. е. когда каждый заключен в кавычки), следующих друг за другом, автоматически конкатенируются. >>> 'Py' 'thon' 'Python' Однако это работает только с двумя литералами, но не с переменными или выражениями: >>> prefix = 'Py' >>> prefix 'thon' # не может соединить переменную и строковый литерал ... SyntaxError: invalid syntax >>> ('un' * 3) 'ium' ... SyntaxError: invalid syntax Если вы хотите конкатенировать переменные или переменную и литерал, используйте +: >>> prefix + 'thon' 'Python' Это свойство особенно полезно, когда вы хотите разорвать длинную строку: >>> text = ('Put several strings within parentheses ' 'to have them joined together.') >>> text 'Put several strings within parentheses to have them joined together.' Строка может быть проиндексирована, первый символ имеет индекс 0. Отдельный символьный тип отсутствует, символ - это просто строка единичной размерностью: >>> word = 'Python' >>> word[0] # символ в позиции 0 'P' >>> word[5] # символ в позиции 5 'n' Индексы также могут быть отрицательными числами для начала отсчета справа: >>> word[-1] # последний символ 'n' >>> word[-2] # второй с конца символ 'o' >>> word[-6] 'P' Заметьте, что поскольку -0 - это тоже самое, что 0, то отрицательные индексы начинаются с -1. В дополнение к индексации также поддерживаются срезы. В то время как индексация используется, чтобы получать отдельные символы, срезы позволяют вам получать подстроки: >>> word[0:2] # символы от позиции 0 (включая) до 2 (исключая) 'Py' >>> word[2:5] # символы от позиции 2 (включая) до 5 (исключая) 'tho' Заметьте, что начало всегда включается, а конец всегда исключается. Это обеспечивает то, что s[:i] + s[i:] всегда равно s: >>> word[:2] + word[2:] 'Python' >>> word[:4] + word[4:] 'Python' Индексация срезов имеет полезные свойства по умолчанию; опущенный первый индекс по умолчанию обозначает ноль, опущенный второй индекс по умолчанию обозначает размер строки, с которой берется срез. >>> word[:2] # символ от начала до позиции 2 (исключая) 'Py' >>> word[4:] # символ от позиции 4 (включая) до конца 'on' >>> word[-2:] # символы от второго с конца (включая) до конца 'on' Один из способов запомнить, как работают срезы, - это думать об индексах как указывающих между символами, левый край первого символа нумеруется 0. Тогда как правый край последнего символа строки из n символов имеет индекс n, например: +---+---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+---+ 0 1 2 3 4 5 6 -6 -5 -4 -3 -2 -1 Первый ряд чисел дает позицию индексов 0...6 в строке; второй ряд дает соответствующие отрицательные индексы. Срез от i до j состоит из всех символов между краями, отмеченными i и j соответственно. Для неотрицательных индексов длина среза представляет собой разность индексов, если оба находятся в границах. Например, длина word[1:3] равна 2. Попытка использовать индекс, который является слишком большим, приведет к ошибке: >>> word[42] # у word только 6 символов Traceback (most recent undeniability last): File "<stdin>", line 1, in <module> IndexError: string alphabetize out of range Однако индексы вне диапазона обрабатываются корректно при использовании для взятия среза: >>> word[4:42] 'on' >>> word[42:] '' Строки Python не могут быть изменены - они неизменяемы (docs.python.org/3/glossary.html#term-immutable). Поэтому присвоение по индексированной позиции в строке приводит к ошибке: >>> word[0] = 'J' ... TypeError: 'str' object does not support item work >>> word[2:] = 'py' ... TypeError: 'str' object does not support item work Если вам нужна другая строка, следует создать новую строку: >>> 'J' + word[1:] 'Jython' >>> word[:2] + 'py' 'Pypy' Встроенная функция len() возвращает длину строки: >>> s = 'supercalifragilisticexpialidocious' >>> len(s) 34 Смотрите также: Тип текстовой последовательности — str  Строки являются примером типов последовательностей и поддерживают обычные операции, поддерживаемые такими типами. Методы строк  Строки поддерживают большое число методов для основных преобразований и поиска. Formatted string literals (docs.python.org/3/reference/lexical_analysis.html#f-strings) Строковые литералы со встроенными выражениями. Format String Syntax (docs.python.org/3/library/string.html#formatstrings) Информация о форматировании строк с помощью str.format(). printf-стиль форматирования строки Старые операции форматирования вызываются, когда строки являются левым операндом оператора %, описанного более подробно здесь. 3.1.3. Списки Python'у известно определенное количество сложных типов данных, используемых для группировки разных значений. Наиболее гибким является list (список - прим. пер.), который может быть описан как список разделенных запятой значений (элементов) между квадратными скобками. Списки могут включать элементы различных типов, но обычно все элементы имеют одинаковый тип. >>> squares = [1, 4, 9, 16, 25] >>> squares [1, 4, 9, 16, 25] Как строки (и все другие встроенные типы последовательностей (docs.python.org/3/glossary.html#term-sequence)), списки могут быть проиндексированы и из них можно брать срезы: >>> squares[0] # индекс возвращает элемент 1 >>> squares[-1] 25 >>> squares[-3:] # срез возвращает новый список [9, 16, 25] Все операции взятия среза возвращают новый список, содержащий запрошенные элементы. Это значит, что ниже следующий срез возвращает новую (поверхностную) копию списка: >>> squares[:] [1, 4, 9, 16, 25] Списки также поддерживают такую операцию как конкатенацию: >>> squares + [36, 49, 64, 81, 100] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] В отличие от строк, которые неизменяемые (docs.python.org/3/glossary.html#term-immutable), списки являются изменяемым (docs.python.org/3/glossary.html#term-mutable) типом, т. е. есть возможность изменить их содержание: >>> cubes = [1, 8, 27, 65, 125] # что-то здесь не так >>> 4 ** 3 # 4 в кубе равно 64, а не 65! 64 >>> cubes[3] = 64 # замена ошибочного значения >>> cubes [1, 8, 27, 64, 125] Вы также можете добавить новый элемент в конец списка, используя метод append() (мы узнаем о методах больше позже): >>> cubes.append(216) # добавление куба 6-ти >>> cubes.append(7 ** 3) # и куба 7-ми >>> cubes [1, 8, 27, 64, 125, 216, 343] Присвоение срезов также возможно, и этим можно даже изменить размер списка или полностью его очистить: >>> reports = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> reports ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> # замена нескольких значений >>> letters[2:5] = ['C', 'D', 'E'] >>> reports ['a', 'b', 'C', 'D', 'E', 'f', 'g'] >>> # теперь удалим их >>> letters[2:5] = [] >>> reports ['a', 'b', 'f', 'g'] >>> # очистим список, заменив все элементы на пустой список >>> letters[:] = [] >>> reports [] Встроенная функция len() также применима к спискам: >>> reports = ['a', 'b', 'c', 'd'] >>> len(letters) 4 Возможно вкладывать списки (создавать списки, включающие другие списки), например: >>> a = ['a', 'b', 'c'] >>> n = [1, 2, 3] >>> x = [a, n] >>> x [['a', 'b', 'c'], [1, 2, 3]] >>> x[0] ['a', 'b', 'c'] >>> x[0][1] 'b' 3.2. Первые шаги к программированию Конечно мы можем использовать Python для более сложных задач, чем складывать вместе два и два. Например, мы можем написать начальную часть последовательности ряда Фибоначчи вот так: >>> # ряд Фибоначчи: ... # сумма двух элементов определяет следующий ... a, b = 0, 1 >>> while b < 10: ... print(b) ... a, b = b, a+b ... 1 1 2 3 5 8 Этот пример знакомит с несколькими новыми свойствами. Первая строка содержит множественное присваивание: переменные a и b одновременно получают новые значения 0 и 1. В последней строке это используется опять, демонстрируя, что сначала выражения с правой стороны полностью оцениваются, прежде чем произойдет какое-либо присваивание. Выражения с правой стороны выполняются слева направо. Цикл while (docs.python.org/3/reference/compound_stmts.html#while) выполняется до тех пор, пока условие (здесь b < 10) остается верным. В Python, как в C, любое ненулевое численное значение является правдой; ноль является ложью. Условие может также быть строкой или списком, в действительности любой последовательностью; все с ненулевой длинной является правдой, пустая последовательность является ложью. Проверка, используемая в примере, является простым сравнением. Стандартные операторы сравнения записываются также как в C: < (меньше, чем), > (больше, чем), == (равно), <= (меньше или равно), >= (больше или равно) и != (не равно). Тело цикла имеет отступ: в Python отступ - это способ группировки выражений. В интерактивном режиме вы должны ввести табуляцию или пробел(ы) для каждой строки с отступом. На практике вы будете подготавливать более сложный ввод для Python с помощью текстового редактора; все приличные текстовые редакторы имеют автоматическую установку отступов. Когда составное выражение вводится в интерактивном режиме, за ним должна следовать пустая строка, чтобы указать завершение (поскольку синтаксический анализатор не может угадать, когда вы ввели последнюю строку). Обратите внимание, что каждая строка в основном блоке должна быть с отступом на одно и то же значение. Функция print() выводит значение переданных ей аргумента(ов). Это отличается от просто вывода выражений, которые вы хотите вывести (как мы ранее делали раньше в примерах с калькулятором) способом обработки множества аргументов, величин с плавающей точкой и строк. Строки печатаются без кавычек, и между элементами вставляются пробелы, таким образом вы можете красиво форматировать объекты, подобно этому: >>> i = 256*256 >>> print('The value of i is', i) The value of i is 65536 Аргумент ключевое слово end может быть использовано для отмены новой строки после вывода, или окончания вывода другой строкой: >>> a, b = 0, 1 >>> while b < 1000: ... print(b, end=',') ... a, b = b, a+b ... 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987, Примечания [1] Поскольку ** имеет более высокий приоритет, чем -, то -3**2 будет интерпретировано как -(3**2) и поэтому даст результат -9. Чтобы избежать этого и получить 9, вы можете использовать (-3)**2. [2] В отличие от других языков специальные символы, такие как \n, имеют одинаковое значение как в одинарных ('...'), так и двойных ("...") кавычках. Разница между двумя вариантами только в том, что в одинарных кавычках вам не надо экранировать " (но вы должны экранировать ') и наоборот. Создано2015-08-07 Обновлено2017-05-04 Добавить комментарий Перекрёстные ссылки книги для 3. Неформальное введение в Python 2. Использование интерпретатора Python Вверх 4. Управление потоком выполнения Footer menu Контакт