Python, как сохранить оператор печати в переменной? - PullRequest
0 голосов
/ 11 апреля 2019

Мне нравится сохранять два оператора печати в 2 разных переменных. Как я могу это сделать?

 with open(file_to_open) as f:

    for line in f:
        # split the line
        line = line.strip()
        columns = line.split(",")

        if columns[0] == "1":
           print(line, end='')
        if columns[0] == "2":
            print(line, end='')

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019
with open(file_to_open) as f:
    for line in f:
    # split the line
        line = line.strip()
        columns = line.split(",")

        if columns[0] == "1":
            def af(line=line):
                print(line, end='')
            a = af
        if columns[0] == "2":
            def bf(line=line):
                print(line, end='')
            b= bf

Используя замыкание, вы можете сохранить оператор печати и его параметр во время его вызова.Затем вы можете вызвать это сохраненное заявление в любое время, когда захотите.

a()  
b()
0 голосов
/ 11 апреля 2019

Функция print(x) неявно

  1. звонки str(x)
  2. отображает его
  3. возвращает None

Итак, вы не можете сделать

 stored = print(x)

Вместо этого напишите

stored_value = str(x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...