列表是变量吗?

2024-04-20 07:33:07 发布

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

我是python新手,我只是在阅读列表。我一直在试图找出一个列表是否是一个变量

e.g. Hello = [] 

这是因为我读到你用“=”号来分配一个变量。或者,我只是在上面的例子中给空列表指定一个名字吗。在


Tags: hello列表名字例子新手
3条回答

不,列表是一个对象。使用=将列表分配给名称引用。在

因此,a = [1,2]生成{},它是对底层列表对象的名称引用(本质上是一个指针),您可以通过查看globals()来查看该对象。在

>>> a = [1,2]
>>> globals()     
{'a': [1, 2], '__builtins__': <module '__builtin__' (built-in)>, '__package__': None, '__name__': '__main__', '__doc__': None}

列表是ListType的一个实例,它是object的子类。在

^{pr2}$

行:

Hello = [] 

创建一个新的空的list对象(类list的实例),并将对该对象的引用赋给名称(或“标识符”)Hello。在

然后,您可以通过名称Hello(只要它在当前范围内可访问),例如:

^{pr2}$

列表是可变的,也就是说,它们可以就地更改,在本例中,通过向名称Hello引用的列表追加(添加)一个新的字符串对象。这可能就是您所说的“variable”的意思。在

有关Python中名称的更多信息,请参见http://nedbatchelder.com/text/names.html。在

有关列表(以及Python其他内置序列类型)的更多信息,请参见the official docs。在

在Python中,对象的概念非常重要(正如其他用户可能已经指出的那样,我的速度很慢!)。在

您可以将list看作一个元素的列表(或者实际上是一个对象)。事实上,list是一个Variable大小的{},它表示一个项的集合。Python列表有点特殊,因为在list中可以有混合类型的元素(例如,带有int的字符串),但同时,您也可以争辩,“set、map、tuple等呢?”。例如

>>> p = [1,2,3,'four']
>>> p
[1, 2, 3, 'four']
>>> isinstance(p[1], int)
True
>>> isinstance(p[3], str)
True
>>> 

set中,可以改变集合的大小-是。在这方面,set是一个包含唯一项的变量-如果您满意。。。。在

这样,map也是一个“可变”大小的键值对,其中每个唯一的键都有一个映射到它的值。dictionary也是如此。在

如果你因为=符号而感到好奇,那么你已经在问题中使用了一个关键字:“Assignment”。在所有高级语言中(大多数都是这样),=是赋值运算符,在lhs上有一个变量名和一个有效值(相同类型/超类型的变量,或有效值)。在

相关问题 更多 >