Foro de elhacker.net

Foros Generales => Dudas Generales => Mensaje iniciado por: Locura_23 en 6 Agosto 2021, 00:57 am



Título: Pregunta irrelevante, los pythoneers/pythonistas suelen usar los ; o los () ?
Publicado por: Locura_23 en 6 Agosto 2021, 00:57 am
Si bien es opcional, creo que hace el código más ordenado, pero me pregunto si está mal visto o algo...


Título: Re: Pregunta irrelevante, los pythoneers/pythonistas suelen usar los ; o los () ?
Publicado por: Danielㅤ en 6 Agosto 2021, 01:38 am
Hola, Python no necesita usar el punto y coma ( ; ) al final de cada línea, sin embargo aunque lo uses no habrá problemas ni errores ya que el intérprete de Python los ignora, pero lo recomendable es no usar el punto y coma porque simplemente no se lo necesita para indicar el fin de línea.
Lo recomendable es no usarlo, por ejemplo en Python es muy importante la indentacion del código y aunque en otros lenguajes no lo sea tanto porque utilizan llaves de apertura y cierre para indicar el inicio y fin de las instrucciones, pero en Python sí que lo es, y de hecho podes usar tabulaciones o dejar 4 espacios.


Saludos


Título: Re: Pregunta irrelevante, los pythoneers/pythonistas suelen usar los ; o los () ?
Publicado por: Locura_23 en 6 Agosto 2021, 17:20 pm
Entiendo, gracias por tu respuesta Daniel! Los que venimos de C nos cuesta sacarnos esa costumbre  :xD saludos


Título: Re: Pregunta irrelevante, los pythoneers/pythonistas suelen usar los ; o los () ?
Publicado por: DarK_FirefoX en 7 Agosto 2021, 18:01 pm
Hola, Python no necesita usar el punto y coma ( ; ) al final de cada línea, sin embargo aunque lo uses no habrá problemas ni errores ya que el intérprete de Python los ignora, pero lo recomendable es no usar el punto y coma porque simplemente no se lo necesita para indicar el fin de línea.
Lo recomendable es no usarlo, por ejemplo en Python es muy importante la indentacion del código y aunque en otros lenguajes no lo sea tanto porque utilizan llaves de apertura y cierre para indicar el inicio y fin de las instrucciones, pero en Python sí que lo es, y de hecho podes usar tabulaciones o dejar 4 espacios.


Saludos

Quiero añadir a esto que no es totalmente correcto..... el punto y coma ( ; ) no es ignorado por el intérprete, de hecho forma parte de la gramática del lenguaje.

Si leemos aquí (https://docs.python.org/3/reference/compound_stmts.html) forma parte de los compound statements (instrucciones compuestas):

Código
  1. stmt_list     ::=  simple_stmt (";" simple_stmt)* [";"]

Y de la sintaxis se puede entender que utiliza para incluir varias instrucciones en una misma línea.

Ejemplo:

Estas tres lineas:
Código
  1. print('a')
  2. print('b')
  3. print('c')

Tienen el mismo resultado que estas tres lineas:

Código
  1. print('a'); print('b'); print('c')

Espero esto sirva para entender,
Salu2s


Título: Re: Pregunta irrelevante, los pythoneers/pythonistas suelen usar los ; o los () ?
Publicado por: Serapis en 7 Agosto 2021, 18:32 pm
stmt_list     ::=  simple_stmt (";" simple_stmt)* [";"]

Hecha la aclaración, conviene otra aclaración:
Al final de sentencia es opcional. Lo que atiende básicamente a la consulta del hilo.

Si bien es opcional, creo que hace el código más ordenado, pero me pregunto si está mal visto o algo...
No entiendo donde ves que le dé más orden... Es una imposición 'no natural'.
La naturaleza del lenguaje, es el salto de línea. Incluso una línea en blanco de por medio, favorece 'ese orden' que buscases.

Históricamente, era una conveniencia, porque cuando se creó había un problema de memoria disponible (para la compilación e interpretación de los programas), entonces separar contrucciones mediante un solo carácter (que no incluyese ambigüedad, esto es, que no estuviere ya en uso entre los caracteres imprimibles), era una solución óptima frente al caso en otros lenguajes 'end sentencia', ...pero que pasado el tiempo y la ganancia en la memoria, no solo es ridículo si no fuente de problemas absurdos (especialmente entre los principantes, aunque no descarta a nadie).


Título: Re: Pregunta irrelevante, los pythoneers/pythonistas suelen usar los ; o los () ?
Publicado por: DarK_FirefoX en 7 Agosto 2021, 18:48 pm
Hecha la aclaración, conviene otra aclaración:
Al final de sentencia es opcional. Lo que atiende básicamente a la consulta del hilo.

Muy cierto, fallé en mencionarlo!   ;-)


Título: Re: Pregunta irrelevante, los pythoneers/pythonistas suelen usar los ; o los () ?
Publicado por: Locura_23 en 7 Agosto 2021, 21:11 pm
@serapis, @DarK_FirefoX , gracias por sus aportes

Bueno pienso que le da más orden porque termina explicitamente la instruccion, es como el punto en una oración en lenguaje de personas. Pero tal vez sea cuestión de costumbre y tal vez no sea tan intuitivo hoy en día, que es una premisa de Python ser flexible y de más alto nivel que por ejemplo, C/C++
De principiante genera muchos errores sí, pero no gran cosa pues se trata de error en tiempo de compilación y si lees el aviso del compilador o un verificador de sintaxis  lo identificas.

En todo caso, dado la mayoria de programas de python que veo nadie utiliza el terminador de instruccion o los paréntesis en las condiciones de un if o un while, no voy a reinventar la rueda y no los voy a usar  :xD