Вы получаете пробел для переменной в строке 6, потому что разделителем по умолчанию для печати является ''.
Вот определение функции для print ():
print (объект (ы), разделитель = разделитель, end = end, file = file, flush = flu sh)
Позвольте мне описать, что говорит определение функции:
- объект (ы): Любой объект и столько, сколько вам нужно. Будет преобразовано в строку перед печатью
- sep = 'separator' Необязательно. Укажите, как разделить объекты, если их несколько.
По умолчанию установлено значение '' (вот почему мы получаем пробел) *
- end = 'end' Необязательно. Укажите, что печатать в конце. По умолчанию '\ n' (перевод строки)
- file Необязательно. Объект с методом записи. По умолчанию sys.stdout
flu sh Необязательно. Логическое значение, указывающее, сбрасывается ли вывод (True) или буферизуется (False). По умолчанию установлено значение False. Если вы хотите добавить любой другой разделитель, например '*', то:
print('Hello','world!',sep='*')
, который выдаст: Hello * world!
Что касается другого вашего вопроса: почему эта строка равна предыдущей строке? Ответ: Это то же самое, потому что он передается как параметр объекта и, следовательно, будет рассматриваться как простая строка. Если вы хотите напечатать переменные, я предлагаю использовать str.format (). Демонстрация для str.format ():
import math as m
print(str.format('Value of PI: {0}, Value of e:{1}',m.pi,m.e))
Вывод: значение PI: 3.141592653589793, значение e: 2.718281828459045
Надеюсь, это поможет вам. Ура!