forloop如何使用未定义的变量

2024-09-29 17:15:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的编码,我有点困惑。for循环如何/为什么可以使用尚未定义的变量?你知道吗

例如:

demond = {'green':'grass', 'red':'fire', 'yellow':'sun'}

for i in demond:
    print(i)

输出:

green
yellow
red

Tags: in编码for定义greenredfiresun
2条回答

你需要记住两件事:

  1. 因为Python是弱类型语言,所以不需要显式地将任何变量声明为某个对象类型。这是你已经知道的,为什么你可以分配的东西,而不必说明他们将是什么类型。

  2. For循环构造在后台做了很多你看不到的事情。这意味着,尽管看起来没有任何东西被定义,但它是。

记住这一点,我不想真正解释for循环是如何工作的,因为there are already answers available for that但要点是python中的for循环与下面的伪代码相同。你知道吗

#set up your iterable
demond = SOME_ITERABLE_OBJECT (this can be a list, string, dict, etc)

#this
for i in demond:
    do_something(i)

#is the same as this
i = demond[0] # the first item in demond
do_something(i)
i = demond[1] # the second item in demond
do_something(i)
i = demond[2] 
...
...
..
i = demond[n] # the last item in demond
do_something(i)

接下来的问题可能是:是什么使它在代码中for i in demond设置i等于它的键?这只是python设计的一部分,特别是dict的工作原理。for循环实际上在调用iterables^{} function,直到完成iterable生成器。每个iterable都可以从for循环得到不同的结果(参见第一个链接)。你知道吗

注: 在我的代码示例中,我设置了i = demond[some_index]。这看起来像是一个列表索引抓取,但实际上它只是为了显示以某种顺序在列表中进行迭代。它是PSUEDO代码。记住这一点。你知道吗

在python中,不需要声明变量。在C/C++和java等中,你必须先声明它们然后使用它们。你知道吗

变量只不过是要存储的保留内存位置基于价值观在变量的数据类型上,解释器分配内存并决定可以存储在保留内存中的内容内存.Python变量不需要显式声明来保留内存空间。当您为变量赋值时,声明会自动发生。你知道吗

相关问题 更多 >

    热门问题