1. Función
Una función es un bloque de código que sólo se ejecuta cuando se llama. Puede pasar datos (llamados parámetros) a funciones.
Las funciones pueden devolver datos como resultados.
Crear función
En Python, def
las funciones se definen mediante palabras clave:
#在 Python 中,使用 def 关键字定义函数:
def my_function():
print("Hello from a function")
#调用
my_function()
#输出:Hello from a function
parámetro
La información se puede pasar a funciones como parámetros.
Los parámetros se especifican entre paréntesis después del nombre de la función. Puede agregar tantos parámetros como necesite, simplemente sepárelos con comas.
#参数
def my_function(fname):
print('您好' + fname )
my_function("小明")
#输出:您好小明
Valor de parámetro predeterminado
Si llamamos a la función sin parámetros, se utilizan los valores predeterminados:
#如果我们调用了不带参数的函数,则使用默认值:
def my_function(country = "China"):
print("I am from " + country)
my_function("India")
#输出:I am from India
my_function()
#输出:I am from China
Pasar parámetros como lista
Los argumentos que envíe a la función pueden ser de cualquier tipo de datos (cadena, número, lista, diccionario, etc.) y serán tratados como el mismo tipo de datos dentro de la función.
#函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型。
def my_function(food):
for x in food:
print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)
#输出:apple banana cherry
valor de retorno
Para hacer que una función devuelva un valor, use return
la declaración:
#如需使函数返回值,请使用 return 语句:
def my_function(x):
return 5 * x
print(my_function(4))
#输出:20
argumentos de palabras clave
También puede enviar parámetros usando la sintaxis clave = valor. El orden de los parámetros no importa.
#您还可以使用 key = value 语法发送参数。参数的顺序无关紧要。
def my_function(child3, child2, child1):
print("你好" + child3)
my_function(child1 = "小明", child2 = "小红", child3 = "小黑")
#输出:你好小黑
cualquier parámetro
Si no sabe cuántos parámetros se pasarán a su función, agregue * delante de los nombres de los parámetros de la definición de la función.
De esta manera, la función recibe una tupla de argumentos y puede acceder a los elementos en consecuencia:
#如果您不知道将传递给您的函数多少个参数,请在函数定义的参数名称前添加 *
def my_function(*kids):
print("你好 " + kids[2])
my_function("小明", "小红", "小黑")
#输出:你好 小黑
recursividad
Python también acepta la recursividad de funciones, lo que significa que una función definida puede llamarse a sí misma.
#Python 也接受函数递归,这意味着定义的函数能够调用自身。
def tri_recursion(k):
if(k>0):
result = k+tri_recursion(k-1)
print(result)
else:
result = 0
return result
tri_recursion(6)
#输出:1 3 6 10 15 21
Uso avanzado de funciones @call
#函数调用高级用法
def new_tips(argv):
def tips(func):
def nei(a, b):
print('start %s %s' % (argv, func.__name__))
func(a, b)
print('stop')
return nei
return tips
# 执行add函数时调用new_tips函数
@new_tips('add_module')
def add(a, b):
print(a + b)
print(add(4, 5))
#输出: start add_module add 9 stop None
Módulos de Python
Un módulo es un archivo que contiene un conjunto de funciones a las que desea hacer referencia en su aplicación.
Crear módulo
Para crear un módulo, simplemente guarde el código requerido en .py
un archivo con la extensión de archivo:
mymodule.py
Guarde el código en un archivo llamado :
#模块
def greeting(name):
print("Hello, " + name)
Usar módulos
Ahora podemos usar import
el módulo que acabamos de crear usando declaraciones:
#导入名为 mymodule 的模块,并调用 greeting 函数
import mymodule
mymodule.greeting("小明")
#输出:Hello, 小明
Si usa una función de un módulo, use la siguiente sintaxis:
nombre_módulo . nombre de la función
Variables en módulos
Los módulos pueden contener funciones como ya se describió, pero también pueden contener variables de varios tipos (matrices, diccionarios, objetos, etc.):
mymodule.py
Guarde el código en un archivo :
#模块中的变量
person1 = {
"姓名": "小明",
"年龄": 11,
"国家": "china"
}
Importe mymodule
el módulo nombrado y acceda al diccionario person1:
#导入名为 mymodule 的模块,并访问 person1 字典:
import mymodule
a = mymodule.person1["年龄"]
print(a)
#输出:11
Cambiar nombre del módulo
as
Puede crear alias utilizando palabras clave al importar un módulo :
#为 mymodule 创建别名 mx:
import mymodule as mx
a = mx.person1["姓名"]
print(a)
#输出:小明
Módulos incorporados
Hay varios módulos integrados en Python que puedes importar en cualquier momento.
#Python 中有几个内建模块,您可以随时导入。
import platform
x = platform.system()
print(x)
#输出:Windows
Usar la función dir()
Hay una función incorporada que enumera todos los nombres de funciones (o nombres de variables) en un módulo. dir()
función:
#列出属于 platform 模块的所有已定义名称
import platform
x = dir(platform)
print(x)
importar desde el módulo
Puede optar por importar piezas solo desde módulos utilizando la palabra clave from.
#从模块导入部件
from mymodule import person1
print(person1["年龄"])
#输出:11