Latest web development tutorials

función de Python

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 clave def en el principio, seguido por el nombre de la función y los identificadores entre paréntesis ().
  • Cualquiera de los parámetros y argumentos entrantes deben ser colocadas entre paréntesis en el medio. Se puede 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

def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

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

La siguiente es una simple función Python, pasándole una cadena como un parámetro, y luego imprimir en el dispositivo de visualización estándar.

def printme( str ):
   "打印传入的字符串到标准显示设备上"
   print str
   return

llamada a la función

Definir una función sólo de un nombre de función, especifique los parámetros y la estructura de bloque de código contiene la función.

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 Python.

Los siguientes ejemplos se denominan función PrintMe ():

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 定义函数
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

Todos los parámetros (argumentos) en Python 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/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
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ámetro obligatorio
  • argumentos de palabra clave
  • Los parámetros por defecto
  • parámetros de longitud variable

parámetro obligatorio

parámetro obligatorio que se pasa a la función en el orden correcto. 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/python
# -*- coding: UTF-8 -*-
 
#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;
 
#调用printme函数
printme();

Los ejemplos de la salida anterior:

Traceback (most recent call last):
  File "test.py", line 11, in <module>
    printme();
TypeError: printme() takes exactly 1 argument (0 given)

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/python
# -*- coding: UTF-8 -*-
 
#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;
 
#调用printme函数
printme( str = "My string");

Los ejemplos de la salida anterior:

My string

El siguiente ejemplo puede ordenar argumento de palabra clave no es importante muestra con mayor claridad:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
#可写函数说明
def printinfo( name, age ):
   "打印任何传入的字符串"
   print "Name: ", name;
   print "Age ", age;
   return;
 
#调用printinfo函数
printinfo( age=50, name="miki" );

Los ejemplos de la salida anterior:

Name:  miki
Age  50

Los parámetros por defecto

Cuando se invoca la función, el valor por defecto si el parámetro no se pasa, se considera el valor por defecto. Por defecto imprimir reunión ordinaria de edad, si la edad no se pasa:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
#可写函数说明
def printinfo( name, age = 35 ):
   "打印任何传入的字符串"
   print "Name: ", name;
   print "Age ", age;
   return;
 
#调用printinfo函数
printinfo( age=50, name="miki" );
printinfo( name="miki" );

Los ejemplos de la salida anterior:

Name:  miki
Age  50
Name:  miki
Age  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. pasar parámetros pueden ser otra opción. Los siguientes ejemplos:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
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.

  • 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/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
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

Declaración de retorno [expresión] para salir de la función selectiva de 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 le mostrará cómo hacerlo:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
def sum( arg1, arg2 ):
   # 返回2个参数的和."
   total = arg1 + arg2
   print "函数内 : ", total
   return total;
 
# 调用sum函数
total = sum( 10, 20 );

Los ejemplos de la salida anterior:

函数内 :  30

Mira variable

Todas las variables de un programa que no es una posición que se 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/python
# -*- coding: UTF-8 -*-

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