El mejor tutorial de función python3 en 2024. En este tutorial podrás aprender Definir una función,llamada a la función,Los parámetros pasados por los parámetros de valor y de paso por referencia,parámetros,función anónima,sentencia return,Mira variable,Las variables globales y locales,
La función es una buena organización, reutilizable, que se utiliza para lograr un segmento de código único, o funciones asociadas.
La función se puede aplicar para mejorar la modularidad y la reutilización de código. Usted ya sabe que Python proporciona muchas funciones integradas, tales como impresión (). Pero también se puede crear su propia función, que se llama una función definida por el usuario.
Se puede definir una función desde la función que desea, las siguientes reglas:
Las funciones de Python definidas usando la palabra clave def, el formato general es el siguiente:
def 函数名(参数列表): 函数体
Por defecto, el nombre de parámetro y su valor está en el orden definido en la declaración de la función coincide.
Vamos a usar la función de salida de "Hello World!":
>>> def hello() : print("Hello World!") >>> hello() Hello World! >>>
Aplicación del punto más complejo, para traer las variables de parámetros de función:
#!/usr/bin/python3 # 计算面积函数 def area(width, height): return width * height def print_welcome(name): print("Welcome", name) print_welcome("w3big") w = 4 h = 5 print("width =", w, " height =", h, " area =", area(w, h))
Los ejemplos de la salida anterior:
Welcome w3big width = 4 height = 5 area = 20
Definir una función: dar la función de un nombre, especifique los parámetros de la función contiene, y la estructura de bloque de código.
Después de la terminación de la estructura básica de esta función, se puede realizar otra llamada a la función de ser ejecutado directamente desde la línea de comandos de Python.
Los siguientes ejemplos se denominan función PrintMe ():
#!/usr/bin/python3 # 定义函数 def printme( str ): "打印任何传入的字符串" print (str); return; # 调用函数 printme("我要调用用户自定义函数!"); printme("再次调用同一函数");
Los ejemplos de la salida anterior:
我要调用用户自定义函数! 再次调用同一函数
En Python, todos los parámetros (variables) se pasan por referencia. Si cambia un parámetro en una función, esta función se llama función, también se cambian los parámetros originales. Por ejemplo:
#!/usr/bin/python3 # 可写函数说明 def changeme( mylist ): "修改传入的列表" mylist.append([1,2,3,4]); print ("函数内取值: ", mylist) return # 调用changeme函数 mylist = [10,20,30]; changeme( mylist ); print ("函数外取值: ", mylist)
Y pasado a la función del objeto al final de añadir nuevo contenido utilizando la misma referencia. Así los resultados de salida son los siguientes:
函数内取值: [10, 20, 30, [1, 2, 3, 4]] 函数外取值: [10, 20, 30, [1, 2, 3, 4]]
El siguiente es el tipo de parámetro formal puede ser utilizado cuando se llama a la función:
parámetros necesarios en el orden correcto para ser pasados a la función. Cuando el número de llamadas y debe ser la misma declaración.
PrintMe función call (), que debe pasar en un parámetro, o se producirá un error de sintaxis:
#!/usr/bin/python3 #可写函数说明 def printme( str ): "打印任何传入的字符串" print (str); return; #调用printme函数 printme();
Los ejemplos de la salida anterior:
Traceback (most recent call last): File "test.py", line 10, in <module> printme(); TypeError: printme() missing 1 required positional argument: 'str'
argumentos y la función de palabras clave pide una estrecha relación llamada de función usando argumentos de palabra clave para determinar el valor del parámetro pasado.
Cuando se utiliza el parámetro de palabra clave permite que el parámetro de orden llamada a la función es incompatible con la declaración, porque Python intérprete capaz de igualar los valores de los parámetros utilizando el nombre del parámetro.
La función siguiente ejemplo PrintMe () se llama con el nombre de parámetro:
#!/usr/bin/python3 #可写函数说明 def printme( str ): "打印任何传入的字符串" print (str); return; #调用printme函数 printme( str = "本教程");
Los ejemplos de la salida anterior:
本教程
El siguiente ejemplo muestra el uso de parámetros de la función no es necesario para utilizar el orden especificado:
#!/usr/bin/python3 #可写函数说明 def printinfo( name, age ): "打印任何传入的字符串" print ("名字: ", name); print ("年龄: ", age); return; #调用printinfo函数 printinfo( age=50, name="w3big" );
Los ejemplos de la salida anterior:
名字: w3big 年龄: 50
Cuando la función es llamada, si el parámetro no se pasa, utilizará los parámetros por defecto. En el siguiente ejemplo, si ningún parámetro de la edad de entrada, el valor por defecto:
#!/usr/bin/python3 #可写函数说明 def printinfo( name, age = 35 ): "打印任何传入的字符串" print ("名字: ", name); print ("年龄: ", age); return; #调用printinfo函数 printinfo( age=50, name="w3big" ); print ("------------------------") printinfo( name="w3big" );
Los ejemplos de la salida anterior:
名字: w3big 年龄: 50 ------------------------ 名字: w3big 年龄: 35
Es posible que tenga una función que puede manejar más de la declaración original de parámetros. Estos parámetros se denominan los parámetros de longitud variable, y los dos tipos de parámetros son diferentes, no nombrar declaración. La sintaxis básica es la siguiente:
def functionname([formal_args,] *var_args_tuple ): "函数_文档字符串" function_suite return [expression]
Con un asterisco (*) se almacenarán en los nombres de variables todos los parámetros variables sin nombre. Si no hay ningún argumento cuando la función se llama, es una tupla vacía. No podemos pasar variables sin nombre a una función. Los siguientes ejemplos:
#!/usr/bin/python3 # 可写函数说明 def printinfo( arg1, *vartuple ): "打印任何传入的参数" print ("输出: ") print (arg1) for var in vartuple: print (var) return; # 调用printinfo 函数 printinfo( 10 ); printinfo( 70, 60, 50 );
Los ejemplos de la salida anterior:
输出: 10 输出: 70 60 50
Python usando lambda para crear una función anónima.
El llamado anónimo, lo que significa que ya no utilice esta declaración forma de definición estándar para definir una función.
sintaxis de la función Lambda contiene sólo una declaración, como sigue:
lambda [arg1 [,arg2,eses.argn]]:expression
Los siguientes ejemplos:
#!/usr/bin/python3 # 可写函数说明 sum = lambda arg1, arg2: arg1 + arg2; # 调用sum函数 print ("相加后的值为 : ", sum( 10, 20 )) print ("相加后的值为 : ", sum( 20, 20 ))
Los ejemplos de la salida anterior:
相加后的值为 : 30 相加后的值为 : 40
volver [expresión] sentencia se utiliza para salir de la función, de forma selectiva a la persona que llama devuelve una expresión.sentencia return sin parámetros devuelve None. No hay ejemplos anteriores demuestran cómo devolver un valor, el siguiente ejemplo muestra el uso de la instrucción de retorno:
#!/usr/bin/python3 # 可写函数说明 def sum( arg1, arg2 ): # 返回2个参数的和." total = arg1 + arg2 print ("函数内 : ", total) return total; # 调用sum函数 total = sum( 10, 20 ); print ("函数外 : ", total)
Los ejemplos de la salida anterior:
函数内 : 30 函数外 : 30
Pyhton, la variable no es la posición en la que el programa puede acceder, el acceso depende del lugar donde se asigna la variable.
La definición de la función de las variables internas tener un alcance local, tal como se define en la función externa tiene un alcance global.
Las variables locales sólo pueden ser declaradas dentro de una función de su acceso a las variables globales se puede acceder a través de los procedimientos. Cuando se llama a una función, todos los nombres de variables en la declaración de funciones se añadirán al alcance. Los siguientes ejemplos:
#!/usr/bin/python3 total = 0; # 这是一个全局变量 # 可写函数说明 def sum( arg1, arg2 ): #返回2个参数的和." total = arg1 + arg2; # total在这里是局部变量. print ("函数内是局部变量 : ", total) return total; #调用sum函数 sum( 10, 20 ); print ("函数外是全局变量 : ", total)
Los ejemplos de la salida anterior:
函数内是局部变量 : 30 函数外是全局变量 : 0