Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

175
Visualizações
Why can't comments appear after a line continuation character?

Why does Python not allow a comment after a line continuation "\" character, is it a technical or stylistic requirement?

According to the docs (2.1.5):

A line ending in a backslash cannot carry a comment.

and (2.1.3):

A comment signifies the end of the logical line unless the implicit line joining rules are invoked. Comments are ignored by the syntax.

PEP 8 does discourage inline comments so I can see how this may stylistically be "unpythonic." I could also see how the "\" could be ambiguous if it allowed comments (should the interpreter ignore all subsequent tokens or just comments?) but I think a distinction could easily be made.

Coming from Javascript and accustomed to the fluid interface style, I prefer writing chains like the following instead of reassignment:

dataset = tf.data.Dataset.from_tensor_slices(data)\
        .interleave(special_sauce_fn)\
        .shuffle(shuffle_buffer_size)\
        .batch(batch_size)\
        .prefetch()\
        .cache()

Instead of

dataset = dataset.interleave(special_sauce_fn)
dataset = dataset.shuffle(shuffle_buffer_size)
dataset = dataset.batch(batch_size)
dataset = dataset.prefetch()
dataset = dataset.cache()

While this example is rather self-explanatory, at times I feel like a contextual comment could enhance readability of the code.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Generally, line-continuation characters are discouraged. Instead, use parentheses:

dataset = (
      tf.data.Dataset.from_tensor_slices(data)
        .interleave(special_sauce_fn) #  comment to your
        .shuffle(shuffle_buffer_size) #  heart's delight
        .batch(batch_size)
        .prefetch()
        .cache()
)
over 4 years ago · Santiago Trujillo Relatório

0

For the same reason you can't have whitespace after the backslash. It simplifies the parsing, as it can simply remove any backslash-newline pairs before doing any more parsing. If there were spaces or comments after the backslash, there's no backslash-newline sequence to remove.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda