什么是Python中的“动态分配属性”?

问题描述 投票:0回答:1

我很少使用Python,所以也许我不知道一些废话。今天的演讲中有人说他们想避免“动态分配属性”,但没有提供示例。

我知道动态创建类的属性意味着什么,但是动态赋值意味着什么?这似乎暗示 python 中有静态赋值,但 python 是动态类型语言。

python terminology
1个回答
2
投票

通常,这意味着属性本身作为字符串动态创建,然后分配给实例:

class Foo:
...     pass
...
>>> foo = Foo()
>>> attr = "some_dynamically_created_string"
>>> setattr(foo, attr, 42)
>>> foo.some_dynamically_created_string
42
© www.soinside.com 2019 - 2024. All rights reserved.