gpt4 book ai didi

python - 字典的单数或复数标识符?

转载 作者:IT老高 更新时间:2023-10-28 21:11:12 29 4
gpt4 key购买 nike

在命名容器时,更好的编码风格是什么:

source = {}
#...
source[record] = some_file

sources = {}
#...
sources[record] = some_file

复数在创造时读起来更自然; at assignment 的单数形式。

这不是一个无聊的问题;当我不确定变量是容器还是单个值时,我确实发现自己对旧代码感到困惑。

更新

似乎有一个普遍的共识,当字典用作映射时,最好使用更详细的名称(例如,recordToSourceFilename);如果我绝对想使用短名称,则将其设为复数(例如,sources)。

最佳答案

我认为有两个非常具体的用例与字典应该分开识别。但是,在处理它们之前,应该注意字典的变量名几乎总是单数,而列表几乎总是复数。

  1. 字典作为类对象实体:有时你有一个字典来表示某种类对象数据结构。在这些情况下,字典几乎总是引用 single 类对象的数据结构,因此应该是单数的。例如:

     # assume that users is a list of users parsed from some JSON source
    # assume that each user is a dictionary, containing information about that user

    for user in users:
    print user['name']
  2. 字典作为映射实体:其他时候,您的字典可能表现得更像一个典型的 HashMap 。在这种情况下,最好使用更直接的名称,尽管仍然是单数。例如:

    # assume that idToUser is a dictionary mapping IDs to user objects

    user = idToUser['0001a']
    print user.name
  3. 列表:最后,您有列表,这是一个完全独立的概念。这些应该几乎总是复数,因为它们是其他实体的简单集合。例如:

    users = [userA, userB, userC] # makes sense
    for user in users:
    print user.name # especially later, in iteration

我确信有一些晦涩难懂或不太可能的情况可能需要在此处进行一些异常(exception)处理,但我认为在命名字典和列表时,这是一个非常强大的指南,不仅在 Python 中,而且在所有语言。

关于python - 字典的单数或复数标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9200605/

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