提问人:gus 提问时间:10/20/2023 更新时间:10/20/2023 访问量:76
目标和对象在赋值语句中是什么意思?
What does target and object mean in assignment statements?
问:
https://docs.python.org/3/library/copy.html#module-copy
Python 中的赋值语句不会复制对象,而是创建对象 目标和对象之间的绑定。对于符合以下条件的集合: 可变或包含可变项目,有时需要一个副本,因此 可以在不更改另一个副本的情况下更改一个副本。
如果我有以下代码:
variable1 = 'a string'
是目标和对象,还是这两个术语指的是什么?variable1
a string
我不想编写特定的代码或解决任何问题,只是了解文档,我是 Python 的初学者。
答:
2赞
RandomCoder368
10/20/2023
#1
你是对的,目标是一个变量,一个值是对象。目标绑定到变量。对于额外的上下文,复制模块会创建一个新对象,以便您可以更改一个对象而不会影响另一个对象。
评论
1赞
chepner
10/20/2023
为了完整起见,目标可以是名称 ()、索引表达式 ()、属性 () 或这三者中的任何一个逗号分隔序列。(序列也可以用括号或括号括起来,而不暗示任何关于元组、列表等的内容)a
a[3]
a.bar
0赞
gus
10/20/2023
例如,您所说的“逗号分隔序列”是指 ,对吧?@chepnerlist
2赞
chepner
10/20/2023
它看起来像一个列表,但实际上并非如此。 不会在任何地方创建列表:元组被创建,但会立即解压缩为两个名称和 ; 并且会表现得相同。括号/括号仅供显示。[a, b] = 1, 2
1, 2
a
b
a, b = ...
(a, b) = ...
0赞
gus
10/21/2023
好吧,现在我明白了,我以为你的意思是列表@chepner
评论
type(5) # <class 'int'>
type(int) # <class 'type'>
type
type(len) #<class 'builtin_function_or_method'>