Instrutor: Olá e seja bem vindo de volta.
Neste vídeo estamos falando de tudo e de todos.
Essas são duas funções que são realmente diretas, mas
em alguns casos podem ser realmente úteis.
A função any leva uma iterável e retorna true se
algum de seus elementos for avaliado como true.
E a função all retorna true
se todos os elementos forem avaliados como true.
Então aqui está um exemplo de quando pode ser útil.
Imagine que você tenha essa lista de locais de amigos.
É uma lista de dicionários onde cada
dicionário tem o nome do seu amigo e a localização do amigo.
Em seguida, perguntamos ao usuário por sua localização.
E então vamos calcular quais amigos
estão nesse local.
Tão pouco de compreensão de lista mais longa lá.
Basta entrar no amigo para cada um
dos amigos em amigos, se a localização deles for
igual à sua variável de local que os usuários inseriram.
Então imagine que eles entram em São Francisco.
Nós vamos colocar o objeto amigo.
Desculpe este dicionário, para cada um dos amigos se
eles estiverem em São Francisco.
Agora poderíamos dizer, algo como, se len (friends_nearby)> 0:
isso significa que
há pelo menos um amigo, imprima
você não está sozinho.
Eu só vou para isso, então é um pouco mais legível para você.
No entanto, isso não
é muito bom, porque o que queremos fazer é que não nos importamos
com o comprimento, o que
nos importa é se há algum amigo.
Então aqui é onde os amigos chegam a calhar.
Se algum amigo próximo imprimir você não está sozinho.
O que isto está fazendo,
está indo sobre cada um dos elementos em
amigos próximos e está verificando se eles são verdadeiros.
Agora é um valor verdadeiro, observe
como essas coisas não
são booleanas, elas são dicionários.
Um valor geral é aquele que é avaliado como verdadeiro.
Então, aqui estão alguns valores que são avaliados como falsos.
Só porque não há
muitos, e é sempre bom conhecê-los.
Zero é avaliado como falso quando você tenta
extrair um booleano.
Então, não é claro.
Então faça lista vazia, tupla vazia, conjuntos vazios.
Faz falso, e é claro zero ponto zero
e todos esses números que são zero, são avaliados
como falsos.
Você pode se algo é avaliado como verdadeiro
ou falso fazendo bool de zero.
Então, podemos executar isso e podemos entrar em São Francisco.
Note como você não está sozinho em primeiro lugar.
E então também
diz, falso porque bool de zero é falso.
Então é isso que qualquer função faz.
Ele passa por cada elemento e
pergunta se eles eram booleanos, seriam verdadeiros ou falsos?
Se algum deles diz a
verdade, então diz, ok, isso é verdade, você não está sozinho.
Você também pode dizer todos os amigos próximos.
Mas, novamente, a função de amigos próximos
vai conter zero amigos ou um ou mais amigos, então
tudo não faz muito
sentido porque
todos os seus amigos serão dicionários.
Então, se um deles for verdadeiro, todos eles serão verdadeiros, porque todos
serão dicionários, e os
dicionários serão
sempre verdadeiros, a menos que estejam vazios.
Qualquer um retornaria verdadeiro se houvesse pelo menos um.
Ou false se vazio, então
é uma função muito útil neste caso.
OK.
Agora deixe-me apagar isso.
E, claro, tudo seria impresso, por exemplo, todos de
um, dois, três, quatro, cinco.
Estes irão imprimir true.
Então, vou executar isso, digo São
Francisco, e agora percebo como isso
é verdade aqui porque um,
dois, três, quatro, cinco são todos verdadeiros.
Mas assim que colocamos um zero lá e o rodamos
novamente, agora ficamos falsos porque nem todas essas coisas são verdadeiras, uma
delas é falsa e esse é o zero.
Por isso, pode ser útil em algumas circunstâncias.
Eu só queria que você soubesse
sobre essa função apenas no caso de você
encontrar uma situação em que precise usá-la.
Isto é novamente, de mim, dando-lhe algumas ferramentas para
você usar em seu projeto de construção.
Você pode não precisar de todos eles para um projeto em particular, mas
eles podem ser úteis para outros projetos.
E essas funções são
essencialmente aquelas ferramentas um pouco mais obscuras
que muitas pessoas
não conhecem, mas ainda são úteis
para saber e entender que elas existem.
Então é isso para
este vídeo, e eu vejo você no próximo.