2010-11-10 114 views
0

我必须创建一个函数printObjects(属性,选项),它必须根据某个属性打印对象。该属性可以将整数或字符串作为输入。选项属性是可选的。我如何为我的课程实现这个目标?我如何处理Python中的属性?

+2

“的选项属性是可选”什么?!?!我希望这意味着名为'option'的printObjects的第二个参数不是必需的。否则,我很困惑选择/属性的不同用途。假设你的意思是我希望的,那么选择什么?和它默认的是什么? – 2010-11-10 17:31:48

+0

* print * * * * objects * * based * * on * * a * * certain * * attribute *这是什么意思? : - | – fortran 2010-11-10 17:41:42

回答

1

我想,你希望这样的事情,或许这将是有帮助的,至少:

 
def printObject(obj, attributes=()): 
    for a in attributes: 
    print getattr(obj, a) 
+7

**不要使用可变的默认参数**(除非你真的知道它是如何工作的并且*想要*这种行为;并且它在这个例子中赢得了'任何错误'*但是最好指出这一点)请参阅http://stackoverflow.com/questions/1132941/least-astonishment-in-python-the-mutable-default-argument – delnan 2010-11-10 17:41:48

+0

在这种情况下,很好,'属性'不写入。 – 2010-11-10 20:05:21

+1

这是正确的做法。谢谢。对不起原来的问题,我的含糊不清,但这个人得到了我的意思:) – Trim 2010-11-11 03:24:47