在python中在一行中声明多个变量

在python中在一行中声明多个变量,python,Python,我有密码, 变量a、b、c、d 我需要用python重写这个。 我不确定,因为我是python新手,如何在没有赋值的情况下在单行中定义多个变量 我想做 > a=None > b=None > c=None > d=None 但它应该是一行的更像python的方式是元组解包: a, b, c, d = 1, 2, 3, 4 或者如果要初始化为单个值 a = b = c = d = 1 您也可以使用分号(尽管不鼓励使用) 所有这些都可以工作。您可以使用元组解包:

我有密码, 变量a、b、c、d

我需要用python重写这个。 我不确定,因为我是python新手,如何在没有赋值的情况下在单行中定义多个变量

我想做

> a=None 
> b=None 
> c=None 
> d=None

但它应该是一行的

更像python的方式是元组解包:

a, b, c, d = 1, 2, 3, 4
或者如果要初始化为单个值

a = b = c = d = 1
您也可以使用分号(尽管不鼓励使用)

所有这些都可以工作。

您可以使用元组解包:

a, b, c, d = 1, 2, 3, 4
a,b,c=1,2,3

但老实说,在单独的行上做作业更像Python。

这将在一行和几个表达式中完成

a=无;b=无;c=无;d=无

这将在一行中使用相同的值同时声明所有变量

a=b=c=d=None
正如评论中所指出的,您甚至可以使用0行,因为您可以在不事先声明的情况下随时使用VAR。

对于“到单个值”部分,需要做一些额外的解释

a = b = c = d = None
a = 1
print(b)

>>> None
上述语句确实将每个变量的值设置为
None
,但对于某些其他类型的值,情况可能并不总是如此。Python是一种面向对象的语言,如果将值
None
替换为另一种类型的值,即Python对象,您可能会得到意想不到的结果(因为Python将所有四个变量设置为实际上是同一个对象)。考虑:

a = b = c = d = list()
a.append(1)
print(b)

>>>[1]
结果不同的原因是a、b、c和d都指向同一个列表。这是Python中的一个基本概念,也是需要记住的一个非常重要的概念,并说明了为什么要使这些类型的单行声明成为潜在的问题


正如其他人所说,在运行中声明变量(根据需要)可能是更好的方法,因为它有助于避免这些“不太明显”的声明问题;可以在一行中完成上述操作,如
a=b=c=d=None
这是否回答了您的问题?python中的分号?只有在这种情况下,如果我只想在一行中声明3个变量而不赋值呢?你不能在python中声明变量。这只有在变量类型无法更改的语言中才有意义。Python中的变量非常类似于为对象指定的名称,只有它们引用的对象才具有类型。请参阅以获得一些深入的解释。