Consejos, consejos de Python 30 (1)

1. Versión de Python

Me gustaría recordarles a todos: a partir del 1 de enero de 2020, Python oficialmente ya no es compatible con Python 2. Muchos de los ejemplos de este artículo solo se pueden ejecutar en Python 3. Si todavía usa Python 2.7, actualice ahora.

2. Verifique la versión mínima de Python

Puede verificar la versión de Python en el código para asegurarse de que sus usuarios no estén ejecutando el script en una versión incompatible. El método de verificación es el siguiente:

if not sys.version_info > (2, 7):
   #. berate your user for running a 10 year
   #. python version
elif not sys.version_info >= (3, 5):
    #. Kindly tell your user (s)he needs to upgrade
   #. because you're using 3.5 features

3. IPython

Inserte la descripción de la imagen aquí

IPython es esencialmente un shell mejorado. Vale la pena intentarlo solo para completarlo automáticamente, y su función es más que eso, también tiene muchos comandos que no puedo dejar, como:

  • % cd: cambia el directorio de trabajo actual

  • % edit: abre el editor y ejecuta el código escrito después de cerrar el editor

  • % env: muestra las variables del entorno actual

  • % pip install [pkgs]: puede instalar paquetes de software sin salir del shell interactivo

  • % time y% timeit: mide el tiempo para ejecutar código Python

Para obtener una lista completa de comandos, haga clic aquí para ver (https://ipython.readthedocs.io/en/stable/interactive/magics.html).

También hay una función muy útil: consulte la salida del comando anterior. La entrada y la salida son objetos reales. Puede utilizar la salida del tercer comando en forma de Out [3].

El comando de instalación de IPython es el siguiente:

pip3 install ipython
4. Comprensión de listas

Puede utilizar listas por comprensión para evitar el engorroso uso de bucles para llenar listas. La sintaxis básica de la comprensión de la lista es la siguiente:

[ expression for item in list if conditional ]

Para dar un ejemplo básico: llene una lista con un conjunto de números ordenados:

mylist = [i for i in range(10)]
print(mylist)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Como puede usar expresiones, también puede realizar algunas operaciones aritméticas:

squares = [x**2 for x in range(10)]
print(squares)

# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Incluso puede llamar a funciones externas:

def some_function(a):
    return (a + 5) / 2

my_formula = [some_function(i) for i in range(10)]
print(my_formula)
# [2, 3, 3, 4, 4, 5, 5, 6, 6, 7]

Finalmente, también puede usar 'si' para filtrar la lista. En el siguiente ejemplo, solo conservamos los números divisibles por 2:

filtered = [i for i in range(20) if i%2==0]
print(filtered)
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
5. Verifique el uso de memoria del objeto

Puede usar sys.getsizeof () para verificar el uso de memoria del objeto:

import sys
mylist = range(0, 10000)
print(sys.getsizeof(mylist))
# 48

Espera, ¿por qué esta enorme lista solo contiene 48 bytes?

Porque la función de rango aquí devuelve una clase, pero se comporta como una lista. En términos de uso de memoria, el rango es mucho más eficiente que la lista real de números.

Puede intentar crear una lista de números con el mismo rango usando la comprensión de listas:

import sys

myreallist = [x for x in range(0, 10000)]
print(sys.getsizeof(myreallist))
# 87632
6. Devuelve varios valores

Una función en Python puede devolver más de una variable sin usar diccionarios, listas o clases. Como sigue:

def get_user(id):
    # fetch user from database
    # ....
    return name, birthdate

name, birthdate = get_user (4)
Si el número de valores devueltos es limitado, por supuesto que está bien. Sin embargo, si el número de valores devueltos supera los 3, debe poner el valor devuelto en una clase (de datos).

7. Utilice clases de datos

Python ha proporcionado clases de datos desde la versión 3.7. En comparación con las clases normales u otros métodos (como devolver varios valores o diccionarios), las clases de datos tienen varias ventajas obvias:

El tipo de datos tiene menos código

Puede comparar clases de datos porque las clases de datos proporcionan el método eq

Al depurar, puede generar fácilmente la clase de datos, porque la clase de datos también proporciona el método repr

Los tipos de datos necesitan sugerencias de tipo, por lo que puede reducir la posibilidad de errores

Los ejemplos de clases de datos son los siguientes:

from dataclasses import dataclass

@dataclass
class Card:
    rank: str
    suit: str
card = Card("Q", "hearts")
print(card == card)
# True
print(card.rank)
# 'Q'
print(card)
Card(rank='Q', suit='hearts')

Para obtener la guía de uso detallada, haga clic aquí (https://realpython.com/python-data-classes/).

8. Intercambio de variables

Los siguientes consejos son muy inteligentes y pueden ahorrarle varias líneas de código:

a = 1
b = 2
a, b = b, a
print (a)
# 2
print (b)
# 1
9. Combinar diccionarios (Python 3.5 y superior)

A partir de Python 3.5, la operación de combinar diccionarios se ha vuelto más fácil:

dict1 = {
    
     'a': 1, 'b': 2 }
dict2 = {
    
     'b': 3, 'c': 4 }
merged = {
    
    **dict1, **dict2}
print (merged)
# {'a': 1, 'b': 3, 'c': 4}

Si se repite la clave, se sobrescribirá la clave del primer diccionario.

10. Ponga en mayúscula la primera letra de la cadena

La siguiente técnica es realmente un poco linda:

mystring = "10 awesome python tricks"
print(mystring.title())
'10 Awesome Python Tricks'

Supongo que te gusta

Origin blog.csdn.net/weixin_42464956/article/details/107487455
Recomendado
Clasificación