在python中为函数添加属性

嗨,
我想在每个函数的顶部添加一些函数的描述
例如:
[名称='测试菜单',默认值=True等]
Def test():
经过
我的实际场景是,我通过在运行时读取模块中的所有方法来动态创建菜单。
所以我不想把菜单名称作为测试,我希望用户在函数的"name"属性中根据自己的意愿提供菜单名称。将会有更多的属性,而不仅仅是名称。
蟒蛇有可能吗,有没有人给我指点一下?

# 回答1


您可以向Function对象添加属性和关联值。

选择 | 换行 | 行号
  1. >>> def test():
  2. ...     print 'test'
  3. ...     
  4. >>> setattr(test, 'menu', 'bill')
  5. >>> test.menu
  6. 'bill'

我想知道函数默认参数是否是您真正想要的。

选择 | 换行 | 行号
  1. >>> def test(name="Test Menu", default=True):
  2. ...     if default is True:
  3. ...         print "Name of menu: %s" % (name)
  4. ...         
  5. >>> test()
  6. Name of menu: Test Menu
  7. >>> 

标签: python

添加新评论