Python: Funções - Avançado

Exemplos

 * 1) !/usr/bin/python

def add_sub(x,y): r1 = x + y   r2 = x - y    return r1, r2
 * 1) Multiplos elementos

p1, p2 = add_sub(5,6) print (p1, p2)

def pessoa(nome, idade=18): print(nome,idade)
 * 1) Posição e valor default

pessoa('Enio',40) pessoa(idade=30, nome='Enio') pessoa('Enio')

def sum(*elems): print print('sum') print(type(elems)) r = 0; for e in elems: r = r + e   print(r)
 * 1) Tuplas como argumento

sum(2,4,8,16)

def person2(name, *data): print print('person2') print(name) print(data)
 * 1) Keyword variable arguments

person2('Fulano', 25, 'Silva', '555-5555')

def person3(nome, **data): print print('person3') print(nome) for k,v in data.items: print(k,v)

person3(nome='Fulano', idade=25, sobrenome='Silva', fone='555-5555')

Resultado:

11 -1 Enio 40 Enio 30 Enio 18

sum  30

person2 Fulano (25, 'Silva', '555-5555')

person3 Fulano idade 25 sobrenome Silva fone 555-5555