为什么(例如web2py)从字典中的控制器返回数据而不是变量(参见Rails)?
例如:
return dict(sape=4139, guido=4127, jack=4098)
而不是(这是Rails的方式)
@var1 = "jello" @var2 = "hihi"
使用字典而不是普通变量(速度/代码方式)是否有任何优势?
更新:上面的方法实际上是创建字典的正确方法(至少在Python 2.6.1中).另一种方式(许多人说它是正确的)
return {"var1": "jello", "var2": "hihi"}
python框架并没有大量使用它.
从Python的文档:"当键是简单的字符串时,有时更容易使用关键字参数指定对:"
dict(sape=4139, guido=4127, jack=4098)
Aaron Digull.. 5
主要的优点是,这是python中返回a)多于一个值的唯一方法, b)给该值一个名称.其他选项是使用类(额外的代码),返回一个元组(没有名称,所以你必须使用索引来访问值)或允许只返回一个值,这可能意味着每个人都会返回一个字典,因为这是最简单的解决方案.
它还允许包装多个方法并加入/合并其结果.最后,它允许为每个调用轻松返回不同的值/名称对,例如,省略可选值或返回其他提示.
主要的优点是,这是python中返回a)多于一个值的唯一方法, b)给该值一个名称.其他选项是使用类(额外的代码),返回一个元组(没有名称,所以你必须使用索引来访问值)或允许只返回一个值,这可能意味着每个人都会返回一个字典,因为这是最简单的解决方案.
它还允许包装多个方法并加入/合并其结果.最后,它允许为每个调用轻松返回不同的值/名称对,例如,省略可选值或返回其他提示.