Foi útil?

Solução

error, = exc.args

Este é um caso de sequcia de desempacotamento .

A forma mais legível para escrever o mesmo, e o estilo que eu favorecer pessoalmente, é:

[error] = exc.args

Existem dois bits necessária para entender o exemplo anterior:

  1. Quando o lado esquerdo de uma atribuição é uma sequência recursiva de nomes, o valor do lado direito deve ser uma seqüência com o mesmo comprimento, e cada item do valor RHS é atribuído ao nome correspondente nos LHS .
  2. Uma tupla de um item no python é escrita (foo,). Na maioria dos contextos, os parênteses podem ser omitidos. Em particular, eles podem ser omitidos ao lado do operador de atribuição.

Outras dicas

http://www.python.org/doc /2.5.2/tut/node7.html

Procure "seqüência de descompactação" na secção 5.3.

A vírgula serve para descompactar o tuplo, isto é, que extrai o produto único do tuplo, e liga-o à error. Sem a vírgula, você ligaria a própria tupla, ao invés de seu conteúdo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top