gpt4 book ai didi

python - 类与列表(访问器编码风格)

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:39 25 4
gpt4 key购买 nike

我是 Python 的新手,为了更好地理解 Python 之禅及其推荐的编码风格,我需要消除这个疑虑。

假设我必须定义和实例化一个代表一个人的数据结构。这将具有以下属性:

  1. 姓名
  2. 年龄

我可以想到两种不同的方法来表示这个实例:

  1. 定义一个类
  2. 使用列表

前者是微不足道的(下面是一个可能的例子):

class Person:
def __init__(self, name, age):
self.name = name
self.age = age

person = Person('David', 25)
# getter
print(person.name, person.age)
# setter
person.age = 27

后者包含我将按以下方式使用的属性列表:

NAME = 0
AGE = 1

person = ['David', 25]
# getter
print(person[NAME], person[AGE])
# setter
person[AGE] = 27

哪种方法最接近 Python 的禅宗?

最佳答案

为某些数据制作 Python“东西”的最紧凑和方便的方法是 collections.namedtuple ,它提供了类的一些明确的 self 文档化的好处,但简单的 python 类型(如 dict)的便利性:

>>> from collections import namedtuple
>>> Person = namedtuple("Person", "name age")
>>> Person("Alice", 33)
Person(name='Alice', age=33)
>>> alice = _
>>> bob = Person(age=27, name="Bob")
>>> alice == bob
False
>>> bob.age
27
>>>

关于python - 类与列表(访问器编码风格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26766347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com