Galería de mapas mentales Puntos de conocimiento básico de Python
Este es un mapa mental sobre los conceptos básicos de Python. Los contenidos principales incluyen: 11 códigos de prueba, 10 archivos y excepciones, 9 clases, 8 funciones, 7 entradas de usuario y while, 6 diccionarios, 5 declaraciones if. , Lista de 4 operaciones, Introducción de 3 listas, 2 variables y tipos de datos, 1 Introducción.
Editado a las 2024-11-21 10:22:32,La segunda unidad del Curso Obligatorio de Biología ha resumido y organizado los puntos de conocimiento, cubriendo todos los contenidos básicos, lo cual es muy conveniente para que todos aprendan. Adecuado para revisión y vista previa de exámenes para mejorar la eficiencia del aprendizaje. ¡Date prisa y recógelo para aprender juntos!
Este es un mapa mental sobre Extracción y corrosión del mí. El contenido principal incluye: Corrosión de metales, Extracción de metales y series de reactividad.
Este es un mapa mental sobre la reactividad de los metales. El contenido principal incluye: Reacciones de desplazamiento de metales, La serie de reactividad de los metales.
La segunda unidad del Curso Obligatorio de Biología ha resumido y organizado los puntos de conocimiento, cubriendo todos los contenidos básicos, lo cual es muy conveniente para que todos aprendan. Adecuado para revisión y vista previa de exámenes para mejorar la eficiencia del aprendizaje. ¡Date prisa y recógelo para aprender juntos!
Este es un mapa mental sobre Extracción y corrosión del mí. El contenido principal incluye: Corrosión de metales, Extracción de metales y series de reactividad.
Este es un mapa mental sobre la reactividad de los metales. El contenido principal incluye: Reacciones de desplazamiento de metales, La serie de reactividad de los metales.
Conceptos básicos de Python
1-Inicio
Instalar Python 3.x
Instalar editor de código
Hola palabra
2-Variables y tipos de datos
variable
Nombre y uso
Los nombres de variables solo pueden usar letras, números y guiones bajos, y el primer carácter no puede ser un número.
Los nombres de variables no pueden ser palabras reservadas de Python (palabras clave)
Los nombres de las variables deben ser breves y claros.
edad_estudiante
clase_estudia
estu_sexo
...
Manejo de errores de nombres
Errores tipográficos al llamar a variables
Preste atención a la información de seguimiento
el nombre de la variable es etiqueta
Una variable es un espacio para almacenar datos, similar a una bolsa de archivos (variable). Los datos (valor de la variable) se colocan en la bolsa de archivos (variable).
A través de la etiqueta (nombre de variable) en la bolsa de archivos, puede encontrar la bolsa de archivos (variable) correspondiente a la etiqueta y sacar el archivo de datos (valor de variable) de la bolsa de archivos para su uso.
cadena
Modificar caso de cadena
.título()
.superior()
.más bajo()
Usando variables en cadenas
str = f"{valor_nombre} es {valor}";
x = 10; x_nombre = 'x'; full_str = f"{x_name} es {x}";
Cadena de formato
str = f"{valor_nombre} es {valor}";
str = "{} es {}".format(value_name,value");
Insertar nuevas líneas y tabulaciones en cadenas
Similar a C
Eliminar espacios finales
.rstrip()
cadena = cadena.rstrip();
número
entero
flotar
constante
Python no tiene tipos constantes
Las variables con nombres en letras mayúsculas generalmente se consideran constantes.
Las constantes no se cambian durante la ejecución del programa.
Comentario
Los comentarios son texto en el código que no se ejecutan y son parte del código.
Los buenos comentarios pueden mejorar la legibilidad de su código
Para el texto que comienza con '#', la línea completa se tratará como un comentario y se ignorará durante la ejecución.
Introducción de 3 listas
definición de lista
lista = [elem1,elem2,...,]
lista[yo]
Las listas se indexan a partir de 0, es decir, el primer elemento de una lista no vacía es lista[0]
familia = ["abs","ppo","pva","pe"]; mensaje = "El primer proyecto es {}".format(family[0].upper()); imprimir(mensaje);
Agregar, modificar, eliminar elementos
Agregar elemento
Añadir al final de la lista
.append(valor)
familia = ["abs","ppo","pva","pe"]; familia.append("aibn"); imprimir(familia);
insertar en la lista
.insertar(yo,valor)
familia = ["abs","ppo","pva","pe"]; familia.insert(0,"aibn"); imprimir(familia);
Modificar elementos
lista[i] = nuevo_valor
familia = ["abs","ppo","pva","pe"]; familia[0] = "aibn"; imprimir(familia);
Eliminar elemento
.estallido()
Pop el valor del último elemento de la cola.
.pop(0)
Muestra el valor del elemento en la posición especificada.
.fiambres)
Según el índice i, elimine el elemento en i
.eliminar(valor)
Según el valor del valor, elimine el primer elemento encontrado con el valor del valor.
Lista de organizaciones
.clasificar()
Ordene la lista y sobrescriba el contenido de la lista original
.contrarrestar()
len()
función para calcular la longitud
Los números no tienen longitud.
Tabla, diccionario, cadena, tupla
ordenado (lista)
Ordene la lista y genere la nueva lista sin modificar el contenido de la tabla anterior.
Esta es una función
4-Lista de operaciones
recorrer la lista
para x en la lista:
#!/usr/bin/python3 animales = ["perro","gato","pez","cabra","buey","jirafa","guoqing"]; para animales en animales: print(f"El animal es {animal.title()}"); print(f"Creo que,{animal.upper()}",end = ' '); print("¡Eso es todo!");
py controla el área de ejecución del código mediante sangría/espacios
lista de valores
rango (inicio, parada, paso)
#Cree una lista de números del 0 al 99 e imprímala número = rango(0,100); para i en número: imprimir(yo); imprimir("Fin");
máx(), mín(), suma()
#Cree una lista de números del 0 al 99 e imprímala número = rango(0,100); para i en número: imprimir(yo,fin = ' '); imprimir("Fin"); print("El número máximo de esta lista es {}".format(max(number))); print("El número mínimo de esta lista es {}".format(min(número))); print("La suma de esta lista es {}".format(suma(número)));
comprensión de la lista
números = [valor**3 para el valor en el rango(0,50,2)]; imprimir(números);
Una línea de declaraciones completa varios pasos
usar parte de la lista
deslizar
lista[inicio:parada:paso]
nombres = ["julia","jack","pony","petter","dick","lun"]; para nombre en nombres[1:4:2]: imprimir(nombre); imprimir("fin".superior());
Copiar
lista1 = lista2[:]
nombres = ["julia","jack","pony","petter","dick","lun"]; alias = nombres; imprimir(alias); nombres.append("yasin"); print("nombres:",nombres); print("alias:",alias); #Aquí se puede demostrar que el nombre de la variable es la etiqueta de la variable, y los nombres y alias aquí son dos etiquetas diferentes de la misma variable. alias = alias[:]; nombres.pop(); print("nombres:",nombres); print("alias:",alias); #Utilice lista1 = lista2[:] para crear realmente otra lista imprimir("fin".superior());
Lista inmutable - tupla
nombre_tupla = (elem1,elem2,elem3,...)
Modificar tupla
redefinir
alimentos = ("mapo","hoguo","jiaozi"); print("El menú es el siguiente:",end =''); para alimentos en alimentos: imprimir(comida,fin = ' '); imprimir(fin = ' '); #Redefinir tupla alimentos = ("amor","paz","envidia"); print("El menú es el siguiente:",end =''); para alimentos en alimentos: imprimir(comida,fin = ' '); imprimir(fin = ' ');
Modificar elementos en una tupla
tupla = (1,2,3,[4,5,6]) para i en tupla: imprimir(yo); #Cuando hay elementos variables en la tupla, los elementos variables se pueden modificar. tupla[3].append(7); para i en tupla: imprimir(yo);
5-si declaración
prueba de condición
si A == B: función1(); elif A == C: función2(): demás: salida();
==
!=
>=
<=
>
<
si A en B: función (A); demás: salida();
en
y
no
o
si declaración
si condición == Verdadero: comportamiento();
si condición == Verdadero: acción1(); demás: acción2();
si condición1: acción1(); condición elif2: acción2(); ..... demás: acción_predeterminada();
Lista de procesos
para elemento en la lista: si elemento == condición: acción1(); demás: acción2();
si lista: imprimir("NO VACÍO"); demás: imprimir("VACIO");
6-Diccionario
usar diccionario
diccionario = { clave1: valor1, clave2, valor2,...}
diccionario de definicion
diccionario = {}
Crear diccionario vacío
valor = diccionario[clave]
usar diccionario
diccionario[clave3] = valor3
Agregar pares clave-valor
Si key3 existe, modifique el valor clave de key3.
del diccionario[clave]
Eliminar par clave-valor
.get(clave,valor_predeterminado)
El método .get() obtiene el valor de la clave del diccionario.
diccionario transversal
.elementos()
Iterar sobre pares clave-valor en un diccionario
para k,v en diccionario.items(): imprimir(f"{k}:{v}");
.llaves()
Iterar sobre las claves en un diccionario.
.valores()
Iterar sobre los valores en un diccionario
Definiciones anidadas
lista de diccionario
diccionario1 = {clave_a1:valor_a1,clave_a2:valor_a2}; diccionario2 = {clave_b1:valor_b1,clave_b2:valor_b2}; diccionario3 = {clave_c1:valor_c1,clave_c2:valor_c2}; lista = [diccionario1,diccionario2,diccionario3]; para el artículo en la lista: imprimir (artículo);
lista diccionario
dic1 = {"clave1":['a','b','c'],"clave2":['d','e','f']}; para v en dic1: imprimir(v);
diccionario diccionario
dic = {"clave1":{"sub_clave1":sub_valor1,"sub_clave2":sub_valor2},...}
Eliminar elementos duplicados
conjunto (diccionario)
Diferente de la colección
Todos están definidos por {```}
Las colecciones no tienen orden.
Los elementos del conjunto no se repiten.
7-Entrada de usuario y mientras
aporte()
get_input = entrada ("mensaje")
Solo puede aceptar cadenas y cadenas de salida.
Puedes usar otras funciones para convertir cadenas.
num = int(input("ingrese un número ")); si número == 0: print("{} es múltiplo de 10."format(num)); demás: print(f"{num} no es múltiplo de 10.");
mientras
yo = 0; mientras yo < 5: imprimir(yo); yo = yo 1;
mensaje = ""; mientras mensaje! = "salir": imprimir(mensaje); mensaje = input("ingrese una frase y la repetiré ");
bandera = Verdadero; mensaje = "" mientras bandera == Verdadero: mensaje = entrada(""); si mensaje == "salir": bandera = Falso; demás: imprimir(mensaje);
romper
Salga del bucle y ejecute las declaraciones que siguen al cuerpo del bucle.
continuar
Ignore las declaraciones restantes en el bucle y comience desde el principio.
mientras procesa la lista
lista = ["elem1","elem2","elem3","elem1","elem2"]; mientras que "elem1" en la lista: lista.remove("elem1");
mientras procesa el diccionario
bandera_activa = Verdadero; respuesta = {}; mientras active_flag == Verdadero: nombre = input("¿cómo te llamas?"); respuesta[nombre] = input("¿cuál es tu hobby?"); if input("¿te gustaría dejar que otra persona responda?") == "no": bandera_activa = Falso; para n,h en respuesta.items(): print("{}\'s hobby es {} ".format(n,h));
8 funciones
def nombre_función(param1=valor_predeterminado1,param2=valor_predeterminado2): acción1(param1); acción2(param2); devolver resolución;
def hola(nombre = "mundo",msg = ''): print(f"Hola {nombre.título()}.{msg}"); hola("yasin","¡Este soy yo!");
pasar argumentos
argumento posicional
Python asocia la posición de los parámetros entrantes con la posición donde se definen los parámetros de la función.
Python pasa los parámetros en las posiciones correspondientes a los parámetros formales en el momento de la definición en orden.
Argumentos de palabras clave
diversión(param1 = valor1,param3 = valor3,param2=valor2);
Valores predeterminados para los parámetros de función
def diversión(param1 = "Hola"); Esta función también se puede llamar omitiendo param1
Parámetros de función omitibles
def diversión(param1,param2 = ''); #Aquí el parámetro2 se puede omitir al llamar
valor de retorno
Devolver parámetros simples
Diccionario de retorno
Lista de pases
Pasar una copia de la lista.
divertido(lista[:])
Los parámetros formales no modificarán la lista original.
Pasa la lista completa
diversión (lista)
Las modificaciones a la lista en la función se guardarán en la lista.
Pasa tantos argumentos como quieras.
def diversión(en,*params)
* significa construir una tupla a partir de todos los parámetros restantes pasados
Combina múltiples tipos de parámetros
def construir(primero,segundo,**etc)
** significa construir un diccionario a partir de los pares clave-valor restantes
build("Yasin","Jue",sex="m",peso=120);
Encapsulación e importación
Guarde la función como un archivo con el sufijo .py
Importar funciones y módulos
desde nombre_archivo importar nombre_divertido
Importar solo la función fun_name desde file_name
importar nombre_archivo
Importar archivo completo
Utilice alias para funciones y módulos.
desde nombre_archivo importar nombre_divertido como alias_divertido
importar nombre_archivo como alias_archivo
9 categorías
Crear y usar
Edamame es un perro, y perro es una categoría, o categoría para abreviar.
Un tipo de cosas suelen tener atributos comunes, por ejemplo, un perro tiene cuatro patas (atributos), un perro puede ladrar (métodos), etc.
Abstraer cosas específicas se denomina atributos y métodos de una clase.
perro de clase: '''Esto es un perro''' def __init__(yo,nombre,edad): self.nombre = nombre; self.edad = edad; self.piernas = 4; def ladrar(yo): print("guau guau guau~"); maodou = perro("MaoDou",5); maodou.bark(); print(maodou.edad);
Al definir un método, este debe incluir el parámetro formal self
__init__() es un método especial que se ejecuta automáticamente cada vez que se crea una instancia.
maodou es un ejemplo
heredar
Perro es una categoría grande, que también se subdivide en subcategorías como Pomerania, Teddy, Husky, Chuanchuan, etc.
Edamame es Chuanchuan, y Chuanchuan también es un tipo de perro, por lo que Chuanchuan también tiene las características básicas de un perro.
Chuanchuan es una subclase de perro y perro es la clase principal de Chuanchuan.
perro de clase: def __init__(self,edad=1,nombre=""): self.edad = edad; self.nombre = nombre; self.piernas = 4; def ladrar(yo): print(f"{self.name}:wowowwo~!"); Definitivamente sentarse (yo): print(f"{self.name}:siéntate"); def establecer_edad(self,nueva_edad=0): self.age = nueva_edad; def set_name(self,new_name=""): self.nombre = nuevo_nombre; clase ChuanChuan(Perro): def __init__(self,padre="keji",madre="lachang",edad=1,nombre=""): super().__init__(edad,nombre); self.padre = padre; self.madre = madre; def set_padre(self,padre_name=""): self.padre = nombre_padre; def set_madre(self,madre_nombre=""): yo.madre = nombre_madre; add_active = Verdadero; perros = [] #Lo que se agrega a la lista es la dirección. Ponerla aquí provocará un error lógico. #temp_dog = ChuanChuan(); mientras add_active == Verdadero: temp_dog = ChuanChuan(); temp_dog.set_name(input("Ingrese el nombre de su perro: ")); temp_dog.set_age(int(input("Ingrese la edad de su perro: "))); temp_dog.set_father(input("Ingrese el padre de su perro: ")); temp_dog.set_mother(input("Ingrese la madre de su perro: ")); perros.append(temp_dog); if "no" == input("¿Quieres agregar otro perro? "): add_active = Falso; demás: imprimir(' '); para i en perros: print(f"nombre:{i.nombre} edad:{i.edad} padre:{i.padre} madre:{i.madre}");
Cargando y usando clases en módulos
Usar alias
desde nombre_archivo importar nombre_clase como alias
importar
formulario nombre_archivo importar nombre_clase
importar nombre_archivo
desde la importación de nombre_archivo *
10-Documentos y excepciones
Leer datos del archivo
con open("file_name.tail") como file_object: contenido = archivo_objeto.read()
con
Cerrar archivos cuando ya no se acceda a ellos
abierto()
abrir archivo
Antes de imprimir, leer o cualquier otro paso para manipular un archivo, primero debe abrir el archivo.
.cerca()
cerrar archivo
file_obj = open("prueba.py"); contenido = file_obj.read(); print(contenido.rstrip()); file_obj.close();
Leer texto completo
con open("test_module.py") como test_file: contenido = test_file.read(); print(contenido.rstrip()); test_file.close();
leer línea por línea
líneas = []; con open("test_module.py") como test_file: para l en test_file: líneas.append(l); imprimir(l);
FILE_NAME = "prueba.py"; con open(FILE_NAME) como test_file: líneas = test_file.readlines(); para l en líneas: código_completo = l.rstrip(); imprimir(código_completo);
escribir archivo
modo abierto()
'r'
modo lectura
Abrir en modo de solo lectura de forma predeterminada
'w'
modo de escritura
Si se encuentra un archivo con el mismo nombre, se borrará el archivo original.
'a'
modo adicional
Si el archivo existe, agréguelo al final del archivo. Si no existe, cree un archivo nuevo.
'r'
Modo lectura y escritura
SRC_FILE = "prueba.py" DEST_FILE = "prueba.txt" con open(SRC_FILE) como archivo_fuente: con open(DEST_FILE,'w') como destino_file: destino_file.write(source_file.read());
procesamiento de texto
.dividir()
Dividir texto en palabras
.count("palabra clave")
Cuente el número de veces que aparece la palabra clave en el texto.
Manejo de excepciones
intentar: acción(); excepto información de error: trato_con_errpr(); demás: ir_en_sin_error();
tipo de error
Error de división cero
Error de archivo no encontrado
falla silenciosamente
intentar: acción(); excepto información de error: aprobar; demás: ir_en_sin_error();
#-*- codificación: UTF-8 -*- def count_word(*nombre_archivo): núm_palabra = []; para f en nombre_archivo: tmp_txt = ""; intentar: con open(f,'r',encoding='utf-8') como cur_file: tmp_text = cur_file.read(); excepto FileNotFoundError: print(f"Lo sentimos, el archivo {f} no existe."); número_palabra.append(-1); aprobar demás: word_num.append(len(tmp_text.split())); devolver núm_palabra; palabra_en_archivo = count_word("test.py","copy_list.py","test.text","test_module.py","non.file"); imprimir(palabra_en_archivo);
almacenar datos
JSON
.vertedero()
.carga()
importar json nombre_archivo = "configuración.json" información_usuario = {}; user_info["nombre"] = input("ingrese su nombre "); user_info["edad"] = int(input("ingrese su edad ")); user_info["teléfono"] = input("ingrese su teléfono "); intentar: con open(file_name,'w') como f: para i en user_info.values(): json.dump(i,f); excepto FileNotFoundError: aprobar
refactorización de código
11-Código de prueba
Pruebas unitarias
Comportamientos importantes para su código
Pruebas de cobertura total
Considere nuevamente cuándo el proyecto se usa ampliamente.
prueba unitaria
importar prueba unitaria def get_formatted_name(primero,apellido): return (primero '' último).título(); clase NombreTestCase(unittest.TestCase): '''Funcionalidad de la función de prueba''' def prueba_primer_apellido(yo): format_name = get_formatted_name("yasin","jue"); self.assertEqual(nombre_formato,"Yasin Jue"); si __nombre__ == "__principal__": prueba unitaria.main();
__name__ es una variable predeterminada incorporada. La prueba solo se ejecutará cuando este archivo sea el archivo principal.
Los métodos de prueba deben nombrarse en el formato test_
Todos los métodos se ejecutarán automáticamente, no es necesario llamarlos manualmente
método de afirmación
.assertEqual()
igual
.assertNotEqual()
no esperes
.assertTrue()
es verdad
.assertFalse()
es falso
.assertIn()
en la lista
.assertNotIn()
no en la lista
clase de prueba
importar prueba unitaria encuesta de clase: def __init__(self,nombre="",preguntas=""): self.nombre = nombre; self.questions = preguntas; auto.respuestas = []; def get_usr_name(self): self.name = input("¿Cuál es tu nombre? "); def store_response(self,new_resp=""): self.response.append(new_resp); def inicio_encuesta(yo): para q en autopreguntas: respuesta = entrada(q ' '); self.store_response(respuesta); def mostrar_resultado(yo): para q,w en autopreguntas,autorespuestas: print(f"Pregunta:{q}\tRespuesta:{w} "); clase TestSurveyClass (unittest.TestCase): def test_get_usr_name(self): usr_name = "pony de prueba"; pony = Encuesta(usr_name,"prueba"); self.assertTrue(pony.name == "pony de prueba"); def test_call_pony_again(yo): self.assertEqual(pony.questions,"prueba"); prueba unitaria.main();
.configuración()
Cree un conjunto de ejemplos y resultados para facilitar las pruebas.
clase TestSurveyClass (unittest.TestCase): configuración def(yo): usr_name = "pony de prueba"; self.pony = Encuesta(usr_name,"prueba"); def test_get_usr_name(self): self.assertTrue(self.pony.name == "pony de prueba"); def test_call_pony_again(yo): self.assertEqual(self.pony.questions,"prueba"); prueba unitaria.main();
Funciones y métodos
Un método es una función adjunta a un objeto.
Una función es una expresión que tiene entradas y salidas.
Los métodos son operaciones sobre objetos.
Práctica del proyecto Python
Invasión alienígena
tema
tema