¿Ha dominado estas 16 habilidades de codificación Python que debe conocer? ¡Vale la pena coleccionarlo!

Insertar descripción de la imagen aquí

Python es un lenguaje de programación versátil con una gran cantidad de bibliotecas y marcos. Existen algunas bibliotecas y consejos de codificación de Python poco conocidos que pueden facilitar su trabajo como desarrollador y hacer que su código sea más eficiente.

Este artículo explora algunos trucos de Python menos conocidos que son muy útiles pero no muy conocidos. Al aprender y utilizar estas técnicas, puede ahorrar tiempo y esfuerzo y hacer que su código sea más elegante y eficiente. Entonces, ¡profundicemos en estas joyas ocultas del lenguaje Python!

1. Operador ternario

El operador ternario es la abreviatura de declaración if-else. La sintaxis es value_if_true if condition else value_if_false. El operador ternario es una sola línea de código que puede reemplazar varias líneas de declaraciones if-else, lo que hace que su código sea más conciso.

a = 5 
b = 10 
max = a if a > b else b  # value_if_true if condition else value_if_false

print(max)
# 10


El código anterior funciona comprobando si "a" es mayor que "b" y devuelve "a" si es verdadero y "b" si es falso.

2. Función de enumeración

enumerate()La función agrega un contador al objeto iterable y lo devuelve como un objeto de enumeración. Esta función es útil cuando desea recorrer una lista y realizar un seguimiento del índice.

fruits = ['apple', 'banana', 'mango'] 
for index, fruit in enumerate(fruits): 
    print(index, fruit)

# 0 apple
# 1 banana
#2  mango


3. Función de compresión

La función zip() agrega los elementos de cada iterable y devuelve un iterador de tuplas. Esta función es útil cuando desea recorrer dos o más listas simultáneamente.

list1 = [1, 2, 3] 
list2 = ['a', 'b', 'c'] 
for x, y in zip(list1, list2):
    print(x, y)

# 1 a
# 2 b
# 3 c


4. Generación de listas

Las listas por comprensión son una forma concisa de crear una lista a partir de una lista existente o de cualquier objeto iterable. Este es un resumen que puede reemplazar un bucle for, haciendo que su código sea más eficiente y legible.

squared_numbers = [x**2 for x in range(1, 6)]

print(squared_numbers)
# [1, 4, 9, 16, 25]


5. Funciones anónimas

LambdaLas funciones son funciones anónimas definidas mediante la palabra clave lambda. defSon útiles cuando necesita escribir pequeñas funciones únicas y no desea utilizar palabras clave para definir funciones con nombre.

add = lambda x, y: x + y 

result = add(3, 4)

print(result)
# 7


6.cualquier () y todas () funciones

La función any() y la función all() devuelven Verdadero o Falso según la autenticidad de los elementos del iterable. La función any() devuelve True si algún elemento de iterable es verdadero, y la función all() devuelve True si todos los elementos de iterable son verdaderos.

numbers = [1, 2, 3, 0, 4] 
result = any(numbers) # True 
result = all(numbers) # False。0使结果为False


7. módulo de iteración

itertoolsEl módulo proporciona un conjunto de funciones para trabajar con iteradores. chainLas funciones de este módulo incluyen producty permutations.

import itertools 
numbers = [1, 2, 3] 
result = list(itertools.permutations(numbers)) 


# 输出所有排列组合 
# [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]


8. Generador

Un generador es un tipo iterable que genera valores sobre la marcha en lugar de almacenarlos en la memoria. Se define mediante la palabra clave rendimiento y se utiliza para crear iteradores personalizados.

# 使用yield关键字创建生成器 
def fibonacci_series(n):
    a, b = 0, 1
    for i in range(n):
        yield a
        a, b = b, a + b

# 输出迭代器中的值 
for number in fibonacci_series(10):
    print(number)

# 0
# 1
# 1
# 2
# 3
# 5
# 8
# 13
# 21
# 34



9. decorador

Un decorador es una forma de modificar el comportamiento de una función o clase. Se define mediante el símbolo @, que se puede utilizar para agregar funcionalidad a la función, como registro, temporización o autenticación.

def log_function(func):
    def wrapper(*args, **kwargs):
        print(f'Running {func.__name__}')
        result = func(*args, **kwargs)
        print(f'{func.__name__} returned {result}')
        return result
    return wrapper

@log_function
def add(x, y):
    return x + y


print(add(5,7))

# 运行add函数,返回值为12


10. Uso de múltiples parámetros de función

En Python, puede utilizar los operadores * y ** para manejar múltiples parámetros de funciones. El operador * se usa para pasar la lista de argumentos como argumentos posicionales separados y el operador ** se usa para pasar un diccionario de argumentos de palabras clave.

def print_arguments(*args, **kwargs):
    print(args)
    print(kwargs)

print_arguments(1, 2, 3, name='John', age=30)

# (1, 2, 3)
# {'name': 'John', 'age': 30}


11. Importación dinámica

Cuando desee importar un módulo según la entrada o configuración del usuario, puede utilizar el módulo de importación dinámica importlib.

import importlib

module_name = 'math'
module = importlib.import_module(module_name)
result = module.sqrt(9)


12. Generación de diccionario

La generación de diccionarios es una forma concisa de crear un diccionario a partir de un diccionario existente o de cualquier objeto iterable. Es una sola línea de código que puede reemplazar el bucle for, haciendo que su código sea más eficiente y legible.

squared_numbers = {x: x**2 for x in range(1, 6)}
print(squared_numbers)

# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}


13. Objetos invocables

En Python, cualquier objeto que pueda llamarse función se denomina objeto invocable, incluidas funciones, métodos, clases e incluso __call__objetos que definen métodos.

class Adder:
    def __call__(self, x, y):
        return x + y

adder = Adder()
result = adder(3, 4)

print(result)
#7


14. Separe números/caracteres grandes con guiones bajos

Los números grandes son difíciles de distinguir a primera vista, por lo que en Python puedes usar guiones bajos para que los números sean más fáciles de leer.

num_test = 100_345_405 # 一个大数字

print(num_test)
# 100345405


15. Fusiona rápidamente dos diccionarios

Puede utilizar el siguiente código para fusionar rápidamente dos diccionarios en Python.

dictionary_one = {"a": 1, "b": 2}
dictionary_two = {"c": 3, "d": 4}

merged = {**dictionary_one, **dictionary_two}

print(merged)  
# {'a': 1, 'b': 2, 'c': 3, 'd': 4} 


16. Las listas, conjuntos y diccionarios son mutables.

Mutable significa que un objeto (lista, conjunto o diccionario) se puede cambiar o actualizar sin cambiar el puntero del objeto en la memoria. El efecto real se puede ver en el siguiente ejemplo.

En el siguiente ejemplo, al actualizar la lista de ciudades agregando una nueva ciudad, puede ver que el ID (puntero de objeto) sigue siendo el mismo, al igual que la colección y el diccionario.


cities = ["Munich", "Zurich", "London"]
print(id(cities)) # 2797174365184
cities.append("Berlin")
print(id(cities)) # 2797174365184


# 集合 

my_set = {1, 2, 3}
print(id(my_set))  # 2797172976992
my_set.add(4)
print(id(my_set))  # 2797172976992


diccionario

thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
print(id(thisdict))  #2797174128256
thisdict["engine"] = "2500cc"
print(id(thisdict))  #2797174128256


Finalmente, aquí hay un conjunto de materiales de aprendizaje gratuitos compartidos con usted de forma gratuita, incluidos videos, códigos fuente / libros electrónicos. Espero que pueda ayudar a aquellos amigos que no están satisfechos con la situación actual y quieren mejorar pero no tienen dirección. También puedes agregarme a WeChat para aprender y comunicarnos juntos.

Python所有方向的学习路线图, sepa claramente qué aprender en cada dirección

100多节Python课程视频, que cubre conceptos básicos esenciales, rastreadores y análisis de datos.

100多个Python实战案例, el aprendizaje ya no se trata solo de teoría

华为出品独家Python漫画教程, también puedes aprender en tu teléfono móvil

历年互联网企业Python面试真题, muy conveniente al revisar

Insertar descripción de la imagen aquí

1. Rutas de aprendizaje en todas las direcciones de Python

La ruta omnidireccional de Python consiste en organizar los puntos técnicos de uso común de Python para formar un resumen de los puntos de conocimiento en varios campos. Su utilidad es que puede encontrar los recursos de aprendizaje correspondientes de acuerdo con los puntos de conocimiento anteriores para garantizar un aprendizaje más completo. .

2. Software de aprendizaje

Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas. El software de desarrollo comúnmente utilizado para aprender Python está aquí, lo que les ahorra a todos mucho tiempo.

3. Conjunto completo de libros electrónicos en PDF

La ventaja de los libros es que tienen autoridad y un sistema de sonido. Cuando empiezas a aprender, puedes simplemente mirar vídeos o escuchar las conferencias de alguien. Pero una vez que terminas de aprender, sientes que lo has dominado. En este momento, Se recomienda que siga leyendo los libros. Los libros técnicos autorizados también son imprescindibles para todo programador.

Insertar descripción de la imagen aquí

4. Vídeo introductorio al aprendizaje

Cuando miramos videos y aprendemos, no podemos simplemente mover los ojos y el cerebro, pero no las manos. El método de aprendizaje más científico es usarlos después de comprenderlos. En este momento, los proyectos prácticos son muy adecuados.

4. Casos prácticos

La teoría óptica es inútil, debes aprender a seguirla y practicarla para poder aplicar lo aprendido en la práctica, en este momento puedes aprender de algunos casos prácticos.

5. "Lea cómics y aprenda Python" producido por el maestro en programación de la Universidad de Tsinghua

Utilice cómics fáciles de entender para enseñarle a aprender Python, haciéndolo más fácil de recordar y no aburrido.

Insertar descripción de la imagen aquí
Admite 600 episodios de vídeo:

Insertar descripción de la imagen aquí

6. Materiales de la entrevista

Debemos aprender Python para encontrar un trabajo bien remunerado. Las siguientes preguntas de la entrevista son los materiales de entrevista más recientes de empresas de Internet de primer nivel como Alibaba, Tencent, Byte, etc., y los jefes de Alibaba han dado respuestas autorizadas. Después de terminar este conjunto Creo que todos pueden encontrar un trabajo satisfactorio según la información de la entrevista.


**Se han empaquetado recursos de aprendizaje, los amigos que los necesiten pueden comentar o enviarme un mensaje privado.

Supongo que te gusta

Origin blog.csdn.net/Python_HUHU/article/details/131010794
Recomendado
Clasificación