El sáb., 16 mar. 2019 a las 2:47, AGTUGO (<agt...@gmail.com>) escribió:
> Objetivo de esta discusi'on no es llegar a un "depende del gusto" , el > objetivo es determinar con las guias de estilo disponibles, que es lo mas > pythonico. Saludos. > > Según el Zen de Python: "There should be one-- and preferably only one --obvious way to do it." Me temo que en este caso tenemos demasiadas formas de hacer una misma cosa. Hay una discusion similar aqui > https://stackoverflow.com/questions/10660435/pythonic-way-to-create-a-long-multi-line-string > pero el nombre de la variable es corto > > > # El problema es que tengo que partir muchas veces el string cuando la > variable tiene > #un nombre muy largo a pesar del inconveniente que esto representa estoy a > favor > #de nombres descriptivos para las variables > > # lo que quiero evitar es partir muchas veces la linea > #Aclaro que esto ya es pythonico pero quiero ahorrar espacio. > this_is_a_very_long_variable = "this is my really, really, really, > really, really, really," \ > "really, really, > really really, really, really, really, really," \ > " really long string > that I'd like to shorten." > > #Esta Solucion me parece adecuada, solo el inconveniente de escribir la > diagonal > #en cada caso, ganamos espacio y agregamos identacion para identificar que > es parte > #del string > > this_is_a_very_long_variable = \ > "this is my really, really, really, really, really, really," \ > "really, really, really really, really, really, really, really," \ > " really long string that I'd like to shorten." > > #Mi metodo favorito hasta ahora, no hay necesidad de agregar una diagonal > en cada > #linea, me molesta un poco visualmente el parentesis (supongo que para eso > no hay solucion) > > this_is_a_very_long_variable = ( > "this is my really, really, really, really, really, really," > "really, really, really really, really, really, really, really," > " really long string that I'd like to shorten.") > > Atendiendo a las reglas de estilo (PEP8): "The preferred way of wrapping long lines is by using Python's implied line continuation inside parentheses, brackets and braces". O sea, la preferida sería la última que has puesto con los paréntesis. No entiendo porqué te molesta el paréntesis. La mayoría de los IDEs ya se encargan de cerrar el paréntesis y las comillas mientras escribes, por lo que es bastante cómodo. Visualmente se puede confundir con una tupla, eso sí. El carácter de continuación ('\') está desaconsejado últimamente y sólo habría algún caso para el que siga siendo práctico. > #esto agrega saltos de linea y me parece una solucion muy fea porque no > hay identacion > #no es realmente una solucion pero es para ver si la de ideas a alguien. > > this_is_a_very_long_variable = \ > """this is my really, really, really, really, really, really, > really, really, really really, really, really, really, really, > really long string that I'd like to shorten.""" > > No es lo mismo una string en varias líneas que una string multilínea. Sin tener en cuenta que los saltos de línea, el margen se podría haber resuelto al estilo scala, quitándolo al final: this_is_a_very_long_variable = """ |this is my really, really, really, really, really, really, |really, really, really really, really, really, really, really, |really long string that I'd like to shorten.""".*stripMargin* Los IDEs de scala facilitan la escritura añadiendo automáticamente el margen al saltar de línea. En python no queda más remedio que crear una función para que lo haga, o bien, usar expresiones regulares: import re strip_margin = re.compile("\n\W*\|") this_is_a_very_long_variable = strip_margin.sub('', """ |this is my really, really, really, really, really, really, |really, really, really really, really, really, really, really, |really long string that I'd like to shorten.""") Saludos > -- > Arturo Muñoz > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": https://blog.ch3m4.org Buscador Python Hispano: http://busca.ch3m4.org <https://blog.ch3m4.org/pages/busqueda-python-es/>
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es