如何在python中创建没有声明的变量?

如何在python中创建没有声明的变量?,python,python-2.7,Python,Python 2.7,我可以让python动态创建变量吗,假设文件类型最合理 换句话说,如何避免创建空变量?在这个循环中,我似乎不需要介绍,为什么要列出 在这种情况下,您需要附加一些内容。既然你在修改现有的东西,那么它就必须存在。我没有被修改 Python确实允许您在没有之前实例化的情况下以内联方式创建列表,但它被称为列表理解,其工作原理类似于: dont_name_your_variables_list = [i*2 for i in range(10)] 编辑:另一种思考方法,正如@BrenBarn所提到的,认

我可以让python动态创建变量吗,假设文件类型最合理

换句话说,如何避免创建空变量?在这个循环中,我似乎不需要介绍,为什么要列出


在这种情况下,您需要附加一些内容。既然你在修改现有的东西,那么它就必须存在。我没有被修改

Python确实允许您在没有之前实例化的情况下以内联方式创建列表,但它被称为列表理解,其工作原理类似于:

dont_name_your_variables_list = [i*2 for i in range(10)]
编辑:另一种思考方法,正如@BrenBarn所提到的,认为它无法对尚未赋值的变量执行任何操作

第一种解释:

i+1  # i does not yet exist, and since i+1 is a modification on i, this will not work
i+1  # i has no value assign to it. Since i+1 is doing something to i, this will not work.
第二种解释:

i+1  # i does not yet exist, and since i+1 is a modification on i, this will not work
i+1  # i has no value assign to it. Since i+1 is doing something to i, this will not work.
for循环是项的声明/介绍。您不必声明变量,但每个变量都必须有一个值。不能创建没有值的变量,也不能使用变量,除非它有值

赋值的一种方法是执行someVar=blah。另一种方法是对blah中的someVar执行操作-也就是说,for循环为变量赋值,就像=赋值一样。Python中还有其他为变量赋值的结构,比如def和class


列表和项目在代码中都有指定给它们的值,只是方式不同而已。您不能做的是尝试对尚未赋值的变量执行某些操作。

必须显式创建列表,否则Python将不知道它应该具有什么值。由于i的值是由您正在循环的列表自动确定的,因此i的创建被允许更为隐式。

据我所知,这是。 线路

for i in list:
list.append(item)
在伪代码中解释为

Create variable i
Set type of i to type of the first entry in list
While the list is not scanned through completely:
    Append item to the list.

列表在Python中也是一个保留字,因此如果不初始化它,您将得到一个与任何其他未初始化变量的错误不同的错误。@dg99我之所以使用该特定变量名,是有原因的:说差异取决于您是否在修改该变量,这是不正确的。i+1不会修改i,但如果不先给i赋值,您仍然无法修改它。@BrenBarn我们可能对“修改”一词有不同的定义,我的意思不是说它与就位有任何关系,但i+1是对的修改i@SlaterTyranus:有趣。也许你应该澄清你所说的修改是什么意思。我认为更简单的说法是,对于一个没有赋值的变量,除了给它赋值,你不能做任何事情,请精确地定义最合理的。