擅长:python、mysql、java
<p>字典对于存储和检索来说是很好的,但是如果你需要更多的功能,类通常是最好的选择。这样,您还可以确保设置了某些属性等</p>
<p>对于您的情况,如果用户的属性是只读的,我的方法实际上是使用<a href="https://docs.python.org/3/library/collections.html#collections.namedtuple" rel="nofollow">^{<cd1>}</a>。您可以获得属性的不变性、内存效率,并且仍然可以将<code>name</code>设置为预定义的方法,就像在类上使用<code>property</code>:</p>
<pre><code>from collections import namedtuple
@property
def name(self):
return '{} {}'.format(self.firstName, self.surname)
User = namedtuple('User', 'id firstName surname age')
User.name = name
user = User(1, 'Bar', 'Foosson', 20)
print(user.name) # Bar Foosson
user = User(2, 'Another', 'Name', 1)
print(user.name) # Another Name
</code></pre>