Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
funções
3) Para alterar uma variavel global dentro de uma função, deve utilizar o comando
"global <nome-da-variavel>
EX: s = 0
def soma(a,b):
"""função que soma 'a' e 'b'"""
global s
s += a + b
return s
print(soma(1,1))
print(soma.__doc__) #propriedade para mostrar a Docstring de uma função
5) *args
É um parametro como qualquer outro, a unica coisa que difere é o '*' no começo,
que tem a funcionalidade
de empacotar todos os argumentos passados para a função em uma tupla
O mesmo vale para desempacotar, por exemplo, caso queiramos passar os elementos
da lista [1,2,3,4,5] para
a função, se simplesmente chamarmos soma(lista) vai dar errado, porque ira
passar a lista de elementos
como primeiro arg da tupla, que ficaria assim soma([1,2,3,4,5],); portanto para
corrigirmos isso, é necessario
fazer o desempacotamento, que é tirar os elementos da lista e passar um a um
para a função, que ficaria assim
soma(*lista) ===> soma(1,2,3,4,5)
desempacotamento é uma coisa muito util para facilitar a vida, por exemplo,
para printar uma lista em uma
unica linha, numero por numero, basta fazer isso: --print(*lista) ; ao invez
disso --for i in lista:
print(i,end=' ')
uma maneira de trabalhar com *args é utilizando um for, por exemplo:
lista = [1,2,3,4,5,6,7]
def soma(*numeros):
s = 0
for i in numeros:
s += i
return s
print(soma(*lista))
para uma função soma, por exemplo, é muito melhor utilizar o *argumento, pois
podemos somar a quantidade
de numeros q desejarmos sem restrições
6) **kwargs
Mesma coisa de *args, porém para dicionarios, ou seja, chave e valor (keyword
arguments), ou seja, voce criar
o nome da variavel e o valor na hora, e esse nome e valor são passados para um
dicionario
exemplo::
dic = {
'antonio':67,'carlos':90,'julia':23,'andre':32
}
def velho_e_novo(**kwargs):
k = max(kwargs.values())
n = min(kwargs.values())
for pessoa, idade in kwargs.items():
if idade == k:
print(f'o mais velho é o {pessoa} com {idade} anos')
if idade == n:
print(f'o mais novo é {pessia} com {idade} anos'}
velho_e_novo(**dic)
velho_e_novo(carla=12,jose=43,kuduro=420,sexo=69)