неверный аргумент ключевого слова для print () - PullRequest
0 голосов
/ 01 апреля 2020

Когда я написал этот код:

b = 5
a = b
c = a
print(a)
print(z=c*a)
print(z+b)

Я получил эту ошибку:

TypeError: 'z' is an invalid keyword argument for print()

Поэтому я решил создать переменную z и изменил свой код следующим образом:

b = 5
a = b
c = a
print(a)
z
print(z=c*a)
print(z+b)

Я все еще получил ту же ошибку:

TypeError: 'z' is an invalid keyword argument for print()

Это сработало, когда я написал:

b = 5
a = b
c = a
print(a)
z=c*a
print(z)
print(z+b)

Почему я получал ошибку при первых двух попытках и что означает «неверный аргумент ключевого слова для print ()»?

Ответы [ 4 ]

0 голосов
/ 01 апреля 2020

Вы не можете присвоить значение z в функции печати, которое относится ко 2-й строке печати, если вы печатаете дополнение самостоятельно или печатаете z после присвоения ему значения в отдельной строке.

0 голосов
/ 01 апреля 2020

Встроенная функция print () просто печатает все, что в скобках «возвращает».

z = c * a Ничего не «возвращает», оно просто определяет, что z.

Когда вы пишете z = c * a, а затем print(z), указание переменной z возвращает ее значение, поэтому у оператора print есть результат для печати. ​​

0 голосов
/ 01 апреля 2020

Если вы используете python 3.8, это возможно по :=, как известно оператору моржа, проверьте определения здесь , попробуйте это:

b = 5
a = b
c = a
print(a)
print(z:=c*a)
print(z+b)

Вывод:

5
25
30
0 голосов
/ 01 апреля 2020

В python print - это функция, которая означает, что вы не можете объявлять или присваивать значения переменным внутри нее. В некоторых функциях вы можете указать такие параметры, как encoding="" в функции open, где кодировка - это ключевое слово. Для оператора print нет ключевого слова 'z'. В прошлый раз это работало, потому что вы присвоили переменную перед оператором печати, а затем напечатали ее.

Попробуйте выполнить какое-либо базовое c исследование, прежде чем спросить здесь, поскольку это не слишком сложно

...