La llamada función es organizar bloques de código con funciones independientes en un pequeño módulo, que se llama cuando es necesario
Mucha gente aprende Python y no sabe por dónde empezar.
Muchas personas aprenden Python, después de dominar la gramática básica, no saben dónde encontrar casos para comenzar.
Muchas personas que han realizado estudios de casos no saben cómo adquirir conocimientos más avanzados.
Entonces, para estos tres tipos de personas, les proporcionaré una buena plataforma de aprendizaje, ¡gratis para recibir tutoriales en video, libros electrónicos y código fuente del curso!
Grupo QQ: 1097524789
El uso de la función implica dos pasos:
Definir funciones independientes encapsuladas
Función de llamada: disfrute de los resultados de la encapsulación
La función de la función, al desarrollar el programa, el uso de la función puede mejorar la eficiencia de la escritura y la reutilización del código.
Pasos del tutorial
Nuevo proyecto 04_Function
Copiar el archivo de tabla de multiplicar anterior
Modifique el archivo y agregue la definición de función multiple_table ():
Cree otro archivo, use la importación para importar y llame a la función
1
Uso básico de funciones
Definición de función
El formato de la función definida es el siguiente:
def nombre de la función ():
函数封装的代码
……
def es la abreviatura de define en inglés
El nombre de la función debe poder expresar la función del código del paquete de funciones para facilitar las llamadas posteriores.
La denominación de los nombres de funciones debe ajustarse a las reglas de denominación de los identificadores.
Puede estar compuesto por letras, guiones bajos y números
No se puede empezar con un número
No puede tener el mismo nombre que la palabra clave
Llamada de función
Llamar a una función es muy simple, puede llamar a la función a través del nombre de la función ()
El primer tutorial de funciones
demanda
Escriba una función hello say_hello, encapsule tres líneas de código hello
Llame al código de saludo debajo de la función
Lo que todavía puedes escuchar bajo la lluvia torrencial, las cosas amargas que están haciendo los demás, tampoco significa que tengas que hacerlo.
nombre = "Komei"
El intérprete sabe que una función está definida aquí def say_hello (): print ("hola 1") print ("hola 2") print ("hola 3")
print (nombre) # Solo cuando se llame a la función, se ejecutará la función definida previamente. # Después de que se ejecute la función, volverá al programa anterior y continuará ejecutando el código posterior say_hello ()
print (nombre)
se ejecutará en un solo paso F8 y F7 observan el proceso de ejecución del siguiente código
Una vez definida la función, solo significa que la función encapsula un fragmento de código.
Si la función no se llama activamente, la función no se ejecutará activamente
Pensando
¿Se puede colocar la llamada a la función por encima de la definición de la función?
¡Hipocresía!
Porque antes de usar el nombre de la función para llamar a una función, debe asegurarse de que Python ya conozca la existencia de la función
De lo contrario, la consola solicitará NameError: name'say_hello 'no está definido (error de nombre: say_hello no está definido)
Herramienta de depuración de PyCharm
F8 Step Over puede ejecutar el código paso a paso y tratará la llamada a la función como una línea de código para ejecutar directamente
F7 Step Into puede ingresar al código, si es una función, ingresará a la función
Notas de documentación para funciones
Durante el desarrollo, si desea agregar un comentario a una función, debe usar tres pares consecutivos de comillas debajo de la función definida
Escribe una descripción de la función entre tres pares consecutivos de comillas.
En la posición de llamada de función, use la tecla de método abreviado CTRL + Q para ver la información de descripción de la función
Nota: Debido a que el cuerpo de la función es relativamente independiente, debe haber dos líneas en blanco sobre la definición de la función y otro código (incluidos los comentarios).
2
Parámetros de función
Necesidades de ensayo
Desarrollar una función de sum_2_num
La función puede realizar la función de suma de dos números
El código del ejercicio es el siguiente:
def sum_2_num ():
num1 = 10 num2 = 20 result = num1 + num2
print ("% d +% d =% d"% (num1, num2, result))
sum_2_num ()
Piensa en el problema
La función solo puede manejar la suma de valores fijos
¿Cómo resolver?
¡Sería genial si el número a calcular se pudiera pasar a la función al llamar a la función!
Uso de parámetros de función
Complete los parámetros dentro del paréntesis después del nombre de la función
Utilizar entre varios parámetros, separados
: DEF sum_2_num (num1, num2)
Result = + num1 num2
Print ("% D% + D = D%"% (num1, num2, Result))
(50, 20 is)
parámetro de acción sum_2_num
Función, que organiza bloques de código con funciones independientes en un pequeño módulo, que se llama cuando es necesario
Los parámetros de la función aumentan la versatilidad de la función y pueden adaptarse a más datos para la misma lógica de procesamiento de datos
Dentro de la función, use los parámetros como variables para realizar el procesamiento de datos requerido
Cuando se llama a la función, de acuerdo con el orden de parámetros definido por la función, pase los datos que desea procesar dentro de la función a través de parámetros
Parámetros formales y reales
Parámetros formales: al definir una función, los parámetros entre paréntesis se utilizan para recibir parámetros y se utilizan como variables dentro de la función
Parámetros reales: al llamar a una función, los parámetros entre paréntesis se utilizan para pasar datos a la función
3
El valor de retorno de la función
En el desarrollo del programa, a veces, desea decirle a la persona que llama un resultado después de que se ejecuta una función, para que la persona que llama pueda hacer un procesamiento de seguimiento para el resultado específico
El valor de retorno es el resultado final que se le da a la persona que llama después de que la función ha completado su trabajo.
Use la palabra clave return en la función para devolver el resultado
La parte que llama a la función puede usar variables para recibir el resultado de retorno de la función
Nota: retorno significa retorno, el código subsiguiente no se ejecutará
def sum_2_num (num1, num2): "" "Suma de dos números" ""
return num1 + num2
Llame a la función y use la variable de resultado para recibir el resultado del cálculo result = sum_2_num (10, 20)
print ("El resultado del cálculo es% d"% resultado)
4
Llamada a función anidada
Una función se llama otra función, esta es la función llamada anidada
Si en la función test2, se llama a otra función test1
Luego, cuando se llama a la función test1, las tareas de la función test1 se ejecutarán primero
Volverá a la ubicación donde se llama a la función test1 en test2 y continuará ejecutando el código posterior
def prueba1 ():
imprimir (" " * 50) imprimir ("prueba 1") imprimir (" " * 50)
def test2 ():
print ("-" * 50) print ("test 2")
test1 ()
print ("-" * 50)
test2 ()
función anidamiento recorrido-imprimir línea divisoria
Experimente las necesidades cambiantes en el trabajo
Demanda 1
Defina una función print_line para imprimir una línea divisoria compuesta por *
def print_line (char):
print ("*" * 50)
demanda 2
Definir una función para imprimir una línea de separación compuesta por caracteres arbitrarios
def print_line (char):
print (char * 50)
requisito 3
Definir una función que pueda imprimir cualquier número de divisores repetidos
def print_line (char, times): print (char * times)
Demanda 4
Defina una función que pueda imprimir un divisor de 5 líneas, y el divisor debe cumplir con los requisitos 3
Recordatorio: debe pensar con calma en los cambios en los requisitos durante el trabajo y no modificar fácilmente las funciones que se han completado antes y que se pueden ejecutar normalmente.
def print_line (carácter, tiempos):
print(char * times)
def print_lines (carácter, tiempos):
row = 0
while row < 5:
print_line(char, times)
row += 1
5
Usar funciones en módulos
El módulo es un concepto central de la arquitectura del programa Python
Un módulo es como un conjunto de herramientas. Si desea utilizar las herramientas de este conjunto de herramientas, debe importar el módulo de importación
Cada archivo de código fuente de Python que termina con la extensión py es un módulo
Las variables y funciones globales definidas en el módulo son herramientas que el módulo puede proporcionar al mundo exterior para uso directo.
La experiencia del primer módulo
paso
Nuevo módulo divisor hm_10_.py
Copie el contenido en hm_09_print multiple dividers.py, excepto la última línea del código de impresión
Agregar una variable de cadena
name = "Soy una pequeña prueba"
Cree un nuevo archivo hm_10_experience module.py y escriba el siguiente código:
import hm_10_divider module
hm_10_divider module.print_line ("-", 80) print (hm_10_divider module.name)
Resumen de la experiencia
Puede definir variables o funciones en un archivo de Python
Luego use la importación en otro archivo para importar este módulo
Después de la importación, puede usar el nombre del módulo, la variable / nombre del módulo, la función y usar la variable o función definida en este módulo
Los módulos permiten que el código una vez escrito se reutilice fácilmente.
El nombre del módulo también es un identificador
Los identificadores pueden constar de letras, guiones bajos y números
No se puede empezar con un número
No puede tener el mismo nombre que la palabra clave
Nota: Si comienza con un número al nombrar un archivo de Python, no puede importar este módulo en PyCharm
Archivo Pyc (entender)
C significa compilado
Pasos
Al navegar por el directorio del programa, encontrará un directorio de pycache
Habrá un archivo hm_10_separator module.cpython-35.pyc en el directorio, cpython-35 representa la versión del intérprete de Python
El intérprete de Python convierte este archivo pyc en código de bytes.
Python guarda el código de bytes de esta manera como una optimización de la velocidad de inicio
Bytecode
Python se divide en dos pasos al interpretar el programa fuente
Primero procese el código fuente, compile y genere un bytecode binario
Después de procesar el bytecode, se generará el código de máquina que la CPU puede reconocer
Después de tener el archivo de código de bytes del módulo, la próxima vez que se ejecute el programa, si el código fuente no se ha modificado después de que el código de bytes se guardó la última vez, Python cargará el archivo .pyc y omitirá el paso de compilación.
Cuando se vuelve a compilar Python, comprobará automáticamente la marca de tiempo del archivo de origen y el archivo de código de bytes
Si vuelve a modificar el código fuente, el código de bytes se volverá a crear automáticamente la próxima vez que se ejecute el programa.