O melhor tutorial função Python em 2024. Neste tutorial você pode aprender Definir uma função,chamada de função,Parâmetros passados por parâmetros de valor e passar por referência,parâmetros,função anônima,instrução de retorno,Âmbito variável,variáveis globais e locais,
Função é uma boa organização, reutilizável, usada para atingir um segmento de código único, ou funções associadas.
A função pode ser aplicada para melhorar a modularidade e reutilização de código. Você já sabe que Python oferece muitas funções internas, como print (). Mas você também pode criar sua própria função, que é chamado de uma função definida pelo usuário.
Você pode definir uma função a partir da função que você quer, as seguintes regras simples:
def functionname( parameters ): "函数_文档字符串" function_suite return [expression]
Por padrão, o nome do parâmetro e parâmetro de valor é na ordem definida na declaração da função combina.
O que se segue é uma função simples em Python, passando uma string como um parâmetro, em seguida, imprimir para o dispositivo de exibição padrão.
def printme( str ): "打印传入的字符串到标准显示设备上" print str return
Definir uma função apenas para um nome de função, especifique os parâmetros e estrutura de bloco de código contém a função.
Após a conclusão da estrutura básica desta função, é possível realizar outra chamada de função a ser executada diretamente a partir do prompt do Python.
Os exemplos seguintes são chamados função printme ():
#!/usr/bin/python # -*- coding: UTF-8 -*- # 定义函数 def printme( str ): "打印任何传入的字符串" print str; return; # 调用函数 printme("我要调用用户自定义函数!"); printme("再次调用同一函数");
Exemplos de saída acima:
我要调用用户自定义函数! 再次调用同一函数
Todos os parâmetros (argumentos) em Python são passados por referência. Se você alterar um parâmetro em uma função, então esta função é chamada de função, os parâmetros originais também são alteradas. Por exemplo:
#!/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
E passou para a função do objeto no final para adicionar novos conteúdos usando a mesma referência. Assim, os resultados da saída são os seguintes:
函数内取值: [10, 20, 30, [1, 2, 3, 4]] 函数外取值: [10, 20, 30, [1, 2, 3, 4]]
O que se segue é o tipo de parâmetro formal pode ser usado ao chamar a função:
parâmetro obrigatório para ser passado para a função na ordem correta. Quando o número de chamadas e deve ser a mesma declaração.
printme Call () função, você deve passar em um parâmetro ou erro de sintaxe irá ocorrer:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printme( str ): "打印任何传入的字符串" print str; return; #调用printme函数 printme();
Exemplos de saída acima:
Traceback (most recent call last): File "test.py", line 11, in <module> printme(); TypeError: printme() takes exactly 1 argument (0 given)
argumentos e função de palavra-chave chama uma chamada de função relacionamento próximo usando argumentos para determinar o valor do parâmetro passado.
Ao usar a palavra-chave do parâmetro permite que o parâmetro de função ordem de chamada é inconsistente com a afirmação, porque interpretador Python capaz de combinar os valores dos parâmetros usando o nome do parâmetro.
O exemplo a seguir printme function () é chamado com o nome do parâmetro:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printme( str ): "打印任何传入的字符串" print str; return; #调用printme函数 printme( str = "My string");
Exemplos de saída acima:
My string
O exemplo a seguir pode encomendar argumento de palavra-chave não é importante demonstração mais clara:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printinfo( name, age ): "打印任何传入的字符串" print "Name: ", name; print "Age ", age; return; #调用printinfo函数 printinfo( age=50, name="miki" );
Exemplos de saída acima:
Name: miki Age 50
Quando a função é chamado, o valor padrão se o parâmetro não for passado, o valor padrão é considerado. Por padrão imprimir reunião regular de idade, se a idade não é passado:
#!/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" );
Exemplos de saída acima:
Name: miki Age 50 Name: miki Age 35
Você pode precisar de uma função que pode lidar com mais do que o original da declaração de parâmetros. Estes parâmetros são chamados os parâmetros de comprimento variável, e os dois tipos de parâmetros são diferentes, não nomear declaração. A sintaxe básica é a seguinte:
def functionname([formal_args,] *var_args_tuple ): "函数_文档字符串" function_suite return [expression]
Com um asterisco (*) serão armazenados em nomes de variáveis todos os parâmetros variáveis sem nome. parâmetros de passagem pode ser pouca escolha. Os exemplos que se seguem:
#!/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 );
Exemplos de saída acima:
输出: 10 输出: 70 60 50
python usando lambda para criar uma função anônima.
Lambda sintaxe da função contém apenas uma instrução, como segue:
lambda [arg1 [,arg2,ptpt.argn]]:expression
Os exemplos que se seguem:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 可写函数说明 sum = lambda arg1, arg2: arg1 + arg2; # 调用sum函数 print "相加后的值为 : ", sum( 10, 20 ) print "相加后的值为 : ", sum( 20, 20 )
Exemplos de saída acima:
相加后的值为 : 30 相加后的值为 : 40
Instrução de retorno [expressão] para sair da função seletivamente para o chamador retorna uma expressão. instrução de retorno sem parâmetros retorna Nenhum. Não há exemplos anteriores demonstram como retornar um valor, o exemplo a seguir irá mostrar-lhe como fazê-lo:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 可写函数说明 def sum( arg1, arg2 ): # 返回2个参数的和." total = arg1 + arg2 print "函数内 : ", total return total; # 调用sum函数 total = sum( 10, 20 );
Exemplos de saída acima:
函数内 : 30
Todas as variáveis em um programa que não é uma posição que pode ser acessado. O acesso depende de onde a variável é atribuído.
A definição da função de variáveis internas têm um alcance local, tal como definido na função exterior tem escopo global.
As variáveis locais só pode ser declarada dentro de uma função de seu acesso a variáveis globais pode ser acessado em todos os processos. Quando você chamar uma função, todos os nomes de variáveis em declarações de função será adicionada ao escopo. Os exemplos que se seguem:
#!/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
Exemplos de saída acima:
函数内是局部变量 : 30 函数外是全局变量 : 0