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

201
Visualizações
Deshabilite las cadenas de concatenación automática de Python entre líneas

Estaba creando una larga lista de cadenas como esta:

 tlds = [ 'com', 'net', 'org' 'edu', 'gov', ... ]

Me perdí una coma después 'org' . Python lo concatenó automáticamente con la cadena en la siguiente línea, en 'orgedu' . Esto se convirtió en un error muy difícil de identificar.

Ya hay muchas formas de definir cadenas de varias líneas, algunas muy explícitas. Entonces, me pregunto si hay alguna manera de deshabilitar este comportamiento en particular.

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

0

Lo platónico correcto es modificar el linter. Pero creo que la vida es demasiado corta para hacerlo, además del hecho de que si el próximo codificador no sabe sobre tu linter modificado, su vida sería un infierno.

No debería avergonzarse de asegurarse de que la entrada, incluso si está codificada, es válida. Si fuera por mí, implementaría una solución manual como esta:

 tlds = [ 'com', 'net', 'org' 'edu', 'gov', ] redone = ''.join(tlds) chunk_size = 3 tlds = [ redone[i:i+chunk_size] for i in range(0, len(redone), chunk_size) ] # Now you have a nice `tlds` print(tlds)

Puedes olvidarte de las comas, escribir dos elementos en la misma línea, o incluso en la misma cadena todo lo que quieras. También puede invitar a colaboraciones de código desprevenidos para que lo estropeen, el texto se rehará de tres en tres ( chunk_size ) más adelante de todos modos si eso está bien con su aplicación.

EDITAR: Más adelante en la nota de @Jasmijn, creo que hay un enfoque alternativo si tenemos un tamaño dinámico de entradas, podemos usar la entrada literal como esta:

 tlds = ['''com net org edu gov nl co.uk'''] # This way every line is an entry by its own as seen directly without any quotations or decorations except for the first and last inputs. tlds = '\n'.split(tlds)
over 4 years ago · Santiago Trujillo Relatório

0

¿Por qué no simplemente envuelves las cadenas en str(…) ?. Si olvida una coma, se generará un SyntaxError .

 tlds = [ str('com'), str('net'), str('org') str('edu'), str('gov'), str('nl'), str('co.uk') ]

Si todos estos str son demasiados, puede crear un alias temporal:

 s = str tlds = [ s('com'), s('net'), s('org') s('edu'), s('gov'), s('nl'), s('co.uk') ]

(Nota: este código genera intencionalmente un SyntaxError ; para eliminarlo, se debe agregar la coma que falta)

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