Latest web development tutorials

función python3

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.


Definir una función

Se puede definir una función desde la función que desea, las siguientes reglas:

  • El bloque de función de palabras clavedef en el principio, seguido por el nombre de la función y los identificadores entre paréntesis ().
  • Cualquiera de los parámetros de entrada y los argumentos deben ser colocados entre paréntesis en el medio, que se pueden utilizar para definir los parámetros entre paréntesis.
  • La primera línea de la sentencia de función se puede utilizar opcionalmente un documento de cadena - se utilizan para la descripción de la función.
  • contenido de la función a partir de dos puntos y sangría.
  • volver final [expresión] de la función, opcionalmente devolver un valor a la persona que llama. regresar sin una expresión equivalente a volver Ninguno.

gramática

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.

Ejemplos

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

llamada a la función

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:

我要调用用户自定义函数!
再次调用同一函数

Los parámetros pasados ​​por los parámetros de valor y de paso por referencia

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]]

parámetros

El siguiente es el tipo de parámetro formal puede ser utilizado cuando se llama a la función:

  • parámetros necesarios
  • argumentos de palabra clave
  • Los parámetros por defecto
  • parámetros de longitud variable

parámetros necesarios

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 de palabra clave

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

Los parámetros por defecto

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

parámetros de longitud variable

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

función anónima

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.

  • Sólo una expresión lambda, el cuerpo de la función es mucho más simple que def.
  • El cuerpo es una expresión lambda, en lugar de un bloque de código. Sólo podemos empaquetar una lógica limitada en la expresión lambda.
  • función lambda tiene su propio espacio de nombres, y no se puede acceder fuera de su propia lista de argumentos o de los parámetros globales de espacio de nombres.
  • Aunque la función lambda sólo se ve escribir una sola línea, pero no es el mismo que las funciones en línea en C o C ++, el último propósito no está ocupada cuando se llama a la función de memoria pequeña pila para aumentar la eficiencia operativa.

gramática

sintaxis de la función Lambda contiene sólo una declaración, como sigue:

lambda [arg1 [,arg2,.....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

sentencia return

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

Mira variable

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.

Ámbito de una variable determina qué parte del programa en la que se puede acceder a un nombre de variable en particular. Dos ámbito de las variables básicas de la siguiente manera:

  • Las variables globales
  • Las variables locales

Las variables globales y locales

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