#python #string
#python #строка
Вопрос:
Я хотел бы разделить свои инструкции печати пунктирной линией (или чем-то подобным), но я не могу найти способ сделать это, не печатая его в виде строки после каждого вывода. Например:
a = 'Output 1'
b = 'Output 2'
separator = 'n-------------------------------------'
print(a, separator)
print(b, separator)
Это обеспечивает желаемый результат:
Output 1
-------------------------------------
Output 2
-------------------------------------
Есть ли лучший способ сделать это без определения переменной ‘separator’ или создания моей собственной функции?
Заранее спасибо.
Комментарии:
1.Т.е. Вы хотите автоматически добавлять строку после каждого
2. вы можете иметь
separator = 'n' '-'*15
более читаемый формат. И нет другого способа, кроме как создать свою собственную функцию.3. Понятно, я надеялся, что
print()
orIPython.display
примет аргумент, который сработает. Спасибо, что прояснили это для меня!
Ответ №1:
Короткий ответ — нет — вы должны создать для этого свою собственную функцию:
def output(x):
sep = "n-------------------------------------"
print(x, separator, end="n")
Я думаю, стоит отметить, что вы можете сделать это немного более читаемым, используя:
sep = f"n{'-'*37}"
# or
sep = "n" "-"*37
Вы также можете разрешить функции принимать произвольное количество аргументов:
def output(*args):
sep = f"n{'-'*37}"
for x in args:
print(x, sep, end="n")
output("Output 1", "Output 2")
"""
Output 1
-------------------------------------
Output 2
-------------------------------------
"""
Комментарии:
1. Определенно более читаемый, я согласен. К сожалению, я надеялся обойти все «определяющие переменные». Тем не менее, спасибо.
2. Ну, вы могли бы определить функцию в отдельном модуле, а затем импортировать этот модуль в любой модуль, в котором вы работаете. Но, как вы сказали, к сожалению, обойти это невозможно.
3. и вы можете назвать функцию как ‘Print ()’ вместо ‘output ()’ ;))
4. @SadafShafi верно, но это становится проблемой, если вы хотите напечатать что-то без строки: D, если вы не используете заглавную букву «P»
5. @gmdev в этом случае используйте ‘print ()’ с маленьким ‘p’; D
Ответ №2:
Вы можете использовать этот:
a = 'Output 1'
b = 'Output 2'
separator = 'n-------------------------------------'
print(a,b,sep = separator, end = separator)
Комментарии:
1. он не дает желаемого результата
2. Вы просите совета, а не кого-то, кто будет кормить вас кодом. Конечный параметр работает просто отлично, не нужно понижать голоса людей, потому что вы хотели чего-то другого.
Ответ №3:
Есть ли лучший способ сделать это без определения переменной ‘separator’ или создания моей собственной функции?
Нет. Как вы можете напечатать 20 -
, не определяя их?
a = 'Output 1'
separator = 'n-------------------------------------n'
print(a, end=separator)
Ответ №4:
Функция печати в Python3 имеет end
параметры, которые позволяют указать, как вы хотели бы, чтобы выводимый текст заканчивался. Если ваша проблема заключается в том, чтобы иметь другую переменную только для хранения разделителя, что-то вроде этого должно работать нормально:
a = 'Output 1'
b = 'Output 2'
print(a, end = 'n-------------------------------------')
print(b, end = 'n-------------------------------------')
Комментарии:
1. это также не дает желаемого результата