print() 的无效关键字参数

invalid keyword argument for print()

当我写这段代码时:

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)

为什么我在前两次尝试时出错,'invalid keyword argument for print()' 是什么意思?

在python中,print是一个函数,这意味着你不能在其中声明或赋值给变量。在某些函数中,可以在encoding是关键字的open函数中指定参数,例如encoding=""。打印语句没有 'z' 关键字。上一次,它成功了,因为您在 print 语句之前分配了变量,然后打印了它。

在这里提问之前,请尝试做一些基础研究,因为这并不太复杂

内置的 print() 函数只打印括号 'returns' 中的任何内容。

z = c * a 没有 'return' 任何东西,它只是定义了 z 是什么。

当你写 z = c * a 然后 print(z),说明变量 z returns 它的值,所以打印语句有一个结果要打印。

如果您使用 python 3.8,则可以通过 := 称为海象运算符,检查定义 here 试试这个:

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

输出:

5
25
30

你不能在打印函数中给 z 赋值,这与第二个打印行有关,如果你单独打印加法或在单独的一行中为它赋值后打印 z。