Python/Учебник Python 3.9
Документация Python Эта статья — часть Документации по языку Python |
Исходный текст | http://docs.python.org/3.9/tutorial/ |
Автор | Фред Л. Дрейк мл. (Fred L. Drake, Jr. ) и другие |
Релиз | 3.9 |
Версия от | 25 апреля 2020 |
Python - это мощный, и в то же время не сложный в освоении язык программирования. В нем реализованы эффективные высокоуровневые структуры данных и простой, но действенный подход к объектно-ориентированному программированию. Элегантный синтаксис и динамическая типизация Python вместе с его интерпретируемой природой делают его идеальным языком для написания сценариев и разработки приложений в кратчайшие сроки во многих областях деятельности на большинстве платформ. Интерпретатор Python и обширная стандартная библиотека доступны в виде исходных или бинарных файлов для всех основных платформ на веб-сайте Python https://www.python.org/ и могут свободно распространяться. На этом же сайте размещены дистрибутивы и ссылки на многие бесплатные сторонние модули Python, программы и инструменты, а также дополнительная документация.
Интерпретатор Python легко расширяется новыми функциями и типами данных, реализованными на C или C ++ (или других языках, вызываемых из C). Python также подходит в качестве языка расширения для настраиваемых приложений.
Это руководство неформально знакомит читателя с основными понятиями и особенностями языка и системы Python. Оно помогает овладеть практическим опытом использования интерпретатора Python, при этом все представленные в учебнике примеры являются самодостаточными, так что пособие можно читать и в независимом режиме.
Описание стандартных объектов и модулей приведено в Стандартной библиотеке Python. Справочник по языку Python дает более формальное определение языка. Чтобы писать расширения на C или C ++, следует читать Расширение и встраивание интерпретатора Python и Справочное руководство по Python/C API. Также существует литература, подробно освещающая язык Python.
Это руководство не пытается быть всеобъемлющим и охватить каждую отдельную или даже все часто используемые функции. Вместо этого учебник знакомит пользователя со многими наиболее примечательными особенностями Python и дает хорошее представление о принципах использования и стиле языка. Прочитав его, пользователь сможет читать и писать модули и программы на Python, а также будет готов узнать больше о различных модулях библиотеки Python, описанных в Стандартной библиотеке Python library-index.
Также стоит ознакомится с Глоссарием.
<html>
Игра - угадай число
Введите число от 0 до 9:
<input type="text" name="gg" id="gg">
<input type="button" value="Играем!!!" onclick="game()">
<script>
function game(){
//alert("1");
var elem1 = Math.floor(Math.random() * 10);
var elem = document.getElementById("gg").value;
if (elem == ""){
alert("Вы не ввели число");
document.getElementById("gg").value = "";
exit();
}
if (elem == elem1){
alert("Вы выиграли!!! Поздравляем!!!");
//window.close();
} else {
alert("Вы не угодали, попробуйте еще! Компьютер загал число: " + elem1);
document.getElementById("gg").value = "";
}
} </script> </html>
Использование интерпретатора Python
правитьВызов интерпретатора
правитьПередача аргументов
правитьИнтерактивный режим
правитьИнтерпретатор и его окружение
правитьКодировка исходного кода
правитьНеформальное введение в Python
правитьВ приведенных далее примерах, ввод и вывод различаются наличием и отсутствием приглашений (>>> и …): чтобы повторить пример, необходимо ввести все, что следует за приглашением; строки, которые не начинаются с приглашения, являются выводом интерпретатора. Стоит заметить, что вторичное приглашение в строке примера означает, что необходимо ввести пустую строку для завершения многострочной команды.
Многие примеры в этом руководстве, в т.ч. вводимые в интерактивном режиме, содержат комментарии. Комментарии в Python начинаются с хеш-символа, #, и продолжаются до конца физической строки. Комментарий может появляться в начале строки и после пробела или кода, но не внутри строкового литерала. Хеш-символ в строковом литерале - это просто хеш-символ. Поскольку комментарии предназначены для пояснения кода и не интерпретируются, они могут быть опущены при вводе примеров.
Некоторые примеры:
# это первый комментарий
spam = 1 # а это второй комментарий
# ... а теперь третий!
text = "# Это не комментарий, т.к. текст внутри кавычек."
Использование Python в качестве калькулятора
правитьОпробуем несколько простых Python команд. Запустим интерпретатор и дождемся основного приглашения, >>>. (Это не должно занять много времени.)
Числа
правитьИнтерпретатор действует как простой калькулятор: при вводе выражения он выводим соответствующее значение. Синтаксис выражения прост: операторы +, -, * и / работают так же, как и в большинстве других языков (например, 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 division и получить целочисленный результат (отбросив дробную часть) можно использовать оператор //; для расчета остатка от деления используется %:
>>> 17 / 3 # Классическое деление возвращает число с плавающей точкой
5.666666666666667
>>>
>>> 17 // 3 # floor division отбрасывает дробную часть
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 call last):
File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined
Имеется полная поддержка чисел с плавающей точкой; операторы с операндами смешанного типа преобразуют целочисленный операнд в число с плавающей точкой:
>>> 4 * 3.75 - 1
14.0
В интерактивном режиме последний выведенный результат присваивается переменной _. Это означает, что при использовании Python в качестве настольного калькулятора, возобновить вычисления достаточно просто, например:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
Эта переменная должна рассматриваться пользователем как доступная только для чтения. Не стоит назначать ей значение явно — это привело бы к созданию независимой локальной переменной с таким же именем, которая маскирует встроенную переменную с ее необычным поведением. Кроме int и float, Python поддерживает другие типы чисел, такие как Decimal и Fraction. Python также имеет встроенную поддержку комплексных чисел и использует суффикс j или J для обозначения мнимой части (например, 3+5j).
Строки
правитьПомимо чисел, Python также может манипулировать строками, которые могут быть выражены несколькими способами. Строки могут быть заключены в одинарные ('...') или двойные кавычки ("..."), что дает одинаковый результат 2. Символ \ может использоваться для экранирования кавычек:
>>> 'spam eggs' # Одинарные кавычки
'spam eggs'
>>> 'doesn\'t' # \' используется для экранирования* одиночной кавычки... экранирование -> отображения одинарной или двойной кавычки стоящей после \
"doesn't"
>>> "doesn't" # ...или, как вариант, двойные кавычки
"doesn't"
>>> '"Yes," they said.'
'"Yes," they said.'
>>> "\"Yes,\" they said."
'"Yes," they said.'
>>> '"Isn\'t," they said.'
'"Isn\'t," they said.'
В интерактивном режиме выходная строка заключается в кавычки, а специальные символы экранируются символами \. Не смотря на то, что иногда могут возникнуть отличия от исходного ввода (кавычки могут измениться), обе строки эквивалентны. Строка заключается в двойные кавычки, если она содержит одинарные кавычки и не содержит двойных кавычек, в противном случае строка заключается в одинарные кавычки. Функция print() выполняет более читаемый вывод — опускает обрамляющие кавычки и печатает экранированные и специальные символы:
>>> '"Isn\'t," they said.'
'"Isn\'t," they said.'
>>> print('"Isn\'t," they said.')
"Isn't," they said.
>>> s = 'Первая строка.\nВторая Строка.' # \n означает перевод строки
>>> s # Без функции print() \n включен в вывод
'Первая строка.\nВторая Строка.'
>>> print(s) # С функцией print() \n совершает переход на новую строку
Первая строка.
Вторая Строка.
Если необходимо чтобы символы, начинающиеся с \ интерпретировались как специальные, можно воспользоваться raw-строками добавив 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