La esencia y características avanzadas de las funciones y módulos de Python.

Este artículo es compartido por la comunidad de la nube de Huawei " La esencia y las características avanzadas de las funciones y módulos de Python " por Lemony Hug.

Python es un potente lenguaje de programación con un rico conjunto de funciones y módulos que permiten a los desarrolladores crear aplicaciones complejas con facilidad. Este artículo presentará el uso básico de funciones y módulos en Python y proporcionará algunos ejemplos de código.

1. Definición y llamada de funciones.

Una función es un bloque de código reutilizable que realiza una tarea específica. En Python, usamos palabras clave para definir funciones. def 

saludo definido (nombre):
    """Esta es una función de saludo sencilla"""
    print("Hola, " + nombre + "!")

Lo anterior es una función simple que toma un parámetro y genera un saludo. greet name

Para llamar a una función, simplemente use el nombre de la función seguido de paréntesis y pase los argumentos (si los hay).

saludar ("Alicia")

Esto generará:

¡Hola Alicia!

2. Parámetros de función

Las funciones de Python pueden aceptar múltiples parámetros y admitir parámetros predeterminados y parámetros de palabras clave.

def agregar(x, y=0):
    """Esta función suma dos números"""
    volver x + y

En el ejemplo anterior, el parámetro es un parámetro predeterminado con un valor predeterminado de . y  0

resultado = sumar(3, 5)
imprimir (resultado) # Salida 8

resultado = add(3) # No pase el segundo parámetro, se utilizará el valor predeterminado
imprimir (resultado) # Salida 3

3. Importación y uso de módulos.

Un módulo de Python es una colección de definiciones y declaraciones de Python que se pueden importar mediante palabras clave. import 

#Importar el módulo de matemáticas en la biblioteca estándar
importar matematicas

#Usar funciones en el módulo de matemáticas.
print(math.sqrt(16)) # Salida 4.0

Además de importar el módulo completo, también puede importar funciones específicas dentro del módulo.

#Importar la función sqrt del módulo de matemáticas
de importación matemática sqrt

# Usa la función sqrt directamente
print(sqrt(25)) # Salida 5.0

4. Crea módulos personalizados

Además de utilizar los módulos proporcionados por la biblioteca estándar de Python, también podemos crear módulos personalizados.

Digamos que tenemos un archivo llamado, que define una función simple. helper.py 

# ayudante.py

definición doble(x):
    """Multiplica el número dado por 2"""
    volver x * 2

Para utilizar este módulo personalizado en otros archivos de Python, simplemente impórtelo.

#Importar módulo personalizado
ayudante de importación

# Usar funciones en módulos
print(helper.double(3)) # Salida 6

Los anteriores son los métodos de uso básicos y ejemplos de código de funciones y módulos de Python. Mediante el uso razonable de funciones y módulos, podemos mejorar la reutilización y la capacidad de mantenimiento del código, desarrollando así aplicaciones de manera más eficiente.

5. Función anónima (función Lambda)

Además de utilizar palabras clave para definir funciones, Python también admite funciones anónimas, también conocidas como funciones Lambda. Las funciones Lambda le permiten definir funciones simples en una sola línea de código. def 

# Definir una función Lambda para calcular la suma de dos números
sumar = lambda x, y: x + y

# Llamar a la función Lambda
resultado = sumar(3, 4)
imprimir (resultado) # Salida 7

Las funciones Lambda se utilizan normalmente cuando se requiere una función simple sin definir una función completa.

6. Funciones integradas

Python proporciona muchas funciones integradas que forman parte del intérprete y se pueden usar directamente sin importar ningún módulo.

# Utilice la función incorporada abs() para encontrar el valor absoluto
print(abs(-5)) # Salida 5

# Utilice la función incorporada len() para obtener la longitud de la lista
print(len([1, 2, 3, 4, 5])) # Salida 5

El uso de funciones integradas hace que realizar operaciones comunes en Python sea más conveniente y eficiente.

7. Ventajas de la programación modular

La programación modular es un estilo de programación que divide un programa en módulos independientes, cada uno de los cuales se centra en una tarea o función específica. Este estilo de programación tiene muchas ventajas, que incluyen:

  • Mantenibilidad : el código modular es más fácil de entender y mantener porque cada módulo se centra en una funcionalidad específica.
  • Reusabilidad : los módulos se pueden reutilizar en diferentes proyectos para evitar escribir código similar repetidamente.
  • Escalabilidad : se pueden agregar nuevos módulos o reemplazar los módulos existentes según sea necesario para satisfacer las necesidades cambiantes.

Al utilizar funciones y módulos de manera adecuada, podemos lograr un código más modular, reutilizable y mantenible.

8. Funciones avanzadas de funciones: Decoradores

Un decorador es una función especial que se puede utilizar para modificar el comportamiento de otras funciones. En Python, los decoradores se utilizan a menudo para agregar funciones adicionales como registro, creación de perfiles o verificación de permisos.

#Defina una función decoradora para registrar registros de llamadas de funciones
registro def(función):
    def contenedor(*args, **kwargs):
        print(f"Llamar a la función {func.__name__}, parámetros: {args}, {kwargs}")
        función de retorno(*args, **kwargs)
    envoltorio de devolución

# Aplicar decorador
@registro
def agregar(x, y):
    volver x + y

# Llamar a la función decorada
resultado = sumar(3, 4)
imprimir (resultado) # Salida 7

En el ejemplo anterior, log la función es un decorador que acepta una función como argumento y devuelve una nueva función . La función se registra antes de llamar a la función decorada, luego llama a la función original y devuelve el resultado. wrapperwrapper 

9. Características avanzadas de funciones: Generadores

Un generador es una función especial que genera una secuencia de valores en lugar de devolverlos todos a la vez. Este cálculo diferido ahorra memoria y mejora el rendimiento.

# Definir una función generadora para generar números de Fibonacci
def fibonacci(n):
    a, b = 0, 1
    para _ en el rango (n):
        producir un
        a, b = b, a + b

# Usar generador
para saber si en Fibonacci (10):
    print(num, end=" ") # Genera los primeros 10 números de la secuencia de Fibonacci

Las funciones del generador usan palabras clave para generar valores, y cada vez que se llama al método del generador , la función continúa la ejecución desde donde se detuvo por última vez hasta que se encuentra la siguiente . yield  next()  yield

10. Características avanzadas de funciones: recursividad

La recursividad es una técnica de programación en la que una función se llama a sí misma y se utiliza a menudo para resolver problemas que se pueden dividir en subproblemas más pequeños.

# Definir una función recursiva para calcular factorial
definición factorial(n):
    si norte == 0:
        regresar 1
    demás:
        devolver n * factorial(n - 1)

# Usar funciones recursivas
resultado = factorial(5)
imprimir (resultado) # Salida 120

En el ejemplo anterior, factorial la función se llama a sí misma para calcular el factorial.

11. Programación funcional

Python admite el paradigma de programación funcional, lo que significa que las funciones se pueden pasar como variables, como argumentos de otras funciones e incluso como valores de retorno de funciones. Este enfoque puede hacer que el código sea más conciso y legible.

# Definir una función que duplique cada elemento de la lista
def elementos_dobles(números):
    devolver [núm * 2 para núm en números]

# Definir una función que agregue uno a cada elemento de la lista
def incremento_elementos(numeros):
    devolver [núm + 1 para núm en números]

# Definir una función que aplica otra función a cada elemento de la lista
def aplicar_función_a_elementos (números, función):
    retorno [func(num) para num en nums]

# Usar programación funcional
mi_lista = [1, 2, 3, 4, 5]
lista_doblada = aplicar_función_a_elementos(mi_lista, lambda x: x * 2)
print(lista_duplicada) # Salida [2, 4, 6, 8, 10]

lista_incrementada = aplicar_función_a_elementos(mi_lista, lambda x: x + 1)
print(incremented_list) # Salida [2, 3, 4, 5, 6]

En el ejemplo anterior, apply_function_to_elements la función acepta una función como argumento y aplica la función a cada elemento de la lista.

12. Ventajas de la programación funcional

La programación funcional tiene muchas ventajas, que incluyen:

  • Simplicidad : la programación funcional a menudo logra la misma funcionalidad con menos código.
  • Legibilidad : la programación funcional enfatiza la combinación y transformación de funciones, lo que hace que el código sea más fácil de entender.
  • Inmutabilidad : los datos en la programación funcional suelen ser inmutables, lo que significa que es más fácil razonar y depurar programas.
  • Paralelismo : la programación funcional fomenta funciones puras, que no cambian el estado externo y, por lo tanto, son más fáciles de procesar en paralelo.

Al utilizar adecuadamente el paradigma de programación funcional, podemos escribir código más claro, conciso y fácil de mantener.

Resumir

En este artículo, analizamos en profundidad el uso de funciones y módulos en Python, así como algunas funciones avanzadas. Los siguientes son los puntos resumidos de este artículo:

  1. Uso básico de funciones : aprendimos cómo definir funciones, pasar parámetros y llamar funciones. Las funciones en Python son bloques de código reutilizables que realizan tareas específicas.

  2. Parámetros de función : introdujimos que las funciones pueden aceptar múltiples parámetros, incluidos los parámetros predeterminados y los parámetros de palabras clave. Esto hace que la función sea más flexible y pueda adaptarse a diferentes escenarios de uso.

  3. Importación y uso de módulos : aprendimos cómo importar módulos de Python y usar funciones y variables en los módulos. Los módulos son los componentes básicos de los programas Python que ayudan a organizar y reutilizar el código.

  4. Funciones avanzadas de funciones : profundizamos en algunas de las funciones avanzadas de funciones, incluidos decoradores, generadores, recursividad y programación funcional. Estas características hacen que las funciones sean más flexibles y potentes, capaces de hacer frente a diversas necesidades de programación.

  5. Ventajas de la programación modular : discutimos las ventajas de la programación modular, incluida la mantenibilidad, la reutilización y la extensibilidad. El uso razonable de funciones y módulos puede mejorar la eficiencia y la calidad del código.

Al estudiar este artículo, debería tener una comprensión más profunda del uso de funciones y módulos en Python, dominar algunas funciones avanzadas y poder usarlas de manera más flexible para resolver problemas prácticos. Continúe aprendiendo y explorando la programación en Python y podrá escribir código más elegante y eficiente.

 

Haga clic para seguir y conocer las nuevas tecnologías de Huawei Cloud lo antes posible ~

 

¿Cuántos ingresos puede generar un proyecto desconocido de código abierto? El equipo chino de inteligencia artificial de Microsoft empacó colectivamente y se fue a los Estados Unidos, involucrando a cientos de personas. Huawei anunció oficialmente que los cambios de trabajo de Yu Chengdong estaban clavados en el "Pilar de la vergüenza de FFmpeg" durante 15 años. Hace, pero hoy tiene que agradecernos—— ¿Tencent QQ Video venga su humillación pasada? El sitio espejo de código abierto de la Universidad de Ciencia y Tecnología de Huazhong se abrió oficialmente para el informe de acceso a la red externa: Django sigue siendo la primera opción para el 74% de los desarrolladores. El editor Zed ha logrado avances en el soporte de Linux. Un ex empleado de una conocida empresa de código abierto. dio la noticia: después de ser desafiada por un subordinado, la líder técnica se puso furiosa y grosera, fue despedida y quedó embarazada. La empleada Alibaba Cloud lanza oficialmente Tongyi Qianwen 2.5 Microsoft dona 1 millón de dólares a la Fundación Rust.
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4526289/blog/11110338
Recomendado
Clasificación