Ввод и вывод данных

Ввод и вывод данных

@Pycoders

Все без исключения программные продукты обрабатывают и выводят данные. Только в некоторых информация заложена изначально, а в других она поступает извне. Черпать данные можно из файлов, либо непосредственно из вводимого пользователем текста. Во втором случае предполагается интерактивный режим работы. Получается, пользователь вводит информацию, программа ее обрабатывает и выводит на экран. В таком случае говорят, что код не замкнут на себе, а может «общаться» со внешней средой.

Вся информация, представленная дальше, будет для python 3 версии, что может отличаться от 2 версии языка.

Форматирование строк

Достаточно часто случаются ситуации, когда, помимо своего текста, нам требуется вывести какие-то доролнительные значения. Чтобы не писать подобное print('Hello ', name), мы разберем сначала форматирование строк.

Способ 1 - .format()

Наиболее популярная конструкия - .format() - ставится после строки таким образом:

name = 'Elliot'

string = 'Hello, {}!'.format(name)
print(string)

# Output: Hello, Elliot!

Разберемся в работе этой функции. В нашей изначальной строке есть {}, вместо этих символов ставится переданный аргумент в функцию .format(). Значений может быть несколько:

num1 = 10
num2 = 20

string = 'Our nums equal {} and {}'.format(num1, num2)
print(string)

# Ouput: Our nums equal 10 and 20

Вы можете использовать индексы внутри фигурных скобок:

num1 = 10
num2 = 20

string = 'Our nums equal {1} and {0}'.format(num1, num2)
print(string)

# Ouput: Our nums equal 20 and 10

Обратите внимание, что нумерование начинается с нуля.

Способ 2 - f-строки

Новая, но не менее популярная конструкция. Такой способ стал достпуен с версии Python 3.6.

num = 10

string = f'Num eqauals {num}'
print(string)

# Output: Num equals 10

С помощью такого способа, переменную (и не только) можно передавать сразу в фигурные скобки.

num = 640
author = 'Bill Gates'

ptint('{num} Кб должно хватить для любых задач. ({author})')

# Output: 640 Кб должно хватить для любых задач. (Bill Gates)

На данный момент это минимум того, что требуется знать. Конкретно о строках будет другая статья.

Ввод

Для ввода используется функция input().

value = input()

После запуска такая программа будет ожидать пользовательского ввода, после которого необходимо нажать клавишу Enter.

Для вывода строки-приглашения, используйте ее в качестве аргумента функции input().

value = input('Введите значение: ')

Попробуем сложить два введеных значения:

num1 = input('Первое число: ')              # 3
num2 = input('Второе число: ')              # 1

print(num1 + num2)

# Output: 31

Вывод программы может показаться немного странным, потому что 3 + 1 = 4, а не 31. Проблема в том, что любой пользовательский ввод приходит как тип данных str, то есть как строка, а не число. А в python строки могут "склеиваться" (об этом в отдельном уроке).

Преобразуем значения в числовой тип int:

num1 = int(input('Первое число: '))         # 3
num2 = int(input('Второе число: '))         # 1

print(num1 + num2)

# Output: 4

Теперь всё верно.

Вывод

Для вывода испольузется функция print().

print('Hello, world!')

# Output: Hello, world!

Для вывод нескольких значений есть разные способы: через плюс, через запятую. Рассмотрим примеры:

print('a' + 'b')           # Output: ab

print('a', 'b')            # Output: a b

Разница в том, что знак плюса просто складывает строки, а запятая разделяет значения. По умолчанию разделительный знак - пробел, но это можно изменить:

print('a', 'b', 'c', sep='0')       
# Output: a0b0c

В значении sep=' ' стоит то, что будет ставиться между каждыми соседними объектами, по умолчанию это пробел.

Еще один достаточно важный аргумент в функции print() - end. Значение ставится после всех объектов. По умолчанию end='\n', что означает переход на новую строку. Попробуем изменить это значение:

print('a', end='1')
print('b', end='2')

# Output = a1b2

Функция print() имеет еще несколько аргументов, но они не такие важные, как предыдущие.



Report Page