Ввод и вывод данных, преобразование типов

Вывод данных

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

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

Подробнее про функции и их аргументы мы поговорим далее

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

print(3 + 5)
print(2 * 9, (6 - 9) * 4)
print(3 ** 4)  # две звёздочки (**) - оператор возведения в степень
print(69 / 4)  # косая черта (/) - оператор деления
print(69 // 4)  # две косые черты (//) - оператор возвращающий частное от деления нацело
print(57 % 7)  # процент (%) - оператор остатка от деления нацело

Ввод данных

Для ввода данных мы используем функцию input(). Она считывает все, что введет пользователь с клавиатуры до нажатия клавиши Enter

Напишем простую программу, которая будет спрашивать у пользователя его имя и здороваться.

print('Как вас зовут?')
name = input()  # считываем строку и "кладём" её в переменную name
print('Привет, ' + name + '!')

Теперь, попробуем написать программу, которая считывает два числа и выводит их сумму. Для этого считаем два числа и сохраним их в переменные a и b, пользуясь оператором присваивания = Слева от оператора присваивания = в программах на Python ставится имя переменной (подробнее про операторы далее). Справа от оператора присваивания ставится любое выражение (значение, математическая формула, символ, строка, текст, результат работы функции, имя файла и т.д.). После выполнения операции присваивания, в нашем случае, переменная станет указывать на результат умножения переменных а и b.

На самом деле в питоне нет и переменных. Есть лишь имена, которые связаны с какими-нибудь объектами. Можно сначала связать имя с одним объектом, а потом — с другим. Можно несколько имён связать с одним и тем же объектом. Но в нашем курсе это не важно.

a = input("Введите a")
b = input("Введите b")
s = a + b
print(s)

Выполните эту программу и посмотрите на результаты её работы. Давайте в качестве запросов программы введем 3 и 8

Мы видим, что программа выводит 38, хотя мы ожидали, что 3 + 8 будет 11. Это произошло потому, что команда input() в Python, принимает весь введенный текст с клавиатуры как "текст", т.е. на выходе из команды input() мы получим введённые данные в формате str - String или строка. Таким образом в переменной а и b оказались текстовые строки, пусть даже и содержащие числа. Ну и как следствие, при операции присваивания, интерпретатор Python, рассчитал выражение, которое он должен был присвоить переменной s , а именно сложил две строки, путем добавления первой ко второй и получил результат "3" + "8" = "38"

В Питоне все данные называются объектами. Число 2 представляется объектом число 2, а строка 'Как вас зовут?' – это объект строка 'Как вас зовут?'.

Каждый объект относится к какому-то типу. Строки хранятся в объектах типа str, целые числа хранятся в объектах типа int, дробные числа (вещественные числа) — в объектах типа float. Тип объекта определяет, какие действия можно делать с объектами этого типа. Например, если в переменных first и second лежат объекты типа int, то их можно перемножить, а если в них лежат объекты типа str, то их перемножить нельзя, но можно складывать, добавляя вторую к первой.

first = 8
second = 11
print(first * second)
first = '8'
second = '11'
print(first * second)

Чтобы преобразовать строку из символов цифр в объект число, воспользуемся встроенной в Python функцией int(). Подробнее про функции мы расскажем дальше, но сейчас мы просто воспользуемся ей, для этого "скажем" что взять в качестве ввода и куда передать вывод.

Например, int('34') преобразует два символа 34 в значение числа 34. Теперь, скажем интерпретатору Python куда передать полученное нашей функцией int, значение.

a = int('23')

Что же мы сделали? На ввод функции int() мы подали строку "34", которую функция преобразовала в число 34, после чего интерпретатор сохранил в переменной а ссылку на это число. Или говоря проще (но не совсем корректно) присвоил переменной а - значение 34.

Как мы говорили ранее - в Python всё объект! А значит, в качестве ввода нашей функции, мы можем использовать, например, вывод другой функции, который тоже является объектом. Главное условие для корректной работы любого такого выражения, чтобы типы объектов совпадали с теми, которые ожидают функции на ввод.

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

a = int(input("Введите a"))
b = int(input("Введите b"))
s = a + b
print(s)

Обратите внимание, что если вы хотите считать с клавиатуры действительное число, то результат, возвращаемый функцией input() необходимо преобразовывать к типу float

x = float(input())
print(x)

Чтобы получить на базе одного объекта другой объект другого класса, как-то ему соответствующий, нужно использовать функцию приведения. Имя этой функции совпадает с именем типа данных, к которому мы приводим объект. Например: int — класс для целых чисел. Перевод перевод целого числа в действительное осуществляется функциейfloat(). Или например есть строка "5", мы можем перевести строку в число 5, при помощи функции int(), вот так: int("5"). и т.д.

results matching ""

    No results matching ""