Python: Funções - Avançado
Exemplos
#!/usr/bin/python
# Multiplos elementos
def add_sub(x,y):
r1 = x + y
r2 = x - y
return r1, r2
p1, p2 = add_sub(5,6)
print (p1, p2)
# Posição e valor default
def pessoa(nome, idade=18):
print(nome,idade)
pessoa('Enio',40)
pessoa(idade=30, nome='Enio')
pessoa('Enio')
# Tuplas como argumento
def sum(*elems):
print()
print('sum')
print(type(elems))
r = 0;
for e in elems:
r = r + e
print(r)
sum(2,4,8,16)
# Keyword variable arguments
def person2(name, *data):
print()
print('person2')
print(name)
print(data)
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 <class 'tuple'> 30
person2 Fulano (25, 'Silva', '555-5555')
person3 Fulano idade 25 sobrenome Silva fone 555-5555