até o final desse curso você vai ter saído do zero na linguagem Python e vai ter construído esse aplicativo web aqui ele é um projeto web de análise de dados aonde a gente consegue explorar os 100 livros mais vendidos da Amazon observando preço data de publicação e todos os reviews de cada um desses livros e Python é a principal linguagem quando a gente tá falando de análise de dados no mundo e quem diz isso não sou eu esse relatório aqui fez uma compilação de mais de 1.8 milhões de vagas de profissionais que trabalham em diversos
Ramos de dados analistas cientistas de dados Engenheiros de dados Business intelligence e Python aparece como a ferramenta mais utilizada por todos eles então é por isso que eu decidi colocar no fim desse curso o projeto da área de dados mas é claro quando tu domina a linguagem Python uma infinidade de outras portas se abrem além da análise de dados Python pode ser utilizado para automação de tarefas como esse script que fizemos aqui em Python para gerar relatórios em PDF automaticamente baseado em arquivos em Excel ou esse chatbot consegue navegar no WhatsApp web ou esse outro
que entra automaticamente em portais de Notícias buscando por atualizações Python também pode ser utilizado paraa construção de sistemas web e dashboards esse aqui é um sistema que a gente desenvolveu para escritório de advocacia 100% com python esse outro aqui é um aplicativo que eu fiz para uso pessoal para comparar minha técnica de tênis com de jogadores profissionais esse personagem aqui 3D por exemplo sou eu esse outro é um aplicativo paraa gestão financeira pessoal as possibilidades são ilimitadas e esse aqui São só alguns dos projetos que a gente ensina n zimov Academy a construir utilizando só
Python Mas é claro saber desenvolver projetos assim requer um bom tempo de estudo e que você domine muito bem lógica de programação e uma série de bibliotecas da linguagem e o objetivo é que esse curso aqui seja o teu primeiro passo na linguagem eu tenho que ser sincero com vocês aprender uma ferramenta de programação não é uma tarefa tão fácil quanto aprender alguma ferramenta no code como por exemplo microsoft excel microsoft power bi em geral ferramentas como essas vão te trazer resultados mais rápidos com menos esforço Só que Em contrapartida é claro em algum momento
eles vão te limitar programar é o inverso a gente precisa se dedicar por mais tempo sem receber um resultado imediato porque a gente precisa não só costumar o nosso cérebro a pensar de maneira diferente como a gente precisa entender Quais são as ferramentas que a linguagem nos fornece para que a gente consiga conversar aqui com o computador e existem dois grandes benefícios se aprender a programar um direto e um direto o benefício direto É claro é que quando você domina uma linguagem de programação como Python pode atingir resultados muito maiores porque tá de fato trabalhando
com uma ferramenta mais poderosa se tu sabe programar em um ambiente onde as pessoas só utilizam ferramentas mais simples como Excel você vai se destacar e o benefício indireto que pode parecer até um pouco de exagero é que naturalmente quando tu aprende a programar tu precisa criar novas conexões cerebrais para conversar logicamente com o computador e esse processo é sim responsável por te deixar mais inteligente o teu QI vai aumentar nesse processo Porque é uma espécie de Treinamento pro cérebro e tu adquire uma capacidade única de resolver problemas então espero que vocês estejam tão animados
aqui como eu e vamos [Música] lá esse curso aqui vai ser diferente de todos os outros que tu já assistiu aprender programação Como eu disse anteriormente não é uma tarefa fácil exige não só que tu mude muito a forma como vocês pensam como também vai exigir que domine uma série de ferramentas que a linguagem de programação tem e esses aqui São só alguns doss tópicos que normalmente tu estuda quando vai fazer algum outro curso de Python na internet vai precisar não só aprender sobre lógica de programação como variáveis Strings dicionários for listas tuplas Bolanos todas
essas aqui são as peças que compõe o vocabulário que um programador precisa falar para conseguir se comunicar com o computador e como que a maior parte dos cursos de Python tá estruturado na internet tradicionalmente se ensina a programação da seguinte forma a gente começa antes com lógica de de programação e vai vendo cada um desses elementos aqui de maneira separada a gente para um tempo estudando o que que são variáveis depois estuda um pouquinho o que que são Strings dicionários for listas tuplas Bolanos e em geral para cada um desses tipos de dados vai existir
uma lista de exercícios que vocês vão ter que fazer para poder fixar bem os conhecimentos sobre variáveis depois sobre Strings depois sobre dicionários e de tempos em tempos os professores ainda agrupam alguns desses conceitos e desenvolvem algum projeto maior para que vocês consigam usar todos eles ao mesmo tempo isso vai fazendo com que o teu aprendizado ele vá crescendo de tamanho aprenda o dicionário aprenda string depois eu junto tudo isso aprendo o que que são trads módulos programação orientada a objetos e cresço tudo isso para que em algum momento a gente consiga desenvolver uma visão
geral sobre o que que é de fato a programação e essa abordagem ela tem um ponto positivo e um ponto negativo ponto positivo é que quando tu passa por esse treinamento tu consegue desenvolver uma visão muito sólida sobre linguagem que tu tá estudando só que o ponto fraco é que estudar dessa forma é muito chato a taxa de desistência costuma ser muito alta primeiro curso de programação que eu lancei na internet foi lá na udem e depois de um tempo eu percebi que só 5% dos meus alunos de fato chegavam a concluir o curso ou
seja só uma pessoa a cada 20 e na minha opinião Por que que isso ocorre porque esse método é chato gente ele é desmotivante vocês ficam estudando durante muito tempo conceitos em separado listas if ELS entendem na Essência cada um deles só que não tem um objetivo Claro de por que eu tô passando por todo esse esforço que sentido eu tô indo eu tô indo para cá ou eu tô indo para cá e os projetos que vocês acabam desenvolvendo eles não são úteis para um objetivo da vida e sim só para conseguir lincar todos esses
conceitos aqui é por isso que nesse curso decidi trazer uma abordagem diferente não sei se vai ser melhor eu espero que seja que é ao invés de conduzir vocês numa jornada de 10 horas passando por cada um desses conceitos aqui eu setei um objetivo para vocês aqui no final que é esse aplicativo web interativo eu vou passar apenas pelos conceitos que são necessários que vocês entendam para atingir esse objetivo e é claro que esse método aqui também tem um ponto positivo e um ponto negativo ponto negativo É claro é que vocês vão ficar com algumas
lacunas no conhecimento Só que mais importante do que isso eu quero que você sintam a linguagem de programação sintam o que de fato é possível fazer entendam o poder do Python para que vocês decidam se vale a pena traçar depois esse caminho mais complexo de aprofundar na linguagem minha missão aqui é que vocês apreciem esse processo e sintam poder da linguagem de programação e até vejo que não é tão complicado [Música] assim Quem deveria quem não deveria fazer esse curso na verdade Python é uma linguagem de programação muito abrangente então é mais fácil eu começar
dizendo quem não deveria fazer então sendo bem direto se tu tem o objetivo de trabalhar como programador desenvolvendo sistemas web também conhecido como Dev eu não te recomendaria estudar Python por mais que existam algumas bibliotecas do Python que te permite trabalhar com isso como eu cas caso do flesk e do Jungle JavaScript é uma linguagem de programação muito mais consolidada aqui e estudar frameworks dessa linguagem vai te permitir encontrar vagas de trabalho mais fácil então Quem deveria fazer esse curso em primeiro lugar se tu te considera um curioso e quer começar dar os primeiros passos
na programação mas não tem objetivo muito claro começa por Python ela é uma linguagem muito abrangente tem alguns pontos fortes mas nos pontos que ela é fraco ela também consegue lidar muito bem vai te abrir uma série de caminhos tanto para ação de tarefas análise de dados e até construção de sistemas web como a gente mostrou anteriormente e a azimov Academy é uma escola de programação para não programadores Ou seja pessoas que querem utilizar programação como uma ferramenta de trabalhos para conseguir fazer melhor o que já fazem de pos de uma ferramenta mais forte saber
Python hoje é muito parecido com quem sabia Excel há 15 20 Anos Atrás a 10 15 anos atrás saber o Excel era uma ferramenta que te permitia entrar em Muitas vagas de trabalho hoje esse papel cabe ao o Python que ele é uma linguagem extremamente versátil vai permitir que vocês automatiz tarefas analisem dados construam modelos de Inteligência Artificial e até desenvolvo pequenos e médios aplicativos web que podem ter tanto uso pessoal como foi o caso do meu aplicativo de tênis quanto uso dentro da empresa ou projeto que estão participando aqui na própria asimov Academy a
gente tem dezenas de casos de cada um desses tanto scripts que a gente faz para automatizar alguns processos lidar com os nossos alunos prestar suporte analisar dados de engajamento com o nosso conteúdo tudo isso o Python nos permite fazer é por conta disso que muito se fala que saber programar Hoje seria equivalente a quem sabia falar em inglês há 20 anos atrás Então quando vocês entendem que Python é sobre automatizar tarefas construir sistemas e analisar dados vão entender que esse conjunto de habilidades aqui tá espalhado em praticamente todas as profissões qualquer tipo de analista analista
de logística financeiro contador dbi que usa de alguma forma o Excel no seu dia a dia Python pode tanto substituir essa ferramenta como implementar muito bem mas assim como Engenheiros professores pesquisadores graduandos mestrandos que estão de repente fazendo algum tipo de pesquisa e precisam analisar dados Traders do mercado financeiro profissionais do setor de Agro analistas de marketing enfim é extremamente abrangente eu acredito que nos próximos anos a linguagem só vai continuar crescendo hoje Python é a linguagem mais popular do mundo Justamente por isso por ser uma linguagem ideal para não programadores então é isso pessoal
vamos partir agora pro código botar a mão na massa e dar os primeiros passos na [Música] linguagem sejam bem-vindos à primeira aula do nosso curso e antes da gente começar aqui no código eu preciso discutir um conceito anterior o que que é uma linguagem de programação e o que que é o Python uma linguagem de programação nada mais é do que uma língua intermediária que a gente vai utilizar para poder conversar com o nosso computador e por que que eu falo que é intermediária que o computador ele só fala uma linguagem o código binário código
binário nada mais é do que uma sequência de zeros e uns talvez você já tenha ouvido falar sobre isso e zeros e uns é uma linguagem até um pouco complexa da gente conseguir entender porque diz pro computador que circuitos elétricos ele deveria ligar ou não em determinada situação só que é uma linguagem que aparentemente é muito simples porque teriam só duas letras só que para nós seres humanos conseguir conversar em código binário é muito difícil Então os primeiros programadores que inventaram a programação desenvolveram o código binário que é o que o computador fala só que
os primeiros programadores desenvolveram algumas linguagens que seriam intermediárias ou seja não seriam nem as línguas que a gente fala português espanhol inglês mas também não seria um código binário de fato seriam as linguagens de programação e as linguagens de programação seriam esse meio de campo entre o que a gente fala aqui inglês português e o código binário do computador aqui que é extremamente complexo então o Python está aqui no meio do caminho ela é uma linguagem que eu vou ensinar para vocês aqui seria praticamente como aprender um novo idioma e a gente nada mais vai
do que estar aprendendo um jeito de conversar com nosso computador e passar instruções para que ele faça determinadas coisas em determinadas [Música] situações bom agora que Vocês entenderam o que que é o Python deixa eu mostrar como é que que é o Python isso aqui que vocês estão vendo é código Python esse aqui é o script daquele projeto que eu mostrei anteriormente de visão computacional aplicado a tênis e ele tem aqui alguns arquivos alguns vídeos e esse programa preto que vocês estão vendo aqui se chama visual Studio code ele é uma ide Ou seja é
um ambiente de desenvolvimento feito para que a gente consiga criar os nossos scripts aqui no caso Python com algumas funcionalidades que nos ajudam nesse processo p Python na verdade quando a gente for escrever nada mais é do que um arquivo de texto e a gente escreve e organiza esse script seguindo as regras da linguagem de programação só que isso aqui tá tudo colorido porque esse software que eu t utilizando aqui o visual Studio code faz isso pra gente eu sei que pode parer um pouco assustador Mas a gente não vai comear dessa forma vou comear
de uma forma muito mais simplificada então não se assustem eu quero que vocês entrem no Google e digitem mu Python vocês vão entrar nesse primeiro site aqui a gente vai baixar a ideia chamada mu ele é um programa muito mais simplificado do que o visual Studio code ideal para quem tá começando no mundo da programação e é aqui que vocês vão ter os primeiros conceitos entender como vão utilizar o Python para que no futuro em aulas seguintes a gente consiga utilizar uma ideia como essa então esse programa aqui ele é super simples ele pode ser
baixado para qualquer sistema operacional passo a passo vai ser muito fácil e ele vai instalar o Python para você garantir que tudo funcione sem que precise de configurações adicionais eu tô utilizando aqui um Mac OS tá então vou baixar o do Mac mas para usuários de Windows ou de Linux o procedimento é tão simples quanto para Windows basta baixar o arquivo executar clicar em avançar avançar e executar ele vai fazer tudo para vocês e no Linux se eu não me engano o procedimento é bem parecido aqui no Mac é também é bem parecido do que
o Windows eu clico em agree ele vai instalar e descompactar o programa para mim fazer todo o proced ento tá processo vai levar aí cerca de um minuto talvez e depois de instalado é só abrir o programa no meu caso aqui ele vai perguntar se eu tenho certeza se eu quero abrir quero a tela que vocês devem ver alguma coisa parecida e nessa primeira tela de modo vocês podem trocara depois a gente vai escolher o Python 3 aqui e dá um ok Esse é o ambiente que a gente vai utilizar esse aqui é o mu
ele tem algumas configurações bem simples aqui eu posso trocar o modo de desenvolvimento vamos ficar aqui dentro do Python eu posso criar um novo script Python posso abrir algum arquivo ou salvar eu posso executar o meu script a gente vai passar por isso depois posso depurar talvez vocês nem saibam o que que essa palavra significa eu vou mostrar isso depois Wap então nem se fala gráfico posso criar alguns gráficos posso aumentar o diminuir eu deixei um pouquinho maior aqui para que vocês consigam ver bem minha tela posso trocar o tema aqui eu posso perguntar para
ele verificar se tem algum tipo de erro no meu código Ou seja é uma forma de facilitar o meu desenvolvimento aqui eu tenho um organizar posso pedir ajuda ou sair do programa Esse é o mu é aqui que a gente vai dar os próximos [Música] passos a primeira coisa que todo mundo faz quando vai aprender uma nova linguagem de programação é conseguir fazer o computador escrever na tela ou lá mundo Ou seja eu tenho que conseguir em Python pedir pro meu computador devolver essa frase Então vamos começar fazendo isso não vou quebrar a tradição aqui
lembrem isso aqui que a gente tá escrevendo é um arquivo de texto normal poderia escrever código em Python no bloco de nota até no Word Se eu quisesse Mas vamos fazendo uma ideia Como mo como é que eu faço pro computador digitar Hola mundo eu venho aqui eu vou escrever a palavra print de printar tá ele vai devolver na tela isso para mim e em Python a gente vai utilizar o abrir e fechar parênteses isso aqui é o que a gente chama de um método método é como se fosse uma ação eu peço pro computador
ele tem uma série de ações já pré-configuradas printar é uma delas Então eu preciso abrir e fechar parênteses e um método ele é caracterizado por abrir e fechar parênteses e alguma dessas ações elas precisam de que a gente chama de parâmetros Ou seja eu tenho que dar alguma instrução para ela vocês vão perceber que existem ações que o computador vai desempenhar que não precisam desses parâmetros não precisam dessas instruções mas o print precisa de uma delas que é eh o que a gente chama de string ou seja o que que ele vai printar na tela
então para poder passar esse parâmetro para ele eu vou abrir e fechar parênteses e tudo que tiver dentro dos meus parênteses ele vai devolver para mim então vou colocar aqui Olá vírgula mundo e é isso esse aqui é o nosso primeiro código em Python que que ele vai fazer eu vou pedir para ele executar ao executar ã como é a primeira vez que a gente tá executando o mu no Mac ele tá pedindo para ter autorização os meus arquivos vou dar autorização para todos eles ele pede que eu salve o meu arquivo e o o
mu ele tem uma configuração interessante que para facilitar o trabalho ele cria uma pastinha ele cria uma pastinha e todos os scripts que a gente for desenvolver aqui dentro ele organiza lá ele deixa tudo pronto pra gente não não não tem necessidade da gente sair espalhando arquivos pelo computador ele vai deixar um ambiente bonitinho pra gente então vou colocar aqui o nome do arquivo como sendo um underline olá mundo a extensão aqui já tá marcada como pai eu vou dar um save E como eu tinha clicado em executar ele já executou aqui embaixo Então essa
telinha que surgiu aqui vai ser o nosso ambiente de execução el simplesmente vai executar as coisas por aqui e o que que aconteceu Ele pegou essa instrução que lembrem ela é uma ela é em Python Ou seja é um meio de campo entre a língua que eu falo e a língua do computador traduziu isso aqui em código binário o meu computador executou essa operação e devolveu aqui pro Python tá e devolveu pra tela dizendo como D disse aqui olá mundo eu sei que parece um pouco bobo porque que eu não poderia só ter colocado olá
mundo aqui só que consegui fazer isso é o primeiro passo para que a gente use todas as funcionalidades ocultas aqui para que a gente saia de códigos bobo como esse para que a gente consiga desenvolver códigos complexos e Poderosos como esse o primeiro módulo em geral em todo o curso de programação costuma ser aprender todos os tipos de dados da linguagem ou seja todas as formas que a linguagem nos dá para que a gente cons consiga guardar informação porque o computador ele precisa operar as informações e existem diversos tipos de informações eu vou deletar o
meu código aqui e o tipo mais básico de dado que a gente costuma trabalhar ele é chamado de número tá então eu poderia utilizar o Python dessa dessa forma aqui super simples e pedir que ele simplesmente faça alguma operação numérica para mim colocar aqui 1 + dois então eu vou parar e vou executar normalmente reparem que eh aqui aconteceu uma coisa curiosa que ele fez essa operação só que ele não devolveu nada porque para poder devolver alguma coisa eu tenho que pedir pro Python printar aquela função que a gente já aprendeu anteriormente então eu posso
vir aqui posso digitar um print ao redor de 1 + 2 eu vou parar o código e executar normalmente e reparem agora que o meu print ele já devolveu a operação feita e tanto um quanto dois também são tipos de dados do Python são os números e se eu quisesse eu poderia u utilizar o Python como uma calculadora posso vir aqui e colocar 1 + 2 posso colocar 1 - 2 fazer operação de subtração eu tenho aqui operação de multiplicação tenho também a operação de divisão e por fim eu teria a operação de exponenciação Ou
seja eu quero elevar 1 ao quadrado se eu executo isso aqui que que vocês esperam que aconteça Pensa em um segundinho então para quem pensou a resposta é que vai ter cinco frases escritas aqui aqui uma embaixo da outra então vou executar ele fez cada uma dessas operações pra gente 1 + 2 = 3 1 - 2 = -1 depois 2 0.5 que é 1 so 2 e 1 elevado quadado é 1 tá em relação a números o Python tem dois tipos básicos de número números inteiros que é o que a gente tá trabalhando aqui
mas a gente também tem os números decimais que curiosamente é esse cara daqui ou seja o 0.5 quando a gente tem o ponto ele vai ser tratado no Python como um Flow Ou eles são decimais do tipo float e para checar o tipo de qualquer dado a gente pode utilizar o outro método seja aquela ação que eu tinha falado anteriormente perguntando qual o Type de algum dado então eu vou mostrar para vocês agora vou apagar tudo aqui vou perguntar para ele cara qual que é o Type do um repar que quando eu executo de novo
Nada aparece Porque eu deveria est utilizando o print conseguir visualiza coisa posso fazer aqui pa executar eu tenho que ele é do tipo inteiro esse Class aqui E esse nome vocês ignorem por hora mas por cima é a forma como ele representa os tipos de dados mas aqui a gente teria que ele é inteiro eu poderia substituir agora o um por 0.5 paro e executo e ele me dá que isso aqui é um float e agora que Vocês entenderam esse fluxo aqui de salvar o arquivo executar ver o resultado eu posso apresentar para vocês essa
ferramenta aqui reple que ele vai permitir que a gente tenha uma espécie de tradutor que a gente contrate um tradutor e deixe ele em standby pra gente para que eu possa ir mandando o código em Python para ele Isso aqui vai tornar a nossa aula mais fácil e o entendimento de vocês eh também mais acelerado então eu clico aqui e agora ele iniciou um interpretador de Python aqui embaixo para mim tá a diferença disso é que aqui em cima eu tenho um arquivo de texto que está salvo no meu computador naquele local que eu mostrei
no meu meu diretório raiz M code vou até mostrar rapidamente aqui no meu caso tá na minha pasta padrão M code aqui está o arquivo e esse arquivo aqui tá sendo jogado para dentro de um interpretador que passa pro meu computador o computador devolve e Esse interpretador mostra resposta na tela mas a gente pode fazer isso em tempo real eu deixei o meu interpretador ligado aqui eu não preciso ficar salvando e executando o arquivo porque aqui eu já posso explicando alguns conceitos de Python para vocês de maneira mais rápida por exemplo eu posso mandar para
ele um mais dois e ele diz já diz aqui a resposta como sendo três tá da mesma forma como aqui e e reparem que aqui eu não precisei utilizar o print eu até poderia colocar um print 1+ 2 is aqui também vai ser código em Python ele vai devolver o dois mas a vantagem é que no interpretador Rapid desse e quando quando ele tem que printar alguma coisa ele simplesmente coloca na tela quando ele percebe que alguma informação não foi solicitada para ser printada mas existe alguma alguma variável de retorno ele coloca nesse Alt aqui
então é uma forma de da gente a gente conseguir explorar um pouquinho melhor os tipos de dados do Python nesse primeiro momento eu vou ensinar para vocês os principais tipos de dados eu não vou abordar todos nem vou abordar tão a exaustão para que a gente consiga já o mais rápido possível ir para aquele dashboard que eu mostrei Como projeto que reparem aquele tipo de projeto lá em geral outros cursos levariam dois 3 meses para ser desenvolvidos e aqui a gente vai fazer eu espero em menos de duas ou 3 horas tá E vocês devem
estar se chocando cara como é que eu vou sair disso aqui eu tô printando dois e três para chegar naquilo então aguardem aí um pouquinho que a gente chega [Música] lá então a gente já aprendeu sobre números sobre wpp sobre print sobre algumas ações no Python próximo tipo de dado que a gente precisa estudar são ess Strings Strings nada mais são do que textos no Python e pro Python entender um texto a gente vai colocar duas aspas e escrever qualquer coisa aqui dentro por exemplo posso colocar Olá Rodrigo isso aqui seria um texto e se
eu perguntar para ele Qual é o Type disso Olá Rodrigo ele chama esse texto de STR ou seja string então Strings são os nomes que os que o Python dá para textos inclusive uma coisa interessante é que se a gente colocar entre aspas algum número por exemplo e der um enter isso aqui também é um texto mesmo que eu tenha escrito um número dentro tá Qualquer coisa dentro de Strings é um texto outra possibilidade que eu tenho de de registrar Strings no Python é através de as simples é a mesma coisa Posso colocar aqui Olá
Rodrigo se eu perguntar o tipo disso também vai ser texto e as Strings T uma série de propriedades bem interessantes uma delas é o que a gente chama de concatenação de Strings ou seja se em algum momento do meu código eu tiver trabalhando com um texto eu quiser juntar com outro eu posso utilizar o operador mais daquele das operações matemáticas que a gente fez só que uma string ele acontece de forma engraçada ele vai juntar as Strings então eu posso colocar Olá vírgula deixa um espaço aqui colocar um mais e colocar o meu nome se
eu der enter ele vai juntar as duas em uma única string essa operação aqui se chama concatenação de Strings e reparem que quando a gente faz o mais com números a gente faz a soma só que se eu colocar uma string por exemplo Olá e eu somar com um número ele vai retornar um erro isso que apareceu na tela aqui é o primeiro erro que vocês estão vendo no Python Isso aqui vai aparecer acho que na vida inteira de programação de vocês e é importante que vocês consigam ler e tentar traduzir o que tá escrito
aqui em Python praticamente sempre na verdade sempre vai ser em inglês então na dúvida ou joguem no Google Tradutor podem copiar esse erro aqui ou qualquer outro erro que vemha aparecer nos códigos de vocês no futuro e também jogar no Google para entender o que tá se tratando Mas vamos tentar ler um pouquinho aqui entender Qual o problema que ele tá nos dando Ele nos disse erro de tipo Type error ele disse assim ó você só pode concatenar Strings não inteiros com Strings e o que eu tentei fazer aqui Juntar uma string com um número
tá Então esse foi o erro que ele me deu Eu precisaria que tanto os dois fossem números ou os dois fossem fossem Strings tá operações de subtração não são permitidas então Strings tem muito mais conceitos que eu não vou abordar aqui para não confundir vocês por hora é isso que vocês precisam saber próximo tipo de dados que a gente vai trabalhar são variáveis eu gosto de pensar em variáveis como se fossem caixas que o Python cria pra gente para que a gente guarde valores e ele vai carregar esses valores com ele à medida que o
script tiver executando se a gente definir matar o script ou desligar ele ele vai jogar fora todas as caixas então todas essas informações aqui elas são temporárias como é que a gente faz para criar uma variável como é que a gente trabalha com as variáveis eu venho aqui ponho qualquer nome tá na verdade existem algumas regrinhas para esses nomes que a gente for colocar e eu vou utilizar o operador igual tá o operador igual ele é o que a gente chama de operador de atribuição eu vou dizer que a variável a que está à esquerda
vai ser igual a qualquer coisa da direita e esse qualquer coisa da direita tem que ser alguns dos tipos de dados que a gente tá estudando por enquanto a gente conhece número ou a gente conhece string tá Então nesse caso aqui agora sempre que eu escrever Olá eu vou ter o Olá Mas eu também posso acessar o Olá simplesmente com a variável a então reparem que se eu vim aqui e digitar um print a e eu vou vou começar printando a eu vou executar eu vou matar o r aqui por enquanto ele abriu um novo
terminal pra gente aqui na no cantinho E olha que interessante ele me devolveu o Olá porque ele foi lá e entendeu que o A é igual a Olá então ele simplesmente printou o Olá eu poderia vir aqui fazer uma operação de soma com com a colocar aqui de novo Olá Rodrigo paro e executo e ele de novo volta com Olá Rodrigo reparem que não tem espaço aqui porque não tem nenhum espaço aqui para poder ter esse espaço a gente teria que ter colocado ou aqui ou aqui e por que que isso é útil porque ao
longo do código a gente vai precisar trabalhar com esses valores vai precisar guardar informações manipular informações trocar elas printar na tela guardar informações que os usuários nos passem variáveis são uma estrutura fundamental em qualquer linguagem de programação e vocês precisam entender isso essa aqui que tá aparecendo na tela é a apostila que eu tô me baseando que a gente criou aqui nas imóvel para poder dar os nossos cursos de Python e o exemplo que a gente dá Imaginem por exemplo como é que a gente calcula a área de um círculo existe uma equação matemática que
diz que a área de um círculo ou seja seesse valor a da esquerda vai ser igual a pi vezes o raio desse círculo elevado ao quadrado se a gente for fosse fazer isso com python eu poderia fazer de duas formas por exemplo vamos supor que eu tenho um círculo de área C de raio C desculpa a área dele seria tr P 14 que é pi x 5 elevado Quad ou eu poderia criar três variáveis aqui pi que é 3.14 raio que é igual a 5 e raio ao quadrado que é igual a raio elevado ao
quadrado e a área desse círculo seria o print pi xes o raio quadrado é uma outra forma da gente criar esse valor e também no Python Existem algumas regrinhas para que a gente crie os nomes de variáveis em primeiro lugar quando a gente for compor o nome de uma variável vocês perceberam ali pelo exemplo anterior que não necessariamente precisa ser uma letra eu posso colocar aqui o nome raio ao quadrado por exemplo isso aqui poderia ser uma variável que seria a conta sei lá de 3.14 aliás 5 elevado quadado se 5 fosse o raio por
exemplo isso aqui seria uma variável e as regras que a gente tem em programação são primeiro a gente só pode usar letras números e underlines essa é a regra em segundo lugar o nome de uma variável não pode começar com um número só pode começar com underline ou com ou com letra terceiro lugar a gente pode utilizar letras maiúsculas nesse nome então eu poderia vir aqui criar um R ao quadrado aqui raio ao quadrado isso aqui é um nome válido isto aqui nome não é um nome válido porque tá começando com um número isso aqui
underline nome é o nome válido tá então esse aqui é inválido válido válido e válido e o último conceito importante é que nomes de variáveis são diferentes se a gente tiver utilizando letras em maiúsculo ou letras em minúsculo então raio ao quadrado aqui é diferente de raio ao quadrado aqui por conta desse r maiúsculo Então por enquanto a gente já tem números Strings e agora o conceito de [Música] variáveis bom agora que a gente aprendeu sobre variáveis Strings deixa eu introduzir um pequeno conceito sobre Strings que eu ainda não falei para vocês que é o
de como a gente pode combinar variáveis dentro de Strings então eu vim aqui no Python criei algumas variáveis o a b c o a vale um Olá O B vale um inteiro TR o C Vale Rodrigo tá eu poderia vir aqui embaixo colocar solto aqui mesmo sem definição de variável uma string e eu poderia utilizar a letra F antes da string para dizer pro Python que eu vou formatar essa string o utilizando variáveis Como que eu faço isso posso vir aqui dentro vou digitar um Olá eu abriria Chaves e dentro das chaves dado que eu
tenho esse F antes da minha string sempre que ele encontrar uma Chaves ele vai procurar pro que tem dentro das chaves e tentar substituir ali então eu vou colocar o Rodrigo aqui colocar a letra C por exemplo e eu vou dizer que isso aqui vai ser igual à variável D tá então ol ficou um pouco confuso eu fiz uma certa junção de coisas mas eu tô nada mais do que criando uma string utilizando Chaves passando o c dentro das chaves e usando notação F que que o Python vai fazer ele vai pegar o c vai
colocar aqui dentro tirando as chaves então O resultado vai ser Ol olá Rodrigo querem ver colocar aqui um print D eu vou parar e executar novamente eu tenho aqui um Olá Rodrigo eu poderia fazer a mesma coisa utilizando o nosso wle aqui embaixo eu vou colocar essas variáveis aqui então vou definir o Olá Vou definir o b e o c ele vai colocar as duas e eu não precisaria agora colocar nem a definição da variável d e nem o print Ele simplesmente mostraria para mim esse resultado outra coisa interessante eu poderia substituir aqui dentro e
colocar múltiplas variáveis desde que eu use múltiplas Chaves então ele vai sempre substituindo onde tem Chaves com a variável então se eu executa ele coloca Olá Rodrigo e eu poderia aqui colocar sei lá número e aí colocar nosso inteiro aqui dentro b e ele colocaria Olá Rodrigo número TR por exemplo tá então essa anotação ela vai ser importante Quando a gente tiver trabalhando com o nosso dashboard e se vocês repararem por mais que ainda esteja muito distante da gente poder Construir tudo isso aqui parece na verdade anos luz de distância né quando a gente olha
um código como esse para um dashboard feito como esse Mas algumas das coisinhas aqui que a gente já aprendeu vão aparecendo por exemplo se vocês repararem isso aqui isso aqui na verdade são Strings as os reviews que aparecem aqui embaixo também são grandes Strings formatadas de um jeito específico para que eu consiga renderizar isso aqui em tela mas eu tenho Strings aqui e aqui eu tenho uma string que ela possui anotação de string quer dizer possui um um um símbolo de texto então isso aqui deveria ser um string que foi formatado utilizando isso aqui então
é um conceito que vai aparecer daqui a pouquinho beleza próxima estrutura de dados galera eu vou apagar tudo isso aqui vou até resetar o meu rapple vou falar com vocês um pouco sobre listas Imaginem que as variáveis são caixinhas as listas seriam como se fossem caixinhas com compartimentos Ou seja eu consigo colocar dentro de uma caixa múltiplos objetos ao mesmo tempo S que é importante porque quando a gente tá trabalhando com variáveis existem alguns tipos de dados que precisam na verdade que eles ven em grupos e saber manipular esses elementos em grupos é muito importante
no Python isso aparece na forma de listas como é que a gente define uma lista ela é notação de colchete cada valor que eu coloco aqui dentro pode ser qualquer tipo de valor de pon qualquer tipo de dado que a gente já aprendeu inteiro string H por enquanto você aprendeu só esses dois né mas agora a gente vai aprender listas qualquer tipo de dado que vocês já aprenderam ou ven aprender pode entrar dentro de uma lista Então vamos colocar aqui Olá e a gente separa os compartimentos das listas utilizando uma vírgula essa vírgula vai dizer
que eu tenho um elemento aqui e um outro elemento aqui então Vamos colocar Olá Rodrigo por exemplo então isso aqui já é uma lista ela é uma variável única que contém esses dois valores dentro dele eu vou executar isso aqui aqui vou perguntar qual o valor de a e ele me diz que é isso aqui essa listinha exatamente o que tá aqui E se eu peço Qual o tipo do a ele me diz que é uma lista que é esse novo elemento que a gente trabalhou as listas Elas têm um comportamento curioso que elas são
dentro do Python o que a gente chama de iterável ou seja ela é um conjunto de elementos que a gente pode ir passando elemento por elemento e para poder pegar esses elementos aqui trabalhar de maneira individual a gente usa uma anotação depois das listas que pode confundir um pouco vocês também é um colchete para acessar cada um desses elementos Vamos trabalhar um pouquinho com isso como é que eu faço isso se eu tenho aqui o meu a eu tenho a minha lista concordam eu posso vir aqui e colocar um colchete depois da minha lista e
acessar a posição dessa lista e no Python eu acho que na maioria das linguagens de programação a gente começa a contar a partir do zero então o primeiro elemento dessa lista que seria o Olá que tá aqui ele é acessível na posição zero se eu vim aqui e dar um enter ele vai devolver para mim apenas o Olá isso aqui é equivalente ao ir na posição da memória na caixa do computador Aonde tá essa lista e pegar o primeiro elemento eu poderia vir aqui colocar substituir o meu zero por um ele vai pegar o segundo
elemento isso que a gente fez aqui foi uma seleção de listas e essa anotação de colchete aqui quando a gente tiver trabalhando com elementos que são iterável em um só aprender a manipular esses elementos vai ser importante não só para listas mas para uma série de outros valores tá então eu vou mostrar para vocês aqui algumas técnicas e vou mostrar também como fazer isso aqui com Strings tá então beleza A gente conseguiu acessar elementos dentro da lista eu vou aumentar um pouquinho essa lista agora vamos colocar aqui um inteiro vamos colocar um float e vamos
colocar um outro valor aqui chamado teste tá redefin a minha lista existe um novo método Python que eu não apresentei para vocês que é o Len o Len ele vai dizer qual o tamanho de algum elemento então se eu aplico ele para uma lista ele vai dizer que a lista tem cinco elementos então se eu tentar acessar o zero eu consigo se eu tentar acessar o quatro que é o último elemento eu consigo se eu tento acessar o cinco ele me dá um erro e é o erro list index out of Range ou seja acabou
a lista não tenho mais listas aqui então vocês têm que cuidar para que quando for colocar esse valor a gente simplesmente Pare No último valor que vai ser Len tamanho da lista -1 porque a gente começa a contar do zero Beleza então as listas funcionam dessa forma e a seleção da lista é dessa forma que outras formas a gente tem de poder estar selecionando valores nas listas eu poderia ir de trás para frente porque às vezes pode acontecer dessas listas serem muito grandes tá então às vezes a gente não sabe o valor ideal dela mas
eu quero trabalhar com os do fim ou quero trabalhar com os do começo por exemplo então eu poderia vir aqui e colocar -1 o zero se vocês lembrarem é o primeiro elemento o -1 ele inverte a lógica e começa a contar de trás para frente então no caso aqui o -1 ele vai ser o meu teste que tá aqui no final se vocês perceberem tá poderia também contar de trás para frente então vamos pegar aqui um men2 eu teria o 2.5 e assim por diante tá outra coisa que eu quero mostrar para vocês seria a
seleção de intervalos dentro de uma lista porque se a gente coloca o índice adequado aqui eu seleciono um valor dessa lista se eu venho aqui e coloco por exemplo dois e uso notação de dois pontos ele vai permitir que eu faça cortes nessa minha lista Então vamos começar com colocando aqui um até quro Olha o que que vai acontecer ele vai pegar Rodrigo 2 2.5 Por que que ele fez isso porque quando a gente usa os dois pontos ele entende de uma forma diferente ao invés de lá e pegar um valor específico ele vai pegar
este valor aqui vai seguir contando 2 3 até parar nesse cara daqui sem incluir esse elemento então ele vai pegar o elemento de valor 1 vai pegar o elemento de valor do vai pegar o 3 não vai pegar o 4 ISO aqui é uma regrinha do Python que vocês precisam decorar tá ela é assim que é infelizmente precisam decorar para entender como funciona Tá mas isso aqui pode ser útil Quando a gente tiver trabalhando sei lá Quero mostrar todos os comentários aqui os comentários podem ser listas Tá mas eu não quero mostrar todos eu quero
cortar o último quero cortar o primeiro por exemplo seleção dessa forma aqui pode ser super útil tá bom existem outras técnicas de seleção a gente pode trabalhar de outras formas por hora eu acho que entender isso aqui já é um bom começo para todos vocês e eu quero só que vocês ã percebam uma outra coisa que eu não comentei anteriormente uma string também é um iterável tá ela é um iterável de caracteres ela é a soma de cada uma dessas letras aqui inclusive dos espaços se existirem então tudo que eu fiz com l eu posso
fazer com Strings eu posso perguntar o tamanho de uma string ou eu posso vir aqui começar a selecionar caracteres de maneira individual zero eu quero por exemplo pegar Quais são as primeiras letras do nome Rodrigo Então vamos de zero até C por exemplo Rod sabe ou até a terceira então Rod e assim por diante Então tudo isso aqui é possível tá tanto com listas quanto com Strings então isso aqui foi uma uma pincelada no conceito de slicing que também vai ser importante para que a gente consiga trabalhar com o nosso dashboard depois porque a gente
vai ter que fazer algumas manipulações de dados Beleza então por enquanto é [Música] isso beleza galera a gente já tem números variáveis métodos listas aprendemos um pouquinho de slicing próximo passo agora é aprender sobre banos esse aqui é bem fácil banos é como se fosse o sim e o não de uma linguagem de programação é o que a gente chama de verdadeiro e falso tá é um tipo de dado que ele simplesmente representa isso true ou falso sim ou não verdadeiro ou falso elas são duas palavrinhas reservadas que a gente tem aqui o true e
o false reparem que se vocês escreverem dessa forma tá o t maiúsculo F maiúsculo ele vai pintar de verde e isso aqui Pode parecer um pouco besta que que que eu faço com true e false verdadeiro ou falso ele por si só não tem muito sentido mas vocês vão perceber que a gente vai começar a utilizar isso aqui no futuro para poder controlar o que o computador faz eu pergunto para ele assim computador se essa situação aqui for verdadeira ou seja se ela for true quero que tu faça esses cálculos aqui se ele for false
eu quero que tu vá nesse sentido aqui se a gente tiver escrevendo um script de rotas no mapa por exemplo se uma rua tiver muito muito lotada ou seja se for true que ela tá craude tá cheia de gente eu quero que tu Mande as pessoas nesse sentido caso contrário tu mande para cá então entender operar true e fals é muito importante tá eu poderia vir aqui tá é como é tão simples posso até vir aqui perguntar o Type dele ele me diz que isso aqui é um boleano posso perguntar a mesma coisa do true
Qual que é o Type do true e ele bolean tá quando que esses caras aqui começam a aparecer agora que eu apresentar para vocês o próximo tipo de estrutura de dados na verdade não é bem uma estrutura de dados mas é uma ferramenta que a gente vai ter exposição que são os nossos operadores de comparação operadores de comparação no Python a gente tem vários seria esse símbolo é o maior igual da matemática e isso aqui significa V até escrever para vocês não se perderem aqui e tem mais uma coisinha que eu esqueci de comentar que
são os comentários comentários é uma possibilidade que a gente tem de escrever qualquer coisa para poder se organizar no código e sempre que ele encontrar essas hashtags ele vai ignorar tudo que tiver nessa linha então é útil quando a gente tá organizando o código então por exemplo eu vou colocar aqui 3 maior que 2 tá 3 maior que 2 na verdade é uma pergunta que eu tô fazendo pro Python 3 é maior do que 2 tá Vou até escrever aqui 3 é maior do que 2 que que vocês responderiam É claro que sim só que
pro computador o sim o não é true ou false Então isto aqui para ele ele vai calcular isso seria equivalente a gente digitar 1 + 2 A Resposta pro computador aqui é 3 só que a resposta pro computador aqui numa pergunta que eu faço para ele é um verdadeiro ou falso se eu peço para ele definir que a vai ser igual a 3 é maior do que 2 A vai ser igual a true tá porque ele calculou essa expressão ele viu qual que era o resultado de 3 maior que 2 na variável tá então o
esse maior q ele é um dos operadores de comparação que a gente tem no Python Isso aqui vai ser super útil pra gente tomar decisões no nosso código que outros operadores a gente tem eu tenho um operador de menor que aonde eu pergunto 3 é menor do que 2 nesse caso a resposta vai ser false eu tenho o próximo operador que é maior igual a gente coloca um símbolo de maior e igual aqui e eu tô perguntando dois é maior ou igual do que 2 como no caso 2 é igual a 2 então isso aqui
vai retornar Sim ele é maior ou igual tem operação inversa também que seria 2 é menor ou igual do que 2 sim porque ele é ele é igual então isso aqui vai retornar Verdadeiro Caso esse valor aqui seja menor do que esse aqui ou caso ele seja igual é isso que o símbolo menor ou igual significa eu também tenho o símbolo de diferen eu vou até colocar para vocês verem aqui embaixo tá e diferente é exclamação igual e esse símbolo que a gente já aprendeu é o símbolo de atribuição eu defino uma variável como igual
a outra tá esses aqui são os principais tipos de operadores de comparação e a gente consegue misturar esses tipos de comparação com outros elementos que são o and e o or tá and e or seria o nosso e do português abre aspas aqui e até escrever seria igual ao e ou igual ao nosso ou tá o or aqui seria igual ao nosso ou aqui Pode parecer um pouco confuso porque a gente usa isso aqui no português o tempo inteiro quando a gente tá conversando com outras pessoas mas para algumas pessoas que são iniciantes na programação
esse conceito que confunde um pouco porque o que que significa e ou o que que significa ou na verdade isso aqui eles são operadores tanto o and quanto o or que a gente vai combinar apenas com Bolanos tá e o resultado disso aqui é curioso vou até mostrar para vocês true and true isso aqui ele tá perguntando se ambas as expressões são verdadeiras ao mesmo tempo se ambas as expressões são verdadeiras ao ao mesmo tempo isso aqui vai retornar verdadeiro tá então no caso como true e true já são expressões verdadeiras o resultado dessa operação
aqui é true tá porque tanto a primeira quanto a segunda são verdadeiras isso aqui pode não parecer não fazer muito sentido para vocês né mas agora se a gente combina desta forma aqui utilizando parâmetros para agrupar essas operações 3 é maior do que 2 e 2 é maior do que 1 isto aqui baixo é a mesma coisa do que tá em cima tá isso aqui vai ser igual a true e isso aqui vai ser igual a true então ambas as expressões são verdadeiras e o resultado é verdadeiro aliás desculpa aqui eu inverti eu vou inverter
aqui agora sim ambas vão ser verdadeiras porque 2 é maior do que 1 ao mesmo tempo que 3 é maior do que 2 e a expressão and ela retorna falso se qualquer uma das duas expressões tornar falso Então eu preciso que todo mundo seja verdadeiro com nado com and para que o and retorne verdadeiro ou ou eu poderia utilizar o meu or que o or ele é mais permissivo ele permite que de repente uma das expressões seja falso como é o caso dessa segunda aqui e mesmo assim ele tá retornando falso porque ele tá perguntando
cara 3 é maior do que 2 ou 2 é menor do que 1 qualquer uma das duas me basta para que eu retorne verdadeiro tá se eu executo isso aqui ele retorna como true porque esta primeira aqui já foi suficiente para tornar o operador or um verdadeiro essa parte aqui pode ter confundido Algum de vocês e como eu comentei anteriormente em geral galera quando a gente tá estudando programação cada um desses conceitos Strings listas variáveis operadores de comparação em Cadeia como eu tô apresentando aqui agora a gente teria uma lista de exercícios gigantescas para que
vocês consigam fixar os conceitos tanto de listas ver todos os detalhes de lista todos os detalhes de de Strings tudo que a gente apresentou até agora não sei quanto tempo deu de aula talvez uma hora de curso na verdade né tudo que eu apresentei aqui eh em geral seria apresentado ao longo de uma duas três semanas de estudo e eu acho que hoje em dia a gente não praticamente não tem mais tempo a perder é importante que vocês entendam se programação é ou não é para vocês e a gente vai praticar isso aqui quando a
gente colocar o projeto na fazer colocar mão na massa no projeto tá programação é uma coisa que exige muita prá pra tá de verdade para acostumar bem o cérebro Mas como eu comentei antes eu não quero que vocês desistam da programação por estar vendo coisas como esta eu acredito que se tiver alguma dúvida até agora deixem nos comentários aqui embaixo eu vou atender mas eu imagino que vocês estão conseguindo acompanhar pelo menos esses conceitos por mais que não estejam entendendo para onde tudo isso aqui vai levar porque parece estranho que esses conceitos essas ferramentas aqui
nos levem a alguma coisa como essa ou como os outros projetos que eu já apresentei então eu peço que confiem em mim segurem mais um pouquinho que eu tenho que quando a gente chegar no projeto as coisas vão todas fazer sentido e vocês vão ver quero que vocês sintam que de fato Gostei da programação entendi o poder vou querer me especializar agora e entrar de cabeça nesse mundo isso aqui por enquanto foram os operadores de comparação em cade que eu sei que é um pouquinho chato fica algumas coisas que parece a princípio não fazem muito
sentido mas tudo vai fazer sentido no futuro tá confie em mim galera penúltima aula dessa parte introdutória de Python que vou falar com vocês é que eu vou explicar o conceito para vocês de estrutura de controle de fluxo Ou seja é a gente permitir que o código ele vá para um lado ou vá pro outro dependendo de alguma regra que a gente pré estabeleceu então eu vou apagar tudo isso e eu vou inclusive fechar o nosso rapt e eu vou apresentar para vocês o conceito do IF o if a tradução literal dele é C Então
é eu usando perguntando pro computador Dizendo para ele cara se alguma coisa acontece eu quero que tu faça algo então o if uma tradução literal dele é eu dizendo pro computador se ou seja se alguma coisa for verdadeira eu quero que tu faça algo Tá bom então vamos lá eu vou criar uma variável aqui que eu vou chamar de idade e vamos supor que eu tenho um programa que tá definindo se uma pessoa pode ou não pode dirigir tá a gente sabe que para poder dirigir eh é necessário que a pessoa tenha mais de 18
anos de idade e ten habilitação nós vamos criar com uma regra aqui que ele vai dizer se a pessoa pode dirigir caso ela tenha mais de 18 então para isso eu vou utilizar o if o if ele precisa vir combinado de um boiano tá Porque da mesma forma como a gente usa isso na nossa comunicação a gente sempre diz se isso aqui faça isso por exemplo o se eh reparem quando vocês usarem o c para se expressar que ele sempre vem casado de uma instrução que ela meio que retorna sim ou não tá no Python
não é diferente então eu vou Abrir parênteses aqui para colocar minha instrução aqui dentro e eu vou dizer para ele cara se a idade ela for maior do que 18 anos eu quero que quero printar aqui você pode dirigir tá para isso eu dou um dois pontos e eu vou dar um enter reparem que o mu automaticamente ele deu um espaçamento pra gente Esse espaçamento aqui vocês podem fazer de duas formas ou vocês deem quatro espaços você estão escrevendo em outro lugar ou deem um Tab do computador Opa Tab aqui ó esse botão tá isso
aqui vai ser importante pro Python entender que instrução está dentro dessa regra if tá que coisa ele deve executar caso isso aqui Seja verdadeiro e caso no caso casoo ele vai ignorar o código Então nesse caso eu vou colocar um print dizendo você pode dirigir dirigir meu código é simplesmente assim e aqui embaixo eu vou escrever outra coisa fim do programa quero que vocês parem e pensem um segundo que que esse programa aqui vai executar quando eu der Play nele Qual que é o resultado final espero que vocês tenham pensado eu vou executar aqui e
ou só fim do programa por quê Porque quando eu cheguei aqui 18 18 que é minha variável definida não é maior do que 18 na verdade deveria ser para poder entrar aqui deveria ser ou maior ou igual tá Então nesse caso dessa regra desse script que eu montei Ele simplesmente não entrou aqui dentro ele não executou você pode dirigir se eu altero o meu código colocando maior ou igual Isso aqui vai passar a ser verdadeiro e ele vai executar esse trecho de código aqui embaixo tá então eu paro e executo novamente agora ele retorna você
pode dirigir fim do programa tá uma coisa interessante é que a gente pode seguir escrevendo Várias Vários trechos de código aqui embaixo não precisa ser uma linha só posso vir aqui definir variáveis Posso colocar outro print por exemplo teste posso usar aquele nosso F anteriormente colocar essa variável a aqui dentro tá tudo que a gente colocar que venha sucessivamente ao if com esses espaçamentos ele vai entender que faz parte do nosso if tá então reparem eu executo aqui ele deu um erro na linha oito tá porque eu não fechei meu parênteses aqui deixa eu executar
de novo aqui ele disse você pode dirigir teste 10 fim do programa ele executou essas três linhas de código aqui próxima regra que eu poderia poderia ter para fixar um pouquinho mais os conceitos eu vou colocar uma outra variável aqui que é possui underline carteira ou seja a pessoa essa variável ela vai dizer se a pessoa Já possui carteira de habilitação então vou colocar que ele fez 18 anos mas ainda não possui carteira para poder dirigir ele precisa tanto ter mais de 18 quanto possui carteira então para isso eu vou ter que colocar o meu
end e eu vou colocar aqui o possui carteira lembrem que o end ele precisa comparar boleano com boleano e o resultado de uma operação de comparação é um bolano lembrem isso aqui é um bolano então eu posso comparar os dois tá então agora ficou um pouco mais restrito para eu poder dirigir eu tenho que ter mais 18 e possuir carteira se eu executo isso aqui agora ele simplesmente diz tem do programa ele não executa nada tá E esse end aqui ã poderia trocar por or por exemplo Tá e agora ele seria mais permissivo porque ou
a pessoa tem mais 18 ou ela ela possui carteira para poder dirigir cara que isso aqui real né porque eu poderia ter uma pessoa aqui de sei lá 2 anos de idade minha filha de 7 meses poderia dirigir se possuí carteira tá mas nesse caso aqui a gente poderia resolver para para ele poder ou não poder dirigir a lógica do script tem que tem que permitir a regra que vocês estão tando implementar na vida real próxima coisa que que eu vou eu posso alterar o código Agora posso criar uma outra estrutura que é chamado de
ELS ele vai fazer um segundo teste tá no caso o else desculpa Ele só vai me dizer ã ele vai executar caso isso aqui seja falso tá então eu vou tirar isso aqui por enquanto vamos colocar aqui print você pode dirigir else você não pode dirigir e eu vou agora tirar esse meu fim do programa então ele vai fazer o teste pra gente vou executar você não pode dirigir porque essa instrução aqui foi falso tá reparem que agora ele checou isso aqui se ele não caiu aqui ele caiu no else else a tradução literal seria
uma espécie de senão vou parar aqui e a terceira e última regrinha seria um elif que eu poderia fazer um novo teste Então se essa aqui foi fals por exemplo eu poderia vi aqui e colocar uma nova regra do IF tá vamos pensar por exemplo assim se ele tem mais maior ou igual 18 e possui carteira você pode dirigir tá se ele apenas possui carteira eu vou colocar aqui você apenas possui carteira espere a idade do contrário ele vai ter o não pode dirigir então vocês reparem que esse if combinado com for desculpa combinado com
boiano comparado com operadores de comparação em cadeia a gente tá decidindo que trechos de código Python vai executar ou não ele vai ignorar alguns trechos e vai executar outros trechos vou dar um play aqui ele vai me dizer você não pode dirigir porque eu não tenho nem carteira e nem tem idade e se eu alterar o código aqui por exemplo true sei lá minha filha que ela comprou carteira ele vai me cair nesse Segundo código aqui que você apenas possui a carteira espere a idade Tá bom então isso aqui é uma estrutura de controle de
fluxo ele define para onde o nosso código vai pode ser útil Em algumas situações e por hora é isso na próxima e última aula Desse nosso módulo introdutório eu quero ensinar para vocês o for que é uma forma da gente ficar repetindo o código até que alguma condição seja verdadeira e ele vai ser super útil para que a gente consiga printar aqui os nossos reviews de book ele vai ficar vendo todos os reviews tem review então printa tem review então printa tem review Então printa até acabar os reviews Essa vai ser a estrutura vai ser
a estratégia que a gente vai utilizar e o último elemento que a gente vai estudar do Python aqui antes de começar a desenvolver o nosso projeto é o for o for é o que a gente chama de uma estrutura de repetição é um laço significa que a gente vai ter uma estrutura aqui que vai permitir repetir algum trecho de código um certo número de vezes tá vamos ver isso aqui na prática então for é uma palavrinha reservada aqui do Python ele vai ter essa cor verde como outras palavras que vocês já viram e a tradução
literal seria alguma coisa como paracada tá E vai fazer sentido esse para cada quando a gente combinar com alguns elementos aqui então vamos começar gente criando uma lista chamando de 1 2 3 4 5 tá é uma lista de tamanho cinco elemento zero é o um elemento 4 é o c e todos inteiros aqui dentro no for a gente vai precisar combinar um iterável que a gente já aprendeu que é mal lista por exemplo existem outros iterável do Python mas uma lista serve a vai precisar pegar esse iterável e a gente vai usar o for
para decompor ele e ao mesmo tempo que ele vai decompondo esse nosso iterável ele vai executando trecho de código embaixo tá pode parecer um pouco confuso mas vamos ver o que isso acontece eu vou chegar no for e eu vou dizer assim para cada vou criar um nome de uma variável qualquer aqui eu crii a variável x isso aqui o for ele vai trocando do valor dessa variável tá é uma variável que vai ser descartada depois então vou colocar o nome dela aqui para cada X em Ou seja no A tá que que é o
a é a nossa lista então ele vai pegar e ele vai pegar cada um desses valores aqui e vai um de cada vez atribuir cada um deles a essa variável X Ele vai decompor o a e vai jogando o valorzinho de um de cada vez aqui dentro então para cada X no meu a eu vou pedir que ele faça um print do a aqui reparem a gente tem a mesma regra que foi feita antes no IF que isso aqui se chama identação do código para dizer que esse código aqui pertence ao for e o código
que pertence ao for só vai acabar quando a gente tiver um recol de identação se eu seguir colocando trecho de códigos aqui entados ele vai seguir executando isso aqui e nesse caso Olha o que que vai acontecer galera eu vou dar um executar aqui eu tinha que colocar x desculpa eu vou parar e vou re executar e olha aqui embaixo ele pegou cada um dos valores e colocou 1 2 3 4 5 ele foi colocando ali dentro tá então ele repetiu esse trecho de código aqui fez uma contagem pra gente sem que eu tivesse que
escrever print 1 print 2 print 3 e ele fez isso aqui muito rápido e eu garanto que se esse cara aqui tivesse tamanho 100.000 ele conseguiria fazer também de forma tão rápida quanto beleza e olha o que que interessante ao mesmo tempo que ele fez essa rodagem eu poderia vir aqui e colocar outras coisas por exemplo Vamos botar assim ó B mais aliás igual a igual a 1 mais desculpa Vamos definir um B antes Aqui B = 0 tá eu poderia colocar assim que B vai ser igual a B + X então isso aqui vai
ser executado uma vez depois ele vai definir de novo e executar de novo no e de novo e de novo e de novo até que no fim eu tenha o valor de B sendo como o somatório de tudo isso aqui quer ver eu vou executar desta forma e ele veio aqui Colocou 1 2 3 4 5 e ainda por cima me devolveu um 15 que é o somatório de todos esses valores então eu teria aqui um na primeira execução que é 0 mais 1 guardou em B esse valor um executou de novo venho aqui agora
agora o b Vale 1 e ele vai fazer 1 + 2 3 e vai guardar o 3 no B vai executar de novo vim aqui 3 + 3 que é = 6 depois vai executar de novo 6 + 4 = 10 e aí por fim 10 + 5 = 15 que tá aqui então o fora Ele é útil porque ele vai permitir que a gente desenvolva lógicas que precisem dessa repetição tá aqui galera eu utilizei como iterador como elemento pro for poder executar várias vezes uma lista que eu criei anteriormente qualquer tipo de iterável pode
ir aqui podem irem Strings aqui por exemplo Vamos colocar aqui string Tá eu vou tirar aqui essas operações que eu tô fazendo vou re executar ele decompos a string da mesma forma como ele fez com a lista só que o Python também tem possibilidade da gente utilizar o for de uma outra forma mais fácil que é utilizando uma uma uma ação do Python um método específico do Python chamado Range tá o Range ele vai criar pra gente uma sequência de números ele vai gerar pra gente uma sequência de acordo com parâmetros que a gente colocar
aqui dentro primeiro parâmetro do Range é o valor inicial dele então eu vou dizer que eu quero começar do zero o segundo parâmetro até ele abriu pra gente aqui se inclusive vocês tiverem utilizando um mu e abrirem o parênteses de algum m e derem barra de espaço ele vai dizer quais são os parâmetros desse cara então vou dizer onde que ele para Então vamos parar no 10 e por fim o step que é de quanto em quanto ele vai andando para chegar para ir do início até o fim vamos começar aqui colocando um então ele
vai iniciar no zero terminar no nove porque ele para um antes desse cara andando de um em um vai printar em x paro executo e ele fez a nossa Contagem semelhante ao que teria sido com a lista eu posso vir aqui trocar o step de dois então ele vai contar agora de dois em dois tá ou eu poderia também tirar o zero se eu não informo nada no start ele sabe que o start é em zero se eu não informo nada aqui no step ele sabe que o step é de um em um o único
valor que ele de fato precisa é onde ele vai parar que é o 10 tá então isso aqui é a mesma coisa que aquela função Inicial 0 10 1 eu posso colocar Range ã Range 10 então isso aqui vai ser super útil pra gente poder iterar sobre o nosso código repetir estruturas de de fluxo e repetir código e desenvolver uma série de lógicas a partir disso tá vai fazer melhor sentido quando a gente combinar todas essas técnicas aqui nesse nosso próximo projeto que é de fato o que usa análise de dados é claro que a
gente não tá pronto para poder sair construindo aquela tela que eu mostrei para vocês eu vou ter que usar umas bibliotecas adicionais do Python mas tudo que que eu mostrei aqui são componentes básicos do Python é como se um cozinheiro aprendesse a ligar um fogão aprendesse a fiar uma faca usar uma faca de verdade isso é que eu ensinei para vocês aqui agora para poder montar aquela tela Eu vou meio que comprar alguns ingredientes meio prontos no supermercado Python tem muito disso e eu vou combinar elementos prontos do supermercado com esses elementos básicos que são
mais difíceis de serem aprendidos por iniciante é mais difícil aprender a afiar uma faca aqui entre aspas com for com elementos de comparação principalmente se tu nunca programou Tá mas vocês vão ver que essa combinação de elementos prontos com elementos nativos do Python vai permitir que a gente chegue muito longe e muito rápido nesse ponto da aula em geral é esperado que um aluno chegue por volta de um mês de estudo teria feito muitos muitos exercícios de listas exercícios de Strings exercícios de for exercícios combinando todos esses elementos ele já ia conseguir desenvolver alguns scripts
ia ter treinado bastante lógica de programação só que a pior parte é que a gente vê que também nesse momento só 30% das pessoas que costumam começar a estudar chegam nessa parte porque já desistiram porque acharam chato porque repare a gente não tem muitos objetivos Claros aqui parece meio chato eu também sinto um pouco de um pouco de pena de quem tá assistindo não entendendo pô um fora vou repetir para que que serve essa repetição n por isso que eu decidi colocar um projeto a partir da próxima aula tá então o esforço de vocês agora
só vai melhorar e eu garanto que muito mais pessoas chegaram aqui do que as costumeiramente chegam nessa mesma etapa em cursos tradicionais próxima aula a gente vai colocar a mão na massa e montar um projeto bem [Música] legal então galera conforme prometido agora a gente vai começar a desenvolver esse projeto aqui ele é um aplicativo web ou seja existe um script de Python que tá rodando em background por trás que faz com que quando eu acesse um site específico eu tenho essa tela aqui carregada ele vai utilizar algumas bibliotecas de Python coisa que a gente
ainda não aprendeu mas eu vou desenvolver ao longo dessa aula com vocês e esse projeto aqui serve para analisar os dados de vendas dos 100 livros mais vendidos da Amazon coletados em novembro de 2023 Então a gente tem aqui a lista de livros com o preço dos livros rating o autor aqui embaixo eu tenho uma distribuição do ano na qual os livros foram publicados eu tenho aqui a distribuição de preço eu posso posso fazer alguns cortes nesses nesses dados para por exemplo pegar livros que não sejam tão caros reparem que o gráfico aqui ele automaticamente
ele ele muda em função de tudo que a gente fez tá posso clicar aqui na parte book review e também selecionar livro A livro para poder avaliar como é que poder ver como é que esses livros estão avaliados então eu tenho aqui o preço o ano a data de publicação e a vários comentários aqui de pessoas eu poderia colocar outras coisas nesse projeto à medida que a gente for desenvolvendo vocês vão ver como isso é feito e E é claro né A primeira coisa que deve estar passando na cabeça de vocês é como que eu
vou ser capaz de desenvolver isso aqui sendo que eu só aprendi alguns pequenos comandos aqui porque a gente aprendeu variável lista string que são conceitos básicos da linguagem de programação e parece que tá muito distante tudo que a gente aprendeu até aqui para poder chegar num resultado como esse que tenha vínculos e links e calma que a gente vai chegar lá mas como que isso aqui vai ser possível galera toda a linguagem de programação e o Python não é exceção existe a possibilidade da gente tá importando códigos que já foram desenvolvidos por outras pessoas muitas
vezes Esses códigos eles contém cálculos e lógicas e resolvem problemas de uma forma que a gente não precisaria estar se preocupando aqui então eu poderia puxar Esses códigos de terceiros e simplesmente começar a desenvolver a partir daí sera o mesmo que a gente comprar uma máquina para uma fábrica por exemplo a máquina já vem pronta e já faz a função dela e no Python a gente faz isso através da palavra reservada Import o Import vai permitir que eu pxe coisas tá então vocês devem estar imaginando já que se eu vou utilizar o Import para poder
fazer algumas coisas Eu precisaria conseguir puxar alguns códigos de terceiros que consigam fazer tudo isso aqui porque com certeza com listas e for os conceitos básicos de Python a gente não vai conseguir Claro mas por sorte Existem muitos módulos na verdade é isso que torna linguagem de programação poderosa o Python por se só porque existem uma infinidade de bibliotecas já prontas pra gente que quando a gente aprende a usar elas todo o nosso trabalho fica muito mais rápido e a gente pode combinar essas ferramentas que os terceiros já desenvolveram pra gente com ferramentas básicas do
Python que é o que a gente aprendeu até então e quais são as ferramentas que a gente vai utilizar para poder construir esse projeto em primeiro lugar vou vir aqui no Google e a gente vai digitar string lit string L vai dar enter vamos procurar o primeiro link não patrocinado aqui essa aqui é a primeira biblioteca de Python que a gente vai importar ela é uma biblioteca que permite que a gente construa aplicativos web muito rapidamente muito facilmente Ela é muito forte no Python e aqui a gente pode até ter uma ideia de tão simples
pequenos códigos aqui já conseguem fazer tudo isso pra gente Ela é muito forte porque ela casa muito bem com outras bibliotecas do Python de análise de dados que é onde eu comentei anteriormente o Python é forte e o string ele nos dá uma série de ferramentas para que a gente consiga trabalhar com dados e criar dashboards ou aplicativos web H semelhantes ao que eu vou mostrar aqui de forma super fácil eu já mostro como é que a gente pode utilizar ela vocês verem no site aqui strein it.io aqui embaixo posso vocês podem descer e dará
uma procurada por códigos de terceiros a gente tem aqui outros projetos que outras pessoas já desenvolveram por exemplo tenho aqui parte de análise de dados de esportes e diversão eu tenho projetos de ciência vamos ver alguns aqui gerador de moléculas Eu tenho um jogo se eu não me engano acho que ele não tá mais aqui tinha um joguinho que tinha sido desenvolvido com isso então esse esses aqui são todos projetos que se vocês repararem Eles parecem muito com esse projeto que a gente tá montando aqui então para poder desenvolver esse projeto eu vou ensinar para
vocês claro que o strein tem tem muita coisa para aprender no Street mas eu vou mostrar os conceitos principais para que vocês já consigam colocar um primeiro projeto em publicação e se se interessarem possam possam vir aqui na documentação dele e aprender sobre outras formas de construir projetos mais avançados isso aqui eu tenho outros projetos por exemplo se eu não me engano esse aqui analisando dados de esportes Eu tenho um outro aqui que tá fazendo uma análise de dados do Telescópio H comparando dados de telescópios Eu tenho um terceiro aqui que faz simulações de moléculas
com python e tudo isso é possível fazer com essa biblioteca stringed a segunda biblioteca que a gente vai utilizar para esse projeto é o pandas o pandas é uma biblioteca muito poderosa para manipulação e tratamento de dados quero que vocês entendam o pandas como como se fosse um Excel embutido dentro do Python só que a gente vai controlar esse Excel de maneira programática com linhas de código ela é uma biblioteca muito extensa eu já uso ela há mais de 10 anos e eu sinceramente não sei tudo da biblioteca eu devo saber aí Sei lá talvez
50% dela tem muita coisa que a gente pode fazer aqui dentro vou mostrar os conceitos principais mas entendam isso como uma ferramenta para manipulação de dados e a terceira biblioteca que a gente vai utilizar se chama plotly ela é uma biblioteca que permite que a gente construa gráficos com dados que são oriundos do pandas tá todos esses módulos aqui caso vocês queiram aprender aprender mais sobre streamlit queiram aprender mais sobre pandas queiram aprender mais sobre plot le a gente tem cursos lá nas Z imov Academy que são bem extensos quanto aí isso tu consegue desde
o zero até o avançado em cada uma delas isso aqui tem tudo n zov tá E aqui na parte do do plot le eu quero mostrar para vocês um pouco da documentação dele que a gente vai utilizar essa documentação aqui de Python para poder construir gráficos tá então existem diversos tipos de gráficos diferentes muito mais avançados que são possíveis de ser feito dentro do Excel uma customiz iação praticamente infinita e com poucas linhas de código sei que vocês Pode parecer confuso isso aqui dado que a gente nem explorou esses elementos mas a gente consegue construir
esses gráficos aqui então a estratégia para desenvolver esse projeto vai ser mais ou menos o seguinte eu vou utilizar o pandas para carregar esse conjunto de dados que eu já vou passar para vocês com dados da Amazon a gente vai carregar e começar a manipular esses dados usando pandas de posse desses dados eu vou utilizar o stramit para montar esse aplicativo web aqui e eu vou utilizar o ali para montar esses gráficos e vocês vão ver que essas três ferramentas por mais que elas sejam potencialmente complexas eu vou dar introdução básica pra gente já conseguir
resolver problemas como esse e até problemas mais complexos do que esse Então bora [Música] lá então galera antes de colocar a mão na massa e já começar a utilizar essas bibliotecas eu preciso dar uns Passos atrás e explicar algumas coisinhas que podem ter ficado não tão claras em relação ao p Python para que vocês entendam como ele funcione entendam Como que o streamit funciona que ele vai exigir algumas configurações a mais pra gente através do mu que é o nosso ambiente de desenvolvimento aqui conseguir passar por cima de algumas exigências do strein tá a gente
já conseguiu rodar alguns trechos de código aqui a gente simplesmente colocava trecho de código em Python salvava em arquivo e automaticamente o mu aqui ele executava isso e a gente tinha resposta aqui embaixo mas na prática o que que tá acontecendo E por que eu decidi instalar o mo utilizar o Mo porque o mo é um ambiente que ele vai passar por diversas etapas da instalação do Python que em alguns sistemas operacionais é um pouco mais chato para quem trabalha com Linux algumas distribuições de Linux Se não me engano ubun eu sei que tem ou
utiliza o macos como eu tô utilizando se vocês abrirem o terminal do computador vão reparar que se digitarem a palavra Python ou Python 3 que na verdade é a versão que eu tô utilizando Python a gente executa e aparece alguma coisa aqui ó Isso aqui é muito parecido com Apple do mo que a gente já tava utilizando Na verdade é um ambiente nesse sentido isso acontece porque tanto no Linux quanto no Mac OS o Python já vem instalado pro padrão no Windows Esse procedimento é um pouco mais chato vocês tem que instalar por fora e
o mu é um ambiente que simplifica muito isso porque ele já garante cria um ambiente de Python aqui isolado pra gente para que a gente possa executar ele normalmente tá em geral esse procedimento leva algumas não vou dizer algumas horas mas alguns bons minutos para iniciantes para conseguir instalar configurar direitinho no Windows Eu achei que o m ambiente mais fácil para isso pra gente direto pro código mas beleza aqui eu tenho ambiente de Python mas olha uma coisa interessante se eu vim aqui na pasta do Muro tá vamos supor aqui que eu esteja trabalhando com
um ambiente no caso Mac aonde eu já tenho o Python instalado Vocês não precisam executar o que eu tô fazendo aqui é só para entender o que que tá acontecendo se eu pegar essa pasta aqui e eu levar ela pro meu terminal tá o Mac tem um jeito arrar asando aqui eu consigo Puxar esse código eu vou dar aqui um CD significa Eu quero que o meu terminal entre naquela pasta eu vou pedir para ele listar para mim todos os arquivos que existem naquela pasta então reparem aqui agora que a gente tem o nosso arquivo
aqui há mundo ppai esse cara daqui eu vou colocar nele aqui um print hello world novamente e vou salvar tá quando a gente executa aqui quando eu coloco para executar por debaixo dos panos o mu ele tá usando esse comando aqui ele tá entrando num terminal digitando Python 3 e o nome do arquivo 1. olam mundo e no caso houve aqui a resposta tá ele printou aqui o ham mundo e o script encerrou que é dado pelo fato de eu est com o terminal aberto para poder digitar por que que é importante que vocês entendam
isso porque para conseguir rodar códigos de stramit O stramit Pede uma configuração um pouquinho mais chata em primeiro lugar o Python ele não vem com nenhum pacote de terceiros instalado então a gente precisaria instalar algum pacote de terceiros para instalar pacote de terceiros normalmente a gente viria aqui no nosso terminal digitaria Python 3 com código mesmo tá traço m para acessar um módulo do Python e eu acesso o módulo PIP que é o módulo de o pacote de instalação da do Python é o ambiente onde eu consigo puxar Esses códigos de terceiros e eu digitaria
install que eu quero que ele instale alguma coisa para mim e eu colocaria stramit ele vai baixar isso aqui e vai instalar o stramit nessa instalação de Python aqui eu digo nessa instalação de Python porque podem haver múltiplas instalações de Python no computador de vocês tá que nem de novo como eu falei anteriormente se vocês tentarem fazer isso aqui num no Windows sem instalação de Python no cmd vai dar erro tá importante configurar isso aqui a priori coisa que a gente não vai fazer agora mas esse comando aqui eu é normalmente o que a gente
faz para poder instalar pacotes tá então o seu D enter ele vai buscar na internet n onde é que tá o string vai tentar instalar no meu caso aqui eu já tenho o string instalado nessa instalação padrão de Python e vai atualizar alguns pacotes para mim e daqui a pouquinho ele vai dizer que a instalação foi bem sucedida ó foi certo beleza e tem mais um ponto agora pra gente conseguir rodar os códigos de um streamit tudo que eu tô falando para vocês aqui está na documentação do streamit tá é bem descrito aqui como fazer
isso tô só explicando de maneira mais simples eu criaria um script em Python qualquer eu importaria o string string como ST tá que que significa essa linha de código aqui eu tô importando agora a biblioteca essa biblioteca eu posso importar porque eu já instalei ela tá se eu colocasse alguma palavra aqui que não tivesse sido instalado ele retornaria erro dizendo que ele não encontrou o módulo e eu uso um s porque o s ele é como se ele Trocasse o nome ele criasse um apelido de St Para eu não ter que digitar quando eu quiser
acessar o strin aqui embaixo eu não preciso colocar stream P alguma coisa para poder usar as ferramentas do stream eu posso simplesmente digitar o ST é uma espécie de apelido e o hello world do stream a coisa mais básica que a gente pode fazer é escrever alguma coisa na tela só que dentro do nosso aplicativo web que é o que a gente vai fazer aqui agora eu vou utilizar o método pite vou passar uma string chamado Olá vou fechar e salvar o meu programa como é que a gente roda isso fora do mo eu teria
que ter essa instalação de Python que eu mostrando PR vocês aqui tudo isso aqui é descrito nos cursos das imov tá Fiquem tranquilos venho aqui colocaria stram Run e o nome do meu arquivo que é um olá mundo a executar isso aqui Ele carrega me diz algumas informaões aqui você ver o seu aplicativo stre no seu oal é esse IP aqui e isso aqui vai ficar rodando e agora eu tenho a minha página já feita com H mundo aqui simples assim tá para poder fechar esse programa eu daria um contrl C ele mataria isso ou
eu poderia vir aqui digitar um Python 3 puxar o modo stringed e fazer a mesma coisa que antes um underline olá mundo a mesma coisa vai acontecer ele vai criar aqui uma outra página para mim com o meu código por que que eu tô dizendo tudo isso se a gente não tem o Python instalado porque eu preciso que vocês entendam o que que eu vou alguns botões que eu vou apertar aqui para entender por detrás dos panos o que que o mu vai fazer de maneira simplificada para vocês como é que a gente instala pacotes
aqui porque lembra que eu disse o mu ele tem a sua própria instalação de Python então se eu tentar usar uma outra instalação vai dar erro eu preciso configurar as coisas aqui dentro então a gente clica nessa engrenagem aqui eu venho aqui em pacote de terceiros e eu coloco linha embaixo de linha todos os pacotes que eu quero utilizar no caso eles são string pandas e plot le Quando eu der ok ele vai começar a carregar os pacotes e vai instalar eles para mim um a um esse processo aqui pode demorar alguns minutos tá pessoal
porque ele vai ter que instalar muita coisa que ele ainda não tem e pacotes como pandas e o plot liles dependem de outros pacotes também isso aqui não é importante que a gente saiba porque por detrás os pandas eles resolvem muitas coisas pra gente e a gente pode começar a utilizar o Python e esses pacotes a partir de um ponto muito avançado que eu teria que desenvolver muita coisa para poder construir a partir daqui e vocês vão ver que utilizando essas bibliotecas o procedimento se torna muito mais fácil aqui ele deu finish deu um ok
e a minha instalação tá pronta só que qual o problema lembra que eu mostrei para vocês que o strin para ser executado ele precisa utilizar o stram to Run e o Python então se eu clico aqui em executar ele não vai acontecer a mesma coisa do que quando eu tava rodando com o stram l Run ele tá tentando utilizar aqui um Python nome do arquivo e reparem que ele vai até dar um errinho diferente não é um erro ele vai dar uma mensagem pra gente que diferente do que a gente espera aqui ele me disse
ó ã para poder ver o seu aplicativo streamlit no Browser Rode ele com o seguinte comando streamlit Run e isso aqui e os argumentos tá o mu como eu comentei anteriormente ele é uma ideia mais simplificada e utilizar o strl já é um pouquinho além das capacidades dele então existe uma forma que eu pesquisei da gente conseguir seguir utilizando o mu rodar scripts sem precisar ter esse strl it.run coisa que eu não conseguiria por dentro do do mu eu não conseguiria est rodando o script dessa forma aqui pelo menos eu não encontrei como H se
alguém souber por favor deixa nos comentários aí mas eu não consegui fazer dentro do mo ele rodar dessa forma a não ser de um jeito que eu vou passar para vocês aqui então o que que vocês vão fazer vocês vão simplesmente copiar um um script que eu vou colocar aqui a gente vai criar um novo arquivo tá esse aqui vai ser o nosso Executor de streamit tá e eu vou ter que pedir que vocês simplesmente copiem esse código porque ele Talvez vá um pouquinho além da do que eu apresentei até agora eu também não conhecia
eu copiei de um terceiro vi que tentei executar e funcionou ele vai fazer o seguinte é como se ele tivesse executando esse string P Run por dentro do Python ele usa uma biblioteca aqui do Python chamado Sis que permite que a gente acesse alguns comandos do sistema e do stramit ele vai importar esse módulo cli que está dentro do módulo web e vai chamar ele de St cli stram cli aqui ele vai criar uma lista stram Run o nome do arquivo que eu vou que vai conter o meu projeto em streamed Sis pesit e vai
executar esse aqui PM tá então esse cara aqui é quando a gente quiser desenvolver algum script eu vou vir aqui eu vou até trocar na verdade eu vou criar um arquivo novo vou chamar de Vou salvar isso aqui vou chamar esse meu projeto principal aqui vou chamar esse meu App principal de app.py Vou salvar e esse sem nome que a gente criou eu vou salvar ele de Runner PP ele que vai executar o nosso app. pai e aqui a última último elemento do Nossa variável eu vou trocar pelo nome do projeto que eu vou rodar
aqui tá fechei fiquei com dois arquivos o nosso projeto que vai entrar aqui dentro e o nosso Runner que vai lançar o nosso projeto por dentro do m tá tudo isso aqui só para poder passar por cima dessa Barreirinha tá pessoal não se estressem com esse código aqui porque isso aqui é é só um drible que eu dei no no mo a gente não costuma utilizar isso aqui na prática é depois que vocês passarem pela configuração inicial do Python de um outro jeito vocês vão ver que issso aqui resolve eu venho aqui vou dar um
Import stramit como ST vou digitar um strin it. WR digitar um olá mundo novamente salvar vi no Runner e executar agora repare que ele printou o meu hamond e um detalhe interessante pessoal é que eu posso vir no meu app.py começar a trocar o código vim aqui no meu navegador e carregar e ele automaticamente troca em tempo real sem eu ter que est pausando e execut utando a partir de agora a gente vai começar a construir o nosso projeto com algumas funcionalidades bem básicas do do streamit explicar um pouquinho para vocês de pandas e um
pouquinho de plot le e chegar naquele resultado [Música] final Beleza então vocês vão perceber agora que a partir dessa aula as coisas vão começar a andar muito porque foi uma configuração um pouco chata a gente conseguir de fato entender o que que é um pacote como instalar ele dentro do mu os princípios os conceitos por detrás do Python como rodar ele dentro do mo Beleza então agora a gente já passou pela parte mais difícil que é conseguir rodar um script stramit dentro do mo A partir de agora você vão perceber que as coisas vão andar
muito mais rapidamente tá então lembrem que quando a gente colocou na nossa configuração de pacotes de terceiro stream leit também coloquei o pandas e também coloquei o plot le pandas vai ser a biblioteca útil pra gente manipular dados e plot le vai ser a biblioteca pra gente construir gráficos Tá eu vou à medida que eu for usando alguns comandos pelo menos do plot al do stream eu vou mostrando a documentação das bibliotecas onde vocês podem encontrar a mesma coisa então pra gente começar o nosso projeto eu tenho aqui a pasta aonde nossos scripts estão aqui
tá o nosso olar mundo que eu vou até apagar a gente não tá utilizando mais isso eu vou criar uma nova pasta aqui dentro vou chamar de deira sets e vocês vão vir aqui vocês vão entrar nesse site aqui que é onde eu puxei esse conjunto de dados isso aqui é o kegle é uma rede social de análise de dados tem uma série de conjuntos de dados para vocês praticarem desenvolverem mod modelos de machine learning em cima para quem estuda deira Science H vocês vão baixar aqui clicando em download esses top 100 best selling book
reviews on Amazon tá é uma leitura de dados feitas em novembro de 2023 e vocês vão perceber que dentro desses arquivos vão vir Na verdade dois arquivos.csv que eu quero que vocês coloquem dentro dessa pasta primeiro lugar a gente vai ter o customer reviews e a gente vai ter o top 100 trading books Vamos abrir isso aqui tá Dá para abrir em qualquer no próprio Google sheets o gratuito né Caso vocês tenham o Excel ou mesmo aqui no no Mac e é um conjunto de dados que ele vai ter aqui o rank tá não sei
se dá para ver direitinho deixa eu até abrir aqui com numbers é no meu ele não carregou mas aqui a gente já consegue dar uma olhadinha no arquivo a gente tem aqui o rank tá que vai de um a 100 o nome do livro Preço rating autor ano de publicação é basicamente uma tabelinha em Excel e isso que a gente vai puxar dentro do pandas e começar a manipular e a gente tem esse outro aqui que seria o customer review que ele na verdade é uma é uma lista de todos os comentários feitos em cima
de alguns dos livros então tenho aqui o número do comentário o nome do livro O nome do review que a pessoa deu o nome da pessoa que fez o review Ou pelo menos o nick dela a avaliação desse review o review em si que é esse esse grande string aqui se eu avançar até o fim V ver se tem mais alguma coisa eu tenho aqui se ele Foi verificado a data que ele foi feito o momento que ele foi feito e aqui um o código do livro se eu não me engano que é um código
internacional dos livros Então são dois conjuntos de dados que a gente precisa conseguir trabalhar eles dentro do Python e curiosamente vocês vão perceber que à medida que eu for importando as coisas e trabalhando com essas bibliotecas todos os conceitos que a gente aprendeu até então de listas variáveis for vão surgindo aqui misturados com essas bibliotecas que eu tô ensinando aos pouquinhos aqui então como é que a gente faz coloquem um arquivo aqui dentro tá na pasta dataset a gente vai vir aqui no nosso código e vai colocar Import pandas e eu quero dar o apelido
de pd pro pandas vou tirar aqui esse nosso olá mundo eu vou criar duas variáveis que agora que vocês já sabem o que é variável né A primeira vai se chamar DF reviews eu já defino ela e a segunda vai se chamar DF top 100 books então Claro que vai ser uma para cada um destes dessas tabelas que a gente abriu aqui como é que eu faço pro pandas ler isso aqui isso aqui é um arquivo csv é um dos arquivos de uns arquivos de dados estruturados mais comuns da internet tá uma série de programas
que vocês forem utilizar exportam arquivos no formato csv o próprio Excel trabalha muito bem com isso é um formato bem consolidado e que essa biblioteca aqui o pandas ele tem o que a gente chama de um método método nada mais é do que como se fosse aquelas ações que a gente tava pedindo pro Python print Lan etc o pandas tem os dele e a gente vai começar utilizando um chamado read underline csv quero que ele Leia um arquivo em csv para mim vou Abrir parênteses aqui vou passar uma string e essa string aqui ela vai
ser especial ela vai ter que conter o caminho do meu arquivo como é que eu sei o caminho do meu arquivo esse script do mu aqui ele vai executar partindo deste ponto aqui então o caminho do meu arquivo nada mais vai ser do que datas sets e depois o nome do arquivo Então vou colocar aqui deira sets uma barra para indicar que é dentro de uma pasta e pegar aqui um por vez Primeiro lugar eu vou pegar o meu customer reviews p csv e em segundo lugar eu vou copiar isso aqui trocar aqui o customer
reviews e copiar aqui o top 100 Training books colocar aqui no fim como nome do arquivo vamos testar isso aqui se eu vim no meu string colocar aqui DF reviews para colocar simplesmente solto aqui embaixo o stramit ele é inteligente suficiente para mostrar essa tabela na tela vamos ver lembra que eu não preciso atualizar o meu programa posso vir aqui na verdade é ele simplesmente rodou normalmente e aqui eu tenho aquela tabela já carregada Então olha que simples ó meu projeto objetivo tá aqui e o carregamento aqui praticamente já foi feito de forma inteligente pelo
stream com algumas configuraçõe zinhas aqui eu posso até pesquisar alguma coisa aumentar a tabela explorar ela tudo isso aqui o Python já nos deu de graça de maneira bem fácil tá quem deu na verdade foi o streit se vocês repararem o streit também coloca dois botõezinhos aqui tem um que é interessante que a gente pode vir aqui em settings clico em sets eu posso clicar Wide mode para ele esticar e não manter nenhum tipo de Margem e eu posso inclusive também usar um um modo Preto ele tem um modo preto e um modo Light eu
vou deixar aqui o padrão do sistema mas caso vocês queiram programar com modo Preto fiquem à vontade e agora a gente tem mais espaço para trabalhar porque esse meu código Aqui tem bastante espaço só que se a gente atualiza ele volta para configuração inicial Tá ele perde essa noção de de de espaço então para isso Eu precisaria vir aqui utilizar um outro método stram eu vou usar o método aqui set page config digito aqui a palavra layout e eu vou dizer que o layout vai ser igual a string Wide isso aqui como eu tinha dito
anteriormente é um parâmetro dessa função aqui set page config então agora atualizando o meu programa sempre dá um F5 no Mac a Command R eu já tenho o meu gráfico renderizado Beleza então as coisas já estão avançando eu tenho uma tabela na mão isso aqui que a gente carregou é essa tabela esse arquivo csv carregado dentro do pandas pronto para que a gente consiga manipular ele eu vou fazer uma coisa diferente aqui com vocês pessoal eu vou abrir um abrir um rapple aqui no canto eu vou utilizando esse rapple vou deixando o nosso comando de
nosso código de string carregado aqui mas aos pouquinhos eu vou jogando algumas coisas aqui pra gente poder entendendo como que o o pandas principalmente Funciona porque e ensinando pandas rodando diretamente no no streamlit aqui não é a melhor coisa Quero mostrar algumas funções mostrar como as coisas funcionam aqui dentro e aí por isso eu vou deixar esse rapple aqui aberto tá mas isso vai ser assunto paraa próxima aula então dando continuidade agora a gente tem uma série de coisas novas a gente tem aqui na esquerda o nosso script strein que tá sendo executado e garantindo
que o nosso servidor fique de pé eu abri um rapple aqui no canto para que a gente possa testar um pouco disso que a gente acabou de carregar essas variáveis novas aqui o pandas eu quero mostrar algumas coisinhas para vocês do pandas entender o que que de fato a gente tem n nossas mãos como é que a gente pode trabalhar com esse dado para colocar isso aqui dentro da nossa aplicação Então vamos lá eu vou replicar no nosso rapple aqui tudo que a gente fez até então porque isso aqui é uma Instância separada do Python
isso aqui não tá não tem nada a ver com isso são coisas distin tá ocupando lugares diferentes na memória do computador então eu preciso reimportar e carregar aqui dentro tudo que já existe aqui na esquerda Então vamos começar aqui com pandas como pd reparem Até que a sistema de cor dele é melhor do que o do do que o do mo eu vou executar e eu vou vi aqui só carregar essa linha aqui vamos começar com df reviews ele executou carregou pra gente e eu tenho na mão essa variável aqui chamado DF reviews o que
que é isso aqui galera isso aqui é o que eu disse que o pandas ele é a biblioteca que funciona como se fosse um Excel dentro do Python então isso aqui seria como se fosse a nossa tabela eu posso vir aqui perguntar o tipo desse dado e pro pandas isso aqui se chama um Data Frame um frame de dados por isso que eu coloquei o nome DF aqui porque comumente a gente trabalha com os dados dessa forma se eu pedir pro app mostrar o que que ele tem aqui repar que tá até um pouco difícil
de ver porque ele colocou aqui do jeito dele tá tá horrível de ver na verdade mas o daquela tabela que a gente tá vendo bem bonitinha aqui processada Então nada mais é do que uma tabela tá E essa tabela ela tem algumas peculiaridades aqui embaixo ele nos dá uma instrução dizendo que ele tem 920 linhas por 10 colunas e o pandas é uma biblioteca muito muito muito muito rica pra gente conseguir manipular esses dados eu acho que muito mais forte do que o Excel muito mais forte que qualquer outra biblioteca ou outro software de tratamento
de dados porque ele nos dá praticamente de customização infinita para que vocês dominem bem o pandas eh tem um curso na plataforma que fala sobre isso mas são 3 4 horas para vocês pegarem aí 10 20% que a Biblioteca tem eu vou mostrar aqui as coisas principais então em primeiro lugar o pandas Ele trabalha com os dados de maneira tabular então os dados agora eles vão ser uma tabela é claro né E eles vão ter uma coluna aqui na esquerda sempre a mais da esquerda que é chamado índice dela esse índice aqui vai ser super
importante pra gente conseguir loc anizar cada um cada um dos elementos e eu vou ter aqui as minhas colunas tá cada um dos índices com colunas vai ter um valor associado então se eu peço para ele mostrar ele não não mostrou muito bem mas eu posso vir aqui no meu no meu dataframe posso utilizar anotação de ponto e posso tanto pedir dados para ele colocando algumas palavras específicas aqui ou posso pedir que ele faça coisas desempenha ações colocando outras palavras específicas só que que nesse caso é preciso que a gente abre e feche parênteses como
eram nas ações do Python que eu expliquei anteriormente então uma dessas palavras que a gente vê os dados eu quero que ele mostre quais são os índices que ele tem e ele me disse aqui que ele tem um age index que inicia no zero e vai até o 920 Então são vários numerozinho 1 2 3 e assim por diante posso vir aqui e perguntar Quais são as colunas que tu tem colums é outra palavra reservada e ele me devolve aqui uma espécie de lista com cada uma dessas palavras sno que não sei o que que
é deve ser um um índice da do livro ou algo assim book name review title reviewer review rating ou seja tudo aquilo que a gente tinha visto no csv de maneira separada pandas tem uma característica interessante que eu posso utilizar an notação de colchetes aquela mesmo que a gente estava utilizando em Strings e em listas para poder acessar os elementos aqui se eu passo para ele uma string ele vai me devolver um corte de uma coluna apenas então se eu vim aqui perguntar por exemplo book name eu quero ver como é que me diz que
que que tu tem aí no book name ele vai fazer um corte só aqui só nesses valores aqui e me devolver isso aqui em ordem conforme eu pedid tá então eu executo aqui book name Ele disse que deu um erro porque na verdade não tem esse underline aqui é book esp name e reparem agora que ele devolveu essa lista aqui começando woman me e vai indo botou uns três pontinhos que ele não consegue colocar os valores e o onk donk que seria o último dos valores que estaria aqui embaixo tá aqui o Walk doing então
todos esses valores aqui já estão carregados na memória eu vou utilizar alguns métodos específicos para trabalhar com esses caras então vamos voltar aqui pro nosso projeto Qual a primeira coisa que a gente quer fazer e tem mais uma configuração Zinha interessante que eu quero mostrar para vocês que nessa anotação de colchetes se eu passo uma string ele me devolve só uma das listas só que eu posso utilizar uma outra anotação aqui aqui dentro para poder fazer algumas operações com o meu conjunto de dados por exemplo eu tenho aqui um conjunto que tem 920 comentários mas
eu poderia cortar isso aqui e fazer um filtro que nem no Excel a gente tem quando a gente clica em filtrar algum valor é possível ser feito isso com panos de uma outra lógica como é que é essa lógica eu abro o meu colchete venho aqui e faço o seguinte quando eu coloco alguma string eu vou cortar naquela coluna mas quando eu não faço isso a outra anotação que eu tenho é utilizando a É como se eu pedisse coisas pro pandas e o que eu vou pedir para ele é o seguinte pandas corte para mim
o DF reviews quando esse colchete aqui simbolizaria um quando o DF reviews daí eu faço uma seleção em alguma coluna que eu quero filtrar vamos supor que eu queira pegar por exemplo preços menores do que 50 Então vamos colocar quando book Price ele for menor do que que 50 isso aqui agora eu tô fazendo uma comparação de cada um dos valores do book Price aqui é separado cada um dos valores do book Price com esse inteiro que eu passei aqui com essa anotação que a gente já aprendeu de operação de comparação Se eu der um
enter aqui ele deu outro erro deixa eu ver qual que é o erro certo book andline Price desculpa galera eu tô trabalhando com os reviews os reviews realmente não tem isso preciso substituir isso aqui por DF topbooks que tem nosso book Price e aqui a gente precisa carregar ele né que eu não tinha carregado ele na memória só o reviews agora assim vou fazer esse corte aqui o meu DF top books ele tem 100 livros né se eu peço para ele cortar quais são menores que 100 ele devolveu aqui 100 então pelo v não tem
nenhum livro custa mais de 50 vamos pegar abaixo de 10 Aí sim ele cortou nesses livros aqui que são os únicos abaixo de 10 tá reparem que aqui ele pulou alguns livros ó o livro 91 livro 92 depois do livro 94 96 ele passou por cima disso para que que isso vai ser importante porque aqui no nosso projeto eu vou querer fazer alguns cotes de acordo com alguns filtros reparem a gente tem uma um seletor aqui que vai cortar livros em função do preço que eu vou est colocando vai modificar essa tabela aqui é isso
que a gente vai utilizar essa anotação de colchete vamos fazer isso então vamos lá como é que eu faço isso primeiro lugar eu vou ter que criar esse nosso slider aqui e ele vai de dois até 48 que são os valores mínimos e máximos dos livros que ele encontrou Então como que eu posso fazer isso eu vou vir aqui vou criar uma variável que eu vou chamar de Price Max ele vai ser igual a df. topbooks vamos pegar aqui a coluna book Price conforme eu tinha mostrado para vocês antes e eu vou utilizar um método
chamado ponto max esse método aqui ele vai procurar pelo maior valor de todos os valores dessa coluna que a gente fez esse corte e me devolver um único valor e gravar nessa variável aqui Price Max se eu venho aqui copio isso executo aqui embaixo e pergunto para ele Qual o valor de Price Max ele me devolveu que foi 48 é o maior valor observado eu vou fazer a mesma coisa só que eu vou substituir o Max pelo mínimo e aí de posse do valor máximo e mínimo eu vou poder criar esse nosso slider Como que
eu faço isso vocês podem até vir aqui na documentação do do stream clicar aqui em Docs ele vai abrir todos os componentes todas as explicações de como usar biblioteca em alto nível isso aqui demoraria um tempo pra gente poder passar sobre todos esses componentes tem um curso a parte de stream lit mas aqui a gente já consegue utilizar os componentes mais básicos eu vou clicar aqui embaixo em stram components Na verdade nem é aqui pessoal deixa até voltar essas páginas aqui que tem um ambiente melhor agora de fato a gente clica aqui em API reference
e aqui vão ter todos os componentes e como a gente pode utilizar cada um deles vocês podem explorar bem isso aqui tem diversas coisas como colocar elementos de textos como colocar sei lá títulos cabeçalhos elemento de dados algumas tabelas tem gráficos a gente vai utilizar esse Matrix aqui para começar a gente tá interessado em alguns controladores que são esses input widgets eles vão permitir que a gente interaja com o nosso conjunto de dados aqui tem como utilizar botão botão de download ir para alguma galeria Vamos começar com os nossos slider então ele vai explicar aqui
como é que funciona o slider dá algumas regras de funcionamento a gente vai passar isso aqui direto para um código de exemplo com o resultado tá então como é que a gente usa um slider seria basicamente assim ST de string P slider vou colocar algum textinho aqui que ele vai ficar em cima do Slider o valor mínimo o valor máximo e o valor inicial então aqui no meu caso eu vou dizer que o meu slider ST slider vai ser igual Aliás não vai ser igual eu abro parênteses Isso aqui vai ser igual a meu intervalo
de preço meu Price Range o valor mínimo vai ser o meu PR Price min que é o que a gente configurou aqui em cima o valor máximo vai ser o meu Price Max e eu vou começar com o price Max ao salvar o string tem uma configuração interessante que ele vai desenhando de cima para baixo Então posso voltar aqui no meu projeto atualizar e ele vai colocar agora o meu slider aqui e como eu tinha tirado o gráfico aqui embaixo Ele simplesmente sumiu precisaria redesenhar tudo que eu for colocando embaixo disso O string Vai empilhando
um embaixo do outro tá mas só me perguntar tá mas o Rodrigo no teu projeto ele tá aqui no canto como é que eu faço para esse slider deixar de estar aqui e ir para esse canto porque aqui eu posso digitar ST pon passar o nome do componente que é o slider que eu tô utilizando ou eu poderia dar um ST e dizer que eu quero desenhar no sidebar ele também possui uma sidebar na esquerda eu posso jogar os dados para lá então venho aqui e atualizo e ele colocou agora o meu slider no sideb
por enquanto isso aqui não tá fazendo nada ele simplesmente é um slider que a gente troca mas nada tá acontecendo no meu código como que a gente faz a coisa funcionar eu preciso definir uma variável para isso aqui então eu vou chamar isso aqui de Max Price toda vez agora que alterar esse valor essa variável vai ser alterada e eu vou fazer o nosso filtro no conjunto de dados Como que eu faço isso eu pego aqui o nosso DF topbooks e vou abrir o nosso colchete e vou dizer DF topbooks abre colchete que vai simbolizar
quando quando o DF topbooks book Price Então eu só quero quando o preço for menor ou igual ao meu preço máximo Então reparem que a gente agora conectou o nosso slider através da variável Max Price com esse cara aqui e já fiz um filtro aqui dentro essa aqui é a condição para ele filtrar e o colate vai permitir que ele aplique o filtro do dataframe final eu poderia se eu quisesse definir uma nova variável com isso aqui na verdade é o que eu vou fazer porque eu vou seguir utilizando isso aqui ao longo do meu
código inteiro eu vou chamar isso aqui de DF books e eu vou vir aqui embaixo e eu vou simplesmente deixar ele solto aqui que o strn vai entender que tem que printar ele na tela Vou atualizar e agora reparem que eu já tenho um slider que tá simplesmente fazendo filtros aqui em tempo real com os meus [Música] dados Então galera vamos dar continuidade aqui só queria fazer um comentário aqui olha que interessante com 13 linhas de código eu sei que essas últimas duas linhas de código aqui pareceram um pouco assustadoras Mas se vocês olharem com
calma não é tanto tá e eu sei que tem muita coisa também aberto em relação a streamity a pandas muitas funções Talvez tenham ficado com dúvida que vocês tenham ficado com dúvida mas o interessante notar que é com poucas horas de aula de Python que isso aqui em geral eu estaria dando pro terceiro quarto mês de estudo e a gente tá conseguindo fazer aqui já um projeto bem interessante que alunos demoram muito tempo para conseguir chegar nesse nível e claro que tem muita coisa coisa que a gente precisaria ver e para poder complementar bem esse
projeto mas a ideia é que vocês já consigam estar desenvolvendo algo bem legal e e partam daqui motivados para poder estudar as especificidades de cada um dos componentes do Python mas vamos continuar que que falta fazer nesse nosso projeto a gente já tem aqui a seleção de filtro Vamos colocar esses gráficos aqui como é que a gente faz gráficos no Python para isso a gente vai utilizar aquela biblioteca que eu tinha comentado anteriormente que é o plot le Eu não importei o plot le ainda então a gente vai vir aqui em cima e eu vou
digitar Import plotly só que do plotly existem muitas coisas dentro do plot le ele tem como se fosse dentro dele muitas bibliotecas e uma delas é como se fosse a biblioteca expressa é a mais rápida permite que a gente faça coisas mais simplificadas para poder acessar essa simplificada Eu vou digitar aqui plotly Express e eu vou importar isso como PX digito SX para dar o apelido de PX para não ter que est utiliz usando a palavra plotly Express e do plotly Express a gente vai criar um gráfico de barra que é esse gráfico aqui que
ele tá mostrando para mim como é que tão as distribuições de de anos de livros lançados nessa faixa de preço que a gente já selecionou isso aqui na verdade é uma espécie de histograma tá e dentro do plot le a gente tem duas formas de fazer uma que vai envolver o uso do pandas E outro que vai envolver o uso do próprio plot le eu vou mostrar as duas para vocês para demonstrar como eu faria isso com plat le eu preciso antes mostrar uma função inha do pandas que também é interessante que ele faz uma
certa análise para mim dentro dos meus conjuntos de dados que na minha tabela aqui a gente tem uma série de anos aqui né 2023 23 23 18 23 e assim por diante e uma operação muito comum quando a gente tá trabalhando com tabelas como essa seja no Excel ou alguma outra ferramenta é pensar assim cara quantos valores eu tenho aqui dentro e quantas ocorrências de cada valor eu tenho aqui dentro ou seja quantos valores eu tenho de 2023 quantos eu tenho de 2018 quantos eu tenho de 2017 de todos os valores que eu tenho Qual
a contagem de cada um isso aqui no Python aliás no pandas é facilmente feito através do método value counts então a gente escolhe a coluna que eu quero analisar nesse caso aqui eu vou colocar a coluna ear of publication vou apertar um ponto aqui na coluna é uma operação da coluna existem vários tipos de operações eu mostrei para vocês já o Max que pega o maior valor o min pega o menor valor o value counts é um deles quero que ele conte para mim quantas aparições de cada ano ele tem então eu vou dar um
enter aqui aqui ele deu um errinho tá porque eu tô pegando o DF books que tinha tinha sido um fil feito um filtro em cima dele vou trocar ele pelo meu dado original vou dar esse value counts e ele devolve para mim essa Contagem ele me disse aqui ó cara 2023 tu tem 28 2022 tem 8 2018 8 e assim por diante e é isso aqui que eu vou plotar no meu gráfico como é que eu faço isso então é simples assim eu digito plotly Express que é a biblioteca de plot eu vou dar um
ponto bar que eu quero uma plot do tipo barra e quem que eu vou plotar eu vou plotar o meu DF books que é o que a gente tinha executado aqui Ponto value counts Isso aqui já tá pronto para ele fazer um gráfico de barras para mim só que se eu colocar só isso não vai funcionar no stram a gente precisa pegar esse gráfico ele vai criar uma figura para mim e mostrar em tela então eu crio uma variável que eu vou chamar de fig e eu vou usar um método string chamado plotly que é
a biblioteca que eu tô utilizando sharts e eu passo como parâmetro dela o fig salvei volto para cá Vou atualizar agora reparem que ele já plotou para mim o meu ear of publication aqui embaixo tá o meu DF books eu acabei tirando vou colocar ele de novo aqui para poder voltar então eu vou ter agora o meu DF books aqui e o gráfico ao mesmo tempo e esse filtro que eu faço aqui ele opera ao mesmo tempo nos dois então a primeira análise que eu já consigo fazer com esse conjunto de dados é ver que
em geral os livros que são os best seller costumam ser os livros mais recentes o ano de 2023 é o ano que curiosamente mais tem livros bestseller 28 aqui depois 22 começa a Caí e tem anos aqui abaixo de 2010 a gente praticamente não tem ficando com alguns clássicos tá tá interessante saber quem que será que esse clássico Good night e night night enfim eh e eu poderia pegar aqui por exemplo e criar outra outro gráfico que é o necessário aqui pra gente poder ver a distribuição de preço só que em vez de fazer aqui
com value counts eu vou utilizar outro método do stramit eu vou criar uma outra figura vai ser um fig 2 Vou colocar aqui meu PX histogram que é um método para criar histogramas que ele calcula automaticamente e dessa vez eu vou simplesmente colocar que eu quero fazer um histograma dos preços dos livros criei numa figura dois venho aqui faço a mesma coisa dou um fig 2 aqui crio um faço uma nova pilotagem salvo atualizo e eu tenho agora um gráfico embaixo do outro mas Rodrigo aqui quando tu plotou tu colocou um lado do outro cara
como é que tu faz para poder colocar eles aqui não quero que eles fiquem embaixo o strein tem uma possibilidade da gente conseguir trabalhar com nossas plotagens Ele sempre vai colocando embaixo do outro né mas eu teria possibilidade de colocar lado a lado e isso a gente faz vindo aqui coloco Call 1 Call 2 Tá e isso aqui vai ser igual ao stcs e eu digo que eu quero duas colunas Então essa função aqui stcs ela vai devolver duas variáveis ao mesmo tempo qu um e qu dois e aqui Eu dividi a tela em dois
e ao invés de sair plotando no string eu posso pegar esse meu col1 aqui e plotar Call do aqui ao salvar agora nesse momento aqui que eu chamei as colunas Ele criou as duas colunas para mim e eu posso ir plotando embaixo uma da outra então gente olha que simples a gente teve aí sei lá Du horas de aula para poder chegar no desenvolvimento desse projeto aqui e construir isso aqui muito rapidamente e com o que eu já mostrei para vocês Vocês já conseguem montar auto tipos de gráficos por exemplo se vocês quisessem ver fazer
um outro filtro aqui para poder filtrar ã o infiltrar o ano de publicação escrever aqui no meio escrever aqui em cima criar uma terceira coluna aqui no canto colocar esse gráfico aqui em cima vocês já conseguem mesmo com poucas horas de código em Python mesmo de poucas horas aqui de aprendizado a gente já tá conseguindo montar anális como essa que eu acredito que vocês também já conseguiriam montar para projetos práticos do dia a dia de vocês esse é o poder do Python a gente passa por um esforço inicial do começo aprendendo uma série de coisas
que a princípio a gente não tá entendendo onde elas vão lidar e do nada isso aqui acontece e a gente já tem um projeto útil como esse a gente já utilizou aqui um pouco de Strings a gente utilizou os conceitos de variável a gente utilizou os os conceitos de métodos e usamos um pouquinho o conceito de bibliotecas tem muita coisa ainda para aprender na linguagem obviamente a gente vai dessecar um pouquinho mais quando a gente for construir a nossa segunda tela que aqui vai aparecer o conceito de for tá e as métricas aqui mas eu
quero que vocês já consigam sentir que com poucas linhas de código feito em pouco tempo aqui a gente já tem um resultado super legal na na próxima aula a gente vai finalizar o nosso projeto E também o nosso [Música] curso e agora vamos encerrar o nosso projeto galera então o que que tá faltando aqui falta a gente desenvolver essa segunda página aqui books reviews Então se a gente der uma olhada ela tem aqui um elemento de seleção do livro dos livros que é diferente do primeiro aqui a gente tinha um slider aqui é mais para
um select Box uma caixinha de seleção que ele vai precisar listar todos os livros e permitir que a gente Marque um a um quando a gente escolhe um livro ele tem que colocar o nome do livro aqui o gênero do livro criar três colunas que a gente já aprendeu Como cria colocando preço rating e ano de publicação aqui provavelmente vai aparecer aquela formatação de string que eu mostrei para vocês lá nas aulas de string encaixando string com float aqui eu coloquei uma linha para dividir e eu vou fazer um for para ir repetindo o código
de plotagem dos meus das minhas as descrições em cada um deles aqui embaixo tá então vamos lá que é um trabalho não tão complexo mas tem algumas coisinhas que a gente tem que cuidar primeiro lugar como é que a gente faz novas páginas no streamit vocês vão precisar no arquivo que vocês estão rodando que no caso é web.py na mesma pasta que tá esse arquivo a gente vai criar uma outra pasta chamado pages e nesta pasta pages que a gente vai colocar as outras páginas do nosso projeto Então vou criar aqui um novo arqu arquivo
Eu Vou Chamar esse arquivo aqui vou salvar colocar ele dentro dessa pasta pages que está aqui vamos colocar um outro nome aqui de book reviews PP vou dar um Import string novamente a gente cria como se fosse um projeto s meet de novo como ST vou dar aqui um stw escrever test salvo volto no meu projeto atualizo e aqui eu já tem uma segunda página ao clicar aqui a gente tem o teste rodando então é simples assim múltiplas páginas É só vocês irem colocando novos arquivos dentro da dessa pasta Beleza vou deletar esse nosso teste
agora e eu vou copiar aquele aquela Nossa lógica de leitura dos dados porque eu vou precisar desses caras aqui aqui dentro também para poder ler ali Quais são os livros que a gente tem fazer a seleção deles e assim por diante Primeiro lugar eu vou criar uma variável que vai ser utilizada aqui para poder montar essa lista de livros que eu vou selecionar Então vou chamar isso aqui de books como é que eu faço Quem são os books eu vou pegar o nosso nosso Data Frame vou selecionar na coluna book underline title tá faço aquele
corte como mostrei para vocês e tem alguns métodos do do pandas que a gente pode utilizar aqui eu vou utilizar o Unique o Unique ele vai pegar todos os nomes únicos e cortar as edições que ele que ele tem e nos devolver uma lista esse então isso aqui vai ser uma lista contendo os nomes dos livros e cada um dos dos nomes vai ser uma uma string de maneira individual vou até executar isso aqui aqui embaixo para vocês verem isso aqui acontecendo ó ó tá aqui cada um dos livros ó de maneira separada eu poderia
vir aqui no Unique colocar aqui por exemplo o zero para poder selecionar a primeira aparição Eu tenho um nome aqui Iron Flame vamos pegar aqui um outro nome H The Woman in Me vamos pegar aqui o dois My name is Barbara e assim por diante tá todos os nomes estão de forma separadas ali beleza que que eu faço com isso agora eu vou criar uma variável chamado book e eu vou usar o método string psid bar fazer o desenho no sideb pon selectbox tá que que é o select Box se eu venho aqui no streamit
é esse elemento aqui eu posso clicar em putut widgets a gente vai trabalhar com esse cara aqui aqui ó eu tenho select Box que é a caixinha de seleção também teria o mul select que permite que eu faça várias seleções ao mesmo tempo mas nesse caso a gente tá interessado em uma por vez Então é isso aqui Aqui tá a documentação Caso vocês queiram dar uma olhadinha em outros parâmetros que a gente tem ah Opa cliquei em M select aqui select Box mas a regrinha aqui é bem simples é só colocar select Box o nome
que vai aparecer em cima que é esse nome aqui e algum tipo de iterável que conté os elementos que ele tem colocar só isso tá e definir isso aqui em uma variável Então a gente vai colocar aqui o nome vai ser igual aos livros e o iterável vai ser essa lista que a gente acabou de criar se eu salvo volto aqui e atualizo a gente tem agora essa caixinha de seleção Opá tive um probleminha aqui que eu não importei o pandas Agora sim ó reparem que tá pandas pd não foi definido agora eu atualizo vai
funcionar e eu já tenho essa lista de seleção aqui aqui que é os valores únicos que aparecem no nosso Nossa lista de livros beleza que que eu faço com isso agora agora a gente vai fazer aquele filtro que eu mostrei para vocês anteriormente que a gente já fez outras vezes aqui seleciona aqui um DF books vamos começar pegando nele eu quero só os livros no caso né DF books quando o meu DF books book title for igual esse aqui é um operador de igual que eu acho que eu não mostrei para vocês dois iguais é
uma pergunta se as coisas são iguais e e um igual só é um operador de atribuição eu gravo um nome de variável em outro vou perguntar sempre que ele for igual ao book e aqui a gente fez a seleção E no fim Vou colocar aqui DF book como sendo igual a isso então o DF book agora Basicamente já é o nosso Data Frame principal filtrado apenas naquele livro se eu vim para cá colocar para plotar reparem que eu posso vou trocando aqui ó e ele vai escolhendo apenas um por vez vou fazer a mesma coisa
nos nossos reviews tá a lógica vai ser bem simples pessoal vou até copiar essa linha de cima aqui vamos colocar DF reviews só que eu vou colocar um under underline f de filtrado troco aqui troco aqui e o nome não é book title vocês podem dar uma olhadinha até no reviews é book name tá na forma como tá aparecendo ali então eu tenho agora esses nossos dois elementos o DF books e o DF reviews book aqui a gente tá com a margem tá então vou copiar aquele trecho de código de antes que tira a margem
aqui em cima salvo de novo e agora eu tenho esse de cima aqui é os livros os top 100 e aqui embaixo são todos os reviews associados a esse livro esse livro aqui pelo visto a gente não tem nenhum review the woman em me a gente tem vários tá a gente tem aqui o book name o título do review Quem fez o review a descrição do review que é bem grande então é esse conjunto de dados aqui que a gente vai começar a destrinchar para colocar os reviews lá embaixo e e esse de cima aqui
a gente vai destrinchar para poder colocar esses dados sobre o livro que poderiam ser feitos de outra forma mas essa forma foi que eu encontrei mais simples Então vamos um de cada vez primeiro lugar vamos começar colocando esses nomes aqui então eu vou criando pegando variável por variável selecionando elas colocando em umas variáveis para depois mostrar tudo de uma vez Então a gente já tem o Liv filtrado aqui vamos começar com o book title ele vai ser igual meu DF book e e isso aqui galera é uma linha do meu conjunto de dados eu posso
pegar a coluna dele aqui por exemplo se eu quero saber qual que é o title vamos botar aqui um book title e agora Teoricamente se isso aqui tem uma linha e eu fiz uma seleção eem uma coluna eu teria um valor só né seria isso aqui só que no pandas Isso não funciona exatamente dessa forma vou até mostrar para vocês por eu vou fazer uma seleção aqui embaixo na mão tá eu vou selecionar isso aqui só que eu vou trocar o livro para the the Woman in Me eu faço esse filtro aqui ele voltou com
o nosso conjunto de dados que tem uma só linha se eu pego esse Data Frame aqui que no caso seria igual a nosso DF books e eu seleciono um book title dele reparem que ele não vai vir o valor solto ele vim ele vem mais informações aqui ele vem tudo isso aqui isso aqui na verdade é uma seleção pontual pandas ele vai vir aqui o índice correspondente a esse valor o título que tu pegou e o valor isso aqui não é bem uma string a gente quer string eu queria puxar só esse valorzinho aqui para
puxar só esse valorzinho aqui a gente vai utilizar um outro método pandas chamado elock que ele vai permitir que a gente quebre os valores da mesma forma como a gente tinha feito lá nas nossas listas Então vamos colocar aqui um elock abro o colchete e aqui eu posso trabalhar como sendo uma lista e eu quero o elemento de índice zero e aí ao fazer isso aqui ele vai jogar fora o índice o nome da coluna o tipo do dado e vai voltar só com o valor dentro que é o que de fato nos importa dou
um enter e agora eu tenho a nossa string aqui tá Então é isso que a gente vai fazer eu vou colocar aqui o elock essa lógica aqui é um pouquinho chatinha precisaria explicar alguns conceitos de pandas melhor para entender porque que é feito dessa forma mas é só pra gente não cortar aqui não vi com todos esses esses dados aqui porque quando eu for plotar isso aqui sem ter feito em Lock vem com um monte de lixo aqui e eu quero só essa string Que É O Que Me Importa então então seguindo essa lógica galera
eu vou colocar aqui o gênero do livro Vamos calcular vamos pegar aqui agora o preço do livro eu vou substituir o gênero pro book Price vai ser qual book Price eu vou pegar o rating dele e o ano dele só copiei e colei aqui porque a lógica é a mesma é só uma troca de de valores como é que a gente faz agora para começar a preencher os valores aqui primeiro lugar eu vou tocar Fora esse Data Frame então venho aqui e vou Opa ã eu acho que não vai pilotar mais porque não ten um
Death book solto Então vou vir aqui vou dar um stringed E aí eu vou usar um método string que trabalha com textos aqui na parte de text elements clico aqui eu tenho um title aqui em cima Então vou digitar stream it. Tile que é esse cara aqui ele permite que a gente faça textos maiores na tela ele pede uma string como parâmetro e eu vou passar o meu book title segundo elemento que eu vou utilizar string it. subheader ele vai fazer um título um pouquinho menor e aí e aqui eu vou colocar o parâmetro book
gênero ao atualizar o meu código reparem agora que eu já tenho um nome aqui grandão preto e em segundo lugar o título subtítulo bem fácil utilizando esses parâmetros aqui de textos que vocês podem ver na documentação de forma bem tranquila V avançar um pouquinho o meu projeto principal ele quer três colunas para eu conseguir colocar o preço rating e o ano de publicação então venho aqui no stream e eu vou colocar Call Um vírgula Call do vírgula qual três ele vai definir as três variáveis ao mesmo tempo e eu vou digitar strin P colums que
eu quero que ele crie três colunas para mim coloco dessa forma e os valores estão feitos e agora eu posso utilizar o co1 e em vez de plotar no próprio stramit eu vou utilizar a minha coluna para plotar esse a o matrix que está deixa eu ver onde é que ele tá ele está aqui em data elements é um elemento de dado ele cria essa esse espéci de painéis de dados aqui pra gente ó contendo informações eu poderia colocar aqui a Label que é o que tá escrito aqui o valor que é o que vai
aparecer principal e até um Delta caso a gente queira tudo em formato string então aqui eu coloco Call pmri como sendo Price e o meu book Price aqui que é o valor que eu quero colocar passar para ele e vou fazer a mesma coisa pro rating e pro ano de publicação bem simples salvo venho aqui no meu projeto atualizo e agora eu tenho os valores apresentados aqui a vocês vão me perguntar mas Rodrigo aqui eu tinha um um sinal de quero colocar um sinalzinho aqui de percentual como é que eu faço isso aí a gente
faz uma pequena alteração aqui ó lembra que a gente aprendeu sobre a formatação de string ponho um Ezinho aqui abro uma string vou colocar o meu cifrão abro uma chave fecho uma chave e fecho a minha string eu tô colocando ele aqui no meio tem uma pequena PC idade no Python quando a gente abre e depois ele encontra de novo uma outra col shate ele vai entender que a nossa string foi fechada ele vai achar que a string vai daqui até aqui E esse código Aqui deixa te fazer sentido mas vocês lembram que eu tinha
falado que a aspas simples também funciona como string Então nesse tipo de caso a gente intercala entre aspas simples e aspas duplas para que ele entenda que a string começa aqui termine aqui e que isso aqui é outra coisa Tá salvo volto no projeto atualizo e agora eu tenho aqui o projeto funcionando normalmente Eu tenho um outro elemento que eu posso colocar Do strin It que é o string P divider que ele vai criar uma linhazinha imaginária para mim aí vocês reparam tá mas por que que não colocou Call um ou Call 2 tava utilizando
Call 1 e agora tu colocou o stramit porque o Call 1 e o Call 2 ele fez uma divisão aqui e eu queria que ele fosse inteiro indo daqui até aqui então se eu uso ST para alguma coisa ele tá plotando nessa caixa branca aqui se eu uso ST PS barar ele ele começa a plotar de cima para baixo aqui e se eu uso as colunas ele vai começar a plotar aonde as colunas foram construídas que no caso é aqui em cima beleza e aí por último galera a gente vai precisar trabalhar com os reviews
do nosso do nosso livro e nos reviews aqui eu vou utilizar o for que eu vou iterar sobre todos os reviews que aquele livro tem onde que estão os reviews eles estão aqui DF reviews underline F tá se eu colocar aqui a variável não foi definida Quem foi definido é só o reviews então eu vou criar aqui da mesma forma como eu tinha feito antes um um temporário aqui ó DF reviews F vai ser igual a DF reviews quando DF reviews book name for igual a The woman me e aqui eu vou tirar essas informações
tá ele vai fazer esse filtro para mim eu dou um enter e agora eu tenho só os reviews do livro The Woman in Me beleza para que que serve para que que eu tô fazendo isso com vocês a aqui porque para poder iterar Existem algumas formas de iterar um dataframe tá a mais simples é a gente trabalhar com o values dele que ele vai criar uma lista de listas pra gente tá e eu vou colocar aqui o nosso DF reviews e vou explicando o conceito junto com o dado que tá aqui vamos colocar o The
woman em me Ele está aqui quando eu pego o ponto values ele só vai criar uma lista contendo o miolo do nosso conjunto de dados ele não vai ter por exemplo as colunas os índices eu quero só trabalhar com isso aqui e eu faria o seguinte eu venho no meu código e digo assim ó para cada linha nesse DF reviews pon values isso aqui agora é uma lista e pode ser iterado pelo meu pelo meu for esse Row aqui a cada vez que ele rodar o for ele vai rodar esta linha aqui linha após linha
uma atrás da outra e nessa linha ele devolve uma lista e essa lista os valores vão ser o valor zero valor 1 valor 2 valor 3 e assim por diante Então é assim que a gente vai passar por todas ess nossos reviews eu vou escolher as colunas que são interessantes para mim iterando através desse método Aqui DF reviews pval vou vir aqui vou criar uma variável que eu vou chamar de message ela vai ser igual a ST ponto e aí eu tenho que encontrar uma forma de printar isso aqui fazer um desenhinho eu poderia utilizar
o ST PW para poder escrever na tela vou começar fazendo com isso que que eu vou escrever em primeiro lugar ã reparem que aqui a gente tem um numerozinho eu vou deixar ele de lado por enquanto vamos colocar só o título da nossa nosso review que no caso está aqui ó review title ele é o elemento 0 1 2 Então vamos colocar que eu quero escrever Row 2 Isso aqui vai ser desculpa não vai ser message depois eu vou alterar isso aqui galera vai ser simplesmente um Row right e embaixo disso eu vou colocar aqui
o elemento cinco que é review description ponho aqui o cinco salvo Vou atualizar o nosso projeto vou escolher o livro de woman me que eu sei que tem reviews e olha lá ó ele itou sobre todos eles foi colocando ainda sem formatação não tem nada muito incrível aqui tá poderia dar colocar um nisso ou poderia dar uma formatados aqui que eu achei interessante que é o de chat ele permite que a gente crie como se fossem mensagens de chat aqui entre um usuário a gente criaria aqui um usuário temporário colocaria algumas mensagenzinhas pode colocar gráfico
ou mesmo sair escrevendo coisas tem até um videozinho do string que ensina a fazer isso e vou fazer isso porque eu achei que a disposição dele fica um pouco melhor E para isso a gente vai criar uma variável chamado message que eu vou chamar de streamlit pchat message vou passar aqui o nosso Row 4 que se eu não me engano é a nota deixa eu ver aqui aqui eu deletei ele deixa eu até colocar de novo o DF reviews aqui pra gente seguir vendo 0 1 2 3 4 é a nota vamos pegar o The
Woman in Me e aqui ele deu um errinho porque esse message aqui ele precisa que isso aqui seja uma string e isso aqui é um inteiro então eu vou encaixar a minha string utilizando o nosso notação de formatação de antes e isso vai funcionar normalmente atualizo aqui vamos escolher de novo o The woman em me e agora reparem que a coisa tá funcionando vou vir aqui embaixo agora no nosso message ponto vou escrever o nosso Wi vou substituir agora para ele entender que isso é uma mensagem de chat e faço a mesma coisa aqui agora
a gente já tem agora eh um pouquinho mais parecido do que tá ali posso vir aqui vou dar uma segunda formatação abro uma string abro fecha a string aqui coloco na notação de de Chaves eu vou colocar asterisco asterisco em volta Isso aqui vai dar um nesse nosso título aqui então tá lá posso tirar agora o nosso table pela última vez e o nosso projeto tá pronto espero que vocês tenham conseguido desempenhar esse código aí sei que provavelmente ficou muitas dúvidas sobre isso porque a gente fez um procedimento que em geral levaria 3S meses e
provavelmente teria perdido mais de 90% de vocês não aguentariam não achariam meio sem sentido estudar muitas coisas antes de começar de fato entrar no Python por isso que eu quis inverter um pouco a lógica quero que vocês sintam o poder da linguagem entendam que tem muitas lacunas no conhecimento de vocês e entrem agora em um curso mais focado com uma cabeça mais preparada de fato o que que vocês querem estudar o que que querem conseguir fazer porque já sentiram um pouco do Poder da linguagem eu garanto que vocês vão estudar listas ou conceitos de string
ou conceitos de for com motivação maior quando forem entrar em stream pandas e plot le já vão ter conhecido os princípios da linguagem vão entender e querer aprender com nuances maiores já vão ter uma visão mais Ampla sobre o todo esse é um princípio que eu achei muito importante passar aqui no curso de desenvolver primeiro que vocês olham de cima para que depois vocês possam se atentar aos detalhes coisa que eu acho que a maioria dos outros cursos não faz por aí Espero que vocês tenham gostado dessa abordagem Espero que não tenham ficado tantas dúvidas
assim se quiserem se aprofundar maior nas imóveis a gente a gente tem cursos que entram todos esses aspectos aqui com muito mais profundidade a gente tem uma série de planos que Vocês poderiam se inscrever com suporte dos nossos professores e de mim uma comunidade de alunos gigantesca e diversos projetos para que vocês apliquem tanto na vida pessoal quanto na profissional forte abraço e até o próximo curso