在python中在一行中声明多个变量
我有密码, 变量a、b、c、d 我需要用python重写这个。 我不确定,因为我是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=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中的变量非常类似于为对象指定的名称,只有它们引用的对象才具有类型。请参阅以获得一些深入的解释。