Para empezar a familiziarnos con este lenguaje empezamos por el muy común Hola Mundo
Python ocupa el 3 en el ranking de lenguajes mas usados actualmente https://www.tiobe.com/tiobe-index/
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en la legibilidad de su codigo. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional.
Guido van Rossum es un programador holandés graduado en Matemáticas y Ciencias de la Computación por la Universidad de Amsterdam en 1.982.
Es famoso por haber creado el lenguaje de programación Python. En el ambiente de los desarrolladores del lenguaje Python también se le conoce por el título BDFL (“Benevolent Dictator for Life’“), teniendo asignada la tarea de fijar las directrices sobre la evolución de Python, así como la de tomar decisiones finales sobre el lenguaje que todos los desarrolladores acatan. Van Rossum tiene fama de ser bastante conservador, realizando pocos cambios al lenguaje entre versiones sucesivas, intentando mantener siempre la compatibilidad con versiones anteriores.
Indentación
Usa 4 espacios por cada nivel de indentación.
Para código realmente antiguo que no quieras estropear, puedes continuar usando tabuladores de 8 espacios.
¿Tabuladores o espacios?
Nunca mezcles tabuladores y espacios.
La forma más popular de indentar en Python es utilizar sólo espacios. La segunda forma más popular es usar sólo tabuladores. El código indentado con una mezcla de tabuladores y espacios debería reformatearse y usar espacios exclusivamente. Cuando se invoca el intérprete de línea de comandos de Python con la opción -t, este muestra avisos sobre código que mezcla tabuladores y espacios. Cuando se utiliza -tt estos avisos se convierten en errores. ¡Estas opciones son altamente recomendables!
Para nuevos proyectos, se recomienda firmemente el uso de espacios en lugar de tabuladores. La mayoría de los editores tienen características que hacen esto bastante sencillo.
Tamaño máximo de línea
Limita todas las líneas a un máximo de 79 caracteres.
Todavía existen muchos dispositivos por ahí que están limitados a 80 caracteres por línea; además limitando el ancho de las ventanas a 80 caracteres posibilitas el tener varias ventanas una al lado de otra. El ajuste de línea por defecto en este tipo de dispositivos no da buenos resultados. Por lo tanto, por favor limita todas las líneas a un máximo de 79 caracteres. Para cadenas de texto largas (cadenas de documentación o comentarios), es aconsejable limitar el ancho a 72 caracteres.
La forma preferida de dividir líneas largas es utilizar la característica de Python de continuar las líneas de forma implícita dentro de paréntesis, corchetes y llaves. Si es necesario, puedes añadir un par de paréntesis extra alrededor de una expresión, pero algunas veces queda mejor usar una barra invertida. Asegurate de indentar la línea siguiente de forma apropiada. Algunos ejemplos:
class Rectangle(Blob):
def __init__(self, width, height,
color='black', emphasis=None, highlight=0):
if width == 0 and height == 0 and \
color == 'red' and emphasis == 'strong' or \
highlight > 100:
raise ValueError("sorry, you lose")
if width == 0 and height == 0 and (color == 'red' or
emphasis is None):
raise ValueError("I don't think so")
Blob.__init__(self, width, height,
color, emphasis, highlight)
Líneas en blanco
Separa las funciones no anidadas y las definiciones de clases con dos líneas en blanco.
Las definiciones de métodos dentro de una misma clase se separan con una línea en blanco.
Se pueden usar líneas en blanco extra (de forma reservada) para separar grupos de funciones relacionadas. Las líneas en blanco se pueden omitir entre un grupo de funciones con una sola línea (por ejemplo, con un conjunto de funciones sin implementación).
Usa líneas en blanco en las funciones, de forma limitada, para indicar secciones lógicas.
Python acepta el caracter control-L (o lo que es lo mismo ^L) como un espacio en blanco; muchas herramientas utilizan este caracter como separador de páginas, por lo que puedes usarlos para separar páginas de secciones relacionadas en tu archivo.
Espacios en blanco en expresiones y sentencias
Evita espacios en blanco extra en las siguientes situaciones:
Inmediatamente después de entrar en un paréntesis o antes de salir de un paréntesis, corchete o llave.
Sí:
spam(ham[1], {eggs: 2})
No:
spam( ham[ 1 ], { eggs: 2 } )
Inmediatamente antes de una coma, punto y coma, o dos puntos:
Sí:
if x == 4: print x, y; x, y = y, x
No:
if x == 4 : print x , y ; x , y = y , x
Inmediatamente antes de abrir un paréntesis para una lista de argumentos de una llamada a una función:
Sí:
spam(1)
No:
spam (1)
Inmediatamente antes de abrir un paréntesis usado como índice o para particionar (slicing):
Sí:
dict['key'] = list[index]
No:
dict ['key'] = list [index]
Más de un espacio alrededor de un operador de asignación (u otro operador) para alinearlo con otro.
Sí:
x = 1
y = 2
long_variable = 3
No:
x = 1
y = 2
long_variable = 3
Otras Recomendaciones
Rodea siempre los siguientes operadores binarios con un espacio en cada lado: asignación (=), asignación aumentada (+=, -= etc.), comparación (==, <, >, !=, <>, <=, >=, in, not in, is, is not), booleanos (and, or, not).
Usa espacios alrededor de los operadores aritméticos:
Sí:
i = i + 1
submitted += 1
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)
No:
i=i+1
submitted +=1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)
No uses espacios alrededor del signo '=' cuando se use para indicar el nombre de un argumento o el valor de un parámetro por defecto.
Sí:
def complex(real, imag=0.0):
return magic(r=real, i=imag)
No:
def complex(real, imag = 0.0):
return magic(r = real, i = imag)
Generalmente se desaconsejan las sentencias compuestas (varias sentencias en la misma línea).
Sí:
if foo == 'blah':
do_blah_thing()
do_one()
do_two()
do_three()
Preferiblemente no:
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()
Aunque a veces es adecuado colocar un if/for/while con un cuerpo pequeño en la misma línea, nunca lo hagas para sentencias multi-clausula.
Preferiblemente no:
if foo == 'blah': do_blah_thing()
for x in lst: total += x
while t < 10: t = delay()
Definitivamente no:
if foo == 'blah': do_blah_thing()
else: do_non_blah_thing()
try: something()
finally: cleanup()
do_one(); do_two(); do_three(long, argument,
list, like, this)
if foo == 'blah': one(); two(); three()
Python ocupa el 3 en el ranking de lenguajes mas usados actualmente https://www.tiobe.com/tiobe-index/
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en la legibilidad de su codigo. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional.
Guido van Rossum es un programador holandés graduado en Matemáticas y Ciencias de la Computación por la Universidad de Amsterdam en 1.982.
Es famoso por haber creado el lenguaje de programación Python. En el ambiente de los desarrolladores del lenguaje Python también se le conoce por el título BDFL (“Benevolent Dictator for Life’“), teniendo asignada la tarea de fijar las directrices sobre la evolución de Python, así como la de tomar decisiones finales sobre el lenguaje que todos los desarrolladores acatan. Van Rossum tiene fama de ser bastante conservador, realizando pocos cambios al lenguaje entre versiones sucesivas, intentando mantener siempre la compatibilidad con versiones anteriores.
-Guias de estilo Basica para python https://www.python.org/dev/peps/
Formateo del códigoIndentación
Usa 4 espacios por cada nivel de indentación.
Para código realmente antiguo que no quieras estropear, puedes continuar usando tabuladores de 8 espacios.
¿Tabuladores o espacios?
Nunca mezcles tabuladores y espacios.
La forma más popular de indentar en Python es utilizar sólo espacios. La segunda forma más popular es usar sólo tabuladores. El código indentado con una mezcla de tabuladores y espacios debería reformatearse y usar espacios exclusivamente. Cuando se invoca el intérprete de línea de comandos de Python con la opción -t, este muestra avisos sobre código que mezcla tabuladores y espacios. Cuando se utiliza -tt estos avisos se convierten en errores. ¡Estas opciones son altamente recomendables!
Para nuevos proyectos, se recomienda firmemente el uso de espacios en lugar de tabuladores. La mayoría de los editores tienen características que hacen esto bastante sencillo.
Tamaño máximo de línea
Limita todas las líneas a un máximo de 79 caracteres.
Todavía existen muchos dispositivos por ahí que están limitados a 80 caracteres por línea; además limitando el ancho de las ventanas a 80 caracteres posibilitas el tener varias ventanas una al lado de otra. El ajuste de línea por defecto en este tipo de dispositivos no da buenos resultados. Por lo tanto, por favor limita todas las líneas a un máximo de 79 caracteres. Para cadenas de texto largas (cadenas de documentación o comentarios), es aconsejable limitar el ancho a 72 caracteres.
La forma preferida de dividir líneas largas es utilizar la característica de Python de continuar las líneas de forma implícita dentro de paréntesis, corchetes y llaves. Si es necesario, puedes añadir un par de paréntesis extra alrededor de una expresión, pero algunas veces queda mejor usar una barra invertida. Asegurate de indentar la línea siguiente de forma apropiada. Algunos ejemplos:
class Rectangle(Blob):
def __init__(self, width, height,
color='black', emphasis=None, highlight=0):
if width == 0 and height == 0 and \
color == 'red' and emphasis == 'strong' or \
highlight > 100:
raise ValueError("sorry, you lose")
if width == 0 and height == 0 and (color == 'red' or
emphasis is None):
raise ValueError("I don't think so")
Blob.__init__(self, width, height,
color, emphasis, highlight)
Líneas en blanco
Separa las funciones no anidadas y las definiciones de clases con dos líneas en blanco.
Las definiciones de métodos dentro de una misma clase se separan con una línea en blanco.
Se pueden usar líneas en blanco extra (de forma reservada) para separar grupos de funciones relacionadas. Las líneas en blanco se pueden omitir entre un grupo de funciones con una sola línea (por ejemplo, con un conjunto de funciones sin implementación).
Usa líneas en blanco en las funciones, de forma limitada, para indicar secciones lógicas.
Python acepta el caracter control-L (o lo que es lo mismo ^L) como un espacio en blanco; muchas herramientas utilizan este caracter como separador de páginas, por lo que puedes usarlos para separar páginas de secciones relacionadas en tu archivo.
Espacios en blanco en expresiones y sentencias
Evita espacios en blanco extra en las siguientes situaciones:
Inmediatamente después de entrar en un paréntesis o antes de salir de un paréntesis, corchete o llave.
Sí:
spam(ham[1], {eggs: 2})
No:
spam( ham[ 1 ], { eggs: 2 } )
Inmediatamente antes de una coma, punto y coma, o dos puntos:
Sí:
if x == 4: print x, y; x, y = y, x
No:
if x == 4 : print x , y ; x , y = y , x
Inmediatamente antes de abrir un paréntesis para una lista de argumentos de una llamada a una función:
Sí:
spam(1)
No:
spam (1)
Inmediatamente antes de abrir un paréntesis usado como índice o para particionar (slicing):
Sí:
dict['key'] = list[index]
No:
dict ['key'] = list [index]
Más de un espacio alrededor de un operador de asignación (u otro operador) para alinearlo con otro.
Sí:
x = 1
y = 2
long_variable = 3
No:
x = 1
y = 2
long_variable = 3
Otras Recomendaciones
Rodea siempre los siguientes operadores binarios con un espacio en cada lado: asignación (=), asignación aumentada (+=, -= etc.), comparación (==, <, >, !=, <>, <=, >=, in, not in, is, is not), booleanos (and, or, not).
Usa espacios alrededor de los operadores aritméticos:
Sí:
i = i + 1
submitted += 1
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)
No:
i=i+1
submitted +=1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)
No uses espacios alrededor del signo '=' cuando se use para indicar el nombre de un argumento o el valor de un parámetro por defecto.
Sí:
def complex(real, imag=0.0):
return magic(r=real, i=imag)
No:
def complex(real, imag = 0.0):
return magic(r = real, i = imag)
Generalmente se desaconsejan las sentencias compuestas (varias sentencias en la misma línea).
Sí:
if foo == 'blah':
do_blah_thing()
do_one()
do_two()
do_three()
Preferiblemente no:
if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()
Aunque a veces es adecuado colocar un if/for/while con un cuerpo pequeño en la misma línea, nunca lo hagas para sentencias multi-clausula.
Preferiblemente no:
if foo == 'blah': do_blah_thing()
for x in lst: total += x
while t < 10: t = delay()
Definitivamente no:
if foo == 'blah': do_blah_thing()
else: do_non_blah_thing()
try: something()
finally: cleanup()
do_one(); do_two(); do_three(long, argument,
list, like, this)
if foo == 'blah': one(); two(); three()
Comentarios
Publicar un comentario