arâmetros opcionais nas funções Python e seus valores padrão [duplicad

Possible Duplicate:
“Menos surpresa” em Python: o argumento padrão mutável

Estou meio confuso sobre como os parâmetros opcionais funcionam nas funções / métodos do Pytho

Tenho o seguinte bloco de código:

>>> def F(a, b=[]):
...     b.append(a)
...     return b
...
>>> F(0)
[0]
>>> F(1)
[0, 1]
>>>

Por quêF(1) retorna[0, 1] e não[1]?

Quero dizer, o que está acontecendo dentro?

questionAnswers(2)

yourAnswerToTheQuestion