Mestre a programação em Python: guia divertido e fácil para iniciantes | ABHIRAM SHETTY | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Mestre a programação em Python: guia divertido e fácil para iniciantes

teacher avatar ABHIRAM SHETTY

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Boas-vindas

      4:06

    • 2.

      Introdução ao Python

      14:19

    • 3.

      Interface de programação

      4:49

    • 4.

      função print()

      5:48

    • 5.

      Tipos de dados em Python

      2:40

    • 6.

      Categorias de dados em Python

      9:11

    • 7.

      Conversão de tipos de dados

      3:55

    • 8.

      Introdução aos operadores

      1:43

    • 9.

      Operadores aritmáticos

      6:19

    • 10.

      Operadores de comparação

      6:55

    • 11.

      Operadores lógicos

      6:50

    • 12.

      Variáveis e identificadores

      12:40

    • 13.

      Regras para selecionar identificadores

      5:42

    • 14.

      Boas práticas de programação

      6:27

    • 15.

      Entendendo String

      8:22

    • 16.

      Corte de cordas

      10:47

    • 17.

      Métodos em string

      12:02

    • 18.

      O que são funções e métodos?

      5:29

    • 19.

      Definindo função

      6:31

    • 20.

      Exemplos de funções

      2:56

    • 21.

      Condicionais e ramificação

      4:36

    • 22.

      Exemplos de condicionais

      4:38

    • 23.

      Loops

      3:07

    • 24.

      For Loop

      9:35

    • 25.

      Aninhado para loop

      4:03

    • 26.

      Loop enquanto

      8:04

    • 27.

      Lista

      8:22

    • 28.

      Compreensão de lista

      2:57

    • 29.

      Lista automatizada

      4:54

    • 30.

      Lista definida pelo usuário

      5:42

    • 31.

      Tuple

      4:13

    • 32.

      Dicionário

      5:11

    • 33.

      Introdução às bibliotecas

      2:56

    • 34.

      Biblioteca de matemática

      7:32

    • 35.

      Biblioteca Numpy

      9:45

    • 36.

      Pandas

      20:06

    • 37.

      Matplotlib

      10:20

    • 38.

      Introdução ao OOP

      16:39

    • 39.

      Definindo objetos

      15:41

    • 40.

      Herança

      11:14

    • 41.

      Encapsulamento

      7:10

    • 42.

      Polimorfismo

      5:47

    • 43.

      Última nota

      5:30

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

5

Estudantes

--

Projeto

Sobre este curso

Desbloqueie o poder do Python, a linguagem de programação mais popular do mundo, com estas aulas para iniciantes! Quer você esteja entrando na programação pela primeira vez ou buscando aprimorar suas habilidades, este curso simplifica os conceitos de Python, tornando o aprendizado envolvente e agradável. Explicações claras projetadas para tornar tópicos complexos uma brisa.

Depois de terminar o curso, você estará equipado com as habilidades para escrever código Python limpo, automatizar tarefas e até mesmo enfrentar seus primeiros projetos de ciência de dados. Sem experiência em programação? Isso não é problema!  Com aulas passo a passo e desafios de codificação divertidos, você vai se sentir confiante e animado ao construir uma base sólida em Python.

Comece a programar como um profissional enquanto se diverte ao longo do caminho!

O que você vai aprender:

  • Noções básicas de Python e conceitos principais
  • Escrever código limpo e eficiente do zero
  • Loops mestres, funções e programação orientada a objetos
  • Resolver problemas do mundo real com exercícios práticos de codificação

Conheça seu professor

Teacher Profile Image

ABHIRAM SHETTY

Professor
Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Boas-vindas: Olá, aí. Espero que seu dia esteja sendo fantástico e, juntos, vamos torná-lo mais agradável Eu não vou te fazer perguntas de formalidade como, como você e tudo Eu já sei que você está indo muito bem. Afinal, você se atreveu a aprender algo novo hoje, e isso exige um bom humor, certo? Caso contrário, você estaria assistindo compulsivamente vídeos de gatos ou folheando memes agora. De qualquer forma, bem-vindo ao mundo do Python. Você não precisa ter medo neste mundo, porque aqui a cobra ou a língua que recebeu o nome da cobra é muito amigável Você acabou de entrar em mundo onde programar é fácil, divertido e parece menos aprender um novo idioma e mais como resolver um quebra-cabeça divertido Em primeiro lugar, dê um tapinha nas costas porque, simples, não posso fazer isso por você Ok, faça isso para decidir aprender Python. Python é muito fofo, e essa jornada vai tirar você de jornada que eu nunca codifiquei na Eu conheço muito bem a codificação em Python. Este curso estabelecerá uma base sólida de conhecimento em Python Você pode perguntar: O que devo fazer com essa base? O que você quiser, depende de você. Python é a base comum para vários domínios. Você pode usá-lo para vários propósitos, desenvolvimento web, análise de dados, aprendizado de máquina, automação de tarefas, criação de jogos, etc. Python tem tudo sob controle. E a melhor parte é que é fácil e amigável para iniciantes. Você não precisará de um diploma em ciência da computação ou um cérebro do tamanho da lua para começar. É fácil de ler, fácil de escrever e perdoa seus erros É como o professor mais tranquilo que você já teve. Não importa qual seja seu objetivo de carreira, o Python recebe você com Se você tem sede de conhecimento, este curso o guiará até o lago do Python Lembre-se de que só podemos levá-lo até lá. Não podemos fazer você beber. Cabe a você consumir esse conhecimento. Mas como? Basta seguir o processo de três etapas , praticar, experimentar e aplicar, e pronto. Prometa-me que você segue esses três processos. Não apenas para programar, você pode seguir estas etapas para aprender quase todas as habilidades. Mas se eu tiver que fazer essa declaração, tenho que dar um aviso rápido para minha segurança Não experimente se você é médico ou piloto, a menos que goste de viver no limite. Faça isso por sua conta e risco. Não sou responsável por nenhuma consequência. Espero que esteja claro. voltar ao mundo do Python Ao final deste curso, você não só falará Python fluentemente, mas também o escreverá A melhor parte é que você aproveitará o processo de aprendizado. Você está animado? Me dê um oi fi virtual, mas tenha cuidado. Por favor, não bata no seu computador enquanto faz isso. Você ainda está meio adormecido, levante sua caneca de café virtual, mas não promete que isso o acordará Você está pronto para começar sua aventura em Python , pegar alguns Vamos mergulhar juntos, nos divertir e escrever um pouco, confie em mim, vai ser incrível. 2. Introdução ao Python: Bem-vindo de volta. Nesta sessão, abordaremos tudo o que você precisa saber sobre Python É importante conhecer nosso novo amigo antes de prosseguirmos juntos. O Python se tornou muito popular nos últimos anos. O que é Python? Por que é tão popular? É a hora de responder a essa pergunta. Python é uma linguagem de programação de uso geral de código aberto e de alto nível Eu conheço muitas palavras novas que não tornam isso legal. Como prometi, vamos dividi-lo em pequenos consumíveis. Vamos entender o que é código aberto. Você já planejou uma festa festiva com seus amigos em que, em vez de uma pessoa cozinhar tudo, todo mundo traz um prato Agora, aqui está a parte legal disso. Não apenas vocês podem comer uma variedade de comidas deliciosas, mas todos também compartilham suas receitas. Quer adicionar um pouco mais de tempero ao curry. Vá em frente. Acho que o bolo poderia usar mais glacê. Por que não? Você pode ajustar, alterar e melhorar cada prato como quiser É exatamente assim que o Python ou qualquer ferramenta de código aberto funciona. É como um software que é um pacote de código. A receita ou o código-fonte estão disponíveis publicamente. Compartilhado com todos, você pode modificá-lo, melhorá-lo ou até mesmo misturá-lo com seu próprio molho secreto. A melhor parte é que você pode comer ou usá-lo gratuitamente. E, sendo orientada pela comunidade, qualquer pessoa pode assumir a responsabilidade de torná-la melhor. É assim que o Python está ficando melhor e rico em recursos. Então, primeiro termo, código aberto é digerido. O termo linguagem de programação de uso geral é muito simples Isso significa que a linguagem não é especializada em nenhum domínio específico, mas foi projetada para resolver vários problemas e pode ser usada para uma ampla variedade de aplicativos Como discutimos no início, o Python pode ser usado para vários aplicativos, desde o desenvolvimento de software a análise Python está entre as linguagens de programação de uso geral. Então, o que significa o termo linguagem de alto nível? Está falando sobre o status social do idioma? Não. Mas para entender isso, precisamos conhecer os diferentes níveis das linguagens de programação. Os computadores da primeira geração costumavam entender apenas a linguagem binária composta apenas por zeros e uns. Essa é a língua nativa que os computadores falam fluentemente e entendem melhor Essa linguagem também é chamada de linguagem de máquina. Até mesmo o programador deve se comunicar com os computadores por meio dessa linguagem de máquina alienígena cheia de zeros e É super eficiente para o computador entender e processar. Mas e nós? Sejamos reais. Se tivéssemos que falar com computadores em apenas zeros e uns, estaríamos todos chorando em 5 minutos A menos que você goste de digitar longas sequências de zeros e uns só para dizer Não é prático para nós humanos. Imagine, precisamos programar os softwares e cálculos complexos usando essa linguagem estranha. Só imaginação me faria sentir horrível. Então, que tal isso em ações? Para resolver isso, são desenvolvidas linguagens de programação que podem ser facilmente programadas por humanos Todos os aplicativos modernos são desenvolvidos usando as linguagens de programação. Essas linguagens podem ser classificadas em linguagens de baixo nível e linguagens de alto nível. As linguagens populares de baixo nível são CC plus plus e Fortran. C plus é discutível porque pode ser baixo e alto nível e , portanto, é chamado de linguagem de nível médio Essas linguagens de baixo nível estão mais próximas do que o computador entende, mas oferecem um pouco mais de controle. Pense neles como a transmissão manual da programação. Você tem mais controle sobre o carro, quero dizer, o computador, mas precisa fazer todo o trabalho duro sozinho, como gerenciar memória e processos. Linguagens de baixo nível são ótimas quando você precisa de velocidade e controle. Mas sejamos honestos. Eles nem sempre são os mais divertidos ou amigáveis para iniciantes. Depois, temos as linguagens de alto nível como nosso amigo Python Eles foram projetados para serem mais parecidos conosco, legíveis por humanos, fáceis de aprender e muito tolerantes Linguagens de alto nível são como usar um aplicativo para smartphone , uma interface simples e não precisa se preocupar com o que está acontecendo nos bastidores. Mesmo entre os membros de linguagens de alto nível, Python é uma das mais fáceis e amigáveis para iniciantes Se você consegue entender inglês simples, você pode entender Python O Python é conhecido por sua sintaxe simples, semelhante ao inglês. Se você me entende agora, você já está na metade do caminho Python é tão fácil que até mesmo seu animal de estimação poderia entendê-lo se ele tivesse habilidades cognitivas avançadas, é claro Não me culpe mais tarde se seu animal de estimação não se tornar o próximo prodígio da codificação E também quantas vezes você já ouviu Life is short? Sim, é a dura verdade da vida. Então, por que perder um tempo precioso escrevendo código longo e complicado quando o Python pode fazer isso simplicidade do Python economiza seu tempo, esforço e possivelmente algumas mechas de cabelo A maioria dos programas em Python é escrita com pelo menos 30% menos linhas de código em comparação com outras linguagens populares, como C plus e Java Mas isso não significa que os computadores atuais tenham esquecido sua linguagem binária nativa Até mesmo os computadores modernos usam a linguagem de máquina. Mas é restrito ao processamento das informações e à comunicação entre outras máquinas. Isso é óbvio. Todos nós temos alguma língua nativa ou alguns a chamam de língua materna, a língua que nossos pais costumavam falar em casa. Quando pensamos quando falamos em casa, usamos nossa língua nativa porque todas as células do nosso corpo entendem a linguagem. Quando crescemos, aprendemos outros idiomas conforme nossa necessidade. Mas nosso cérebro primeiro traduz o novo idioma para o idioma nativo para entender Isso é muito comum. É exatamente assim que o computador funciona. Quando o computador pensa ou processa os dados e fala com outro computador, ele sempre usa linguagem binária. Quando programamos usando qualquer linguagem de programação, computador a traduz para linguagem de máquina e depois a processa. Portanto, as linguagens de alto nível consomem mais tempo para serem processadas do que as linguagens de baixo nível, e a linguagem de máquina leva menos tempo para processada, pois é a língua nativa dos computadores. Espero que a linguagem de máquina, a linguagem de baixo nível e a linguagem de alto nível sejam processadas adequadamente em seu cérebro. Além de ser fácil, fácil usar para iniciantes e ter menos linhas, há muitas outras razões para amar o Python Bem, o Python é como o canivete suíço das linguagens de programação Super versátil, fácil de usar e pode lidar com praticamente qualquer coisa que você jogue nele. Aqui estão alguns motivos pelos quais escolher o Python é uma jogada genial O primeiro motivo é que o Python é versátil e multiplataforma Python é como água. Ele se encaixa em qualquer recipiente. Ele funciona em todos os principais sistemas operacionais, esteja você programando no Windows, Mac ou até mesmo Linux. O Python funciona em todos eles como um encanto. É como aquele amigo que se dá bem com todo mundo em uma festa, e você pode usá-lo para projetos em vários domínios sem suar a camisa Segundo motivo, o Python tem uma biblioteca de bibliotecas, milhares delas Para qualquer domínio em que você esteja interessado, provavelmente há uma biblioteca ou várias para ajudá-lo. Ciência de dados, desenvolvimento web, inteligência artificial, o que quiser. O Python tem várias bibliotecas para resolvê-los. Se você não conhece as bibliotecas, seus recursos pré-codificados ajudam você a resolver problemas complexos Pense nas bibliotecas Python como um monte de ferramentas pré-codificadas Você pode simplesmente pegar da prateleira. O verdadeiro desafio da biblioteca Python é escolher a correta entre todas as opções disponíveis para você Você precisa de outro motivo para amar o Python? Python tem uma comunidade enorme. Você ganha amigos, não por se separarem, mas eles compartilham interesses comuns, que o ajudariam na jornada de programação Preciso de ajuda para resolver o problema e, acredite, isso acontecerá durante a programação. Provavelmente, outra pessoa também enfrentou o mesmo problema. Eles podem ter cometido algum erro como você, e adivinha? Eles já resolveram o problema e publicaram a resposta on-line. Basta digitar seu problema ou erro no Google e há uma boa chance alguém já ter explicado como resolver o problema ou erro em alguma plataforma como o stack Oflow Você nunca está sozinho em sua jornada com o Python. E se você quiser amigos para uma festa? Bem, isso é outra história. Mas você pode contar comigo sempre a qualquer hora. Com tantos motivos a favor, Python está realmente tentando aprender uma linguagem Mas antes que você comece a pensar, o Python é perfeito. Deixe-me ser sincero com você. Como todas as coisas boas, tem poucos contratempos Primeiro, o Python é um pouco lento, não lento como um turtois, mas comparado a linguagens mais rápidas como C plus, o Python mas comparado a linguagens mais rápidas como C plus, o Python leva tempo. Mas para a maioria dos programas, esse atraso nem é perceptível. Quando você está codificando videogames pesados e processando back-ends pesados de um software, você pode perceber que o Python é um pouco mais lento , mas você economizou muito tempo Existem poucas áreas em que o Python não é uma boa opção. A primeira coisa é o desenvolvimento de aplicativos móveis. Se você sonha em criar o próximo grande aplicativo móvel, Python pode não ser É fantástico para coisas de back-end, mas para dispositivos móveis, não é o melhor Outra área em que o Python não é uma boa opção é o desenvolvimento de front-end Se você está se perguntando o que é esse desenvolvimento de front-end, front-end é a interface de qualquer software visível para o usuário. back-end é tudo isso, como cálculos, interação com os servidores, o que acontece nos bastidores e não é o que acontece nos bastidores visível para o usuário O Python é bom no desenvolvimento de back-end, mas não no desenvolvimento de front-end Mas, ei, esses pequenos problemas são como encontrar um pequeno arranhão na superfície brilhante Vamos celebrar o Python pelo que ele é, não pelo que não é E é por isso que o Python é usado por muitas empresas e organizações importantes Você já se perguntou como a Netflix sabe o que você quer assistir a seguir? Sim, eles estão usando Python. Resumindo, o Python é como o super-herói das linguagens de programação, flexível, poderoso e fácil Se você quiser automatizar tarefas chatas, criar sites ou mergulhar na ciência de dados, o Python tem o que você precisa, e espero que isso faça com que você saiba tudo o que deveria saber sobre Depois da boa introdução, podemos começar nossa jornada oficialmente com o Python. Te vejo em breve. 3. Interface de programação: Agora vou te dar uma tarefa simples e fácil. Olhe para essas pessoas sem pelos e sem orelhas e reconheça sua profissão. É uma tarefa muito fácil, certo? Você quase não precisa de segundos para responder. Ok. Feito. Eu tenho algumas perguntas para você agora. Você conhecia essas pessoas antes? Eles são seus vizinhos ou você os encontra regularmente? Acho que não, porque nem eu os conheço nem os conheci antes. Então, como você conheceu a profissão deles quando nem os conhece? Obviamente, as ferramentas que eles usam falam sobre sua profissão. Para qualquer profissão, o primeiro requisito é ter um conjunto adequado de ferramentas para trabalhar. Isso significa que até mesmo os programadores precisam de ferramentas. Primeiro, eles precisam de computadores e hardwares necessários, mas uma ferramenta muito importante na programação é instalar a plataforma para escrever o código Acho que você já entendeu que para aprender e usar Python ou, digamos, qualquer linguagem de programação, é importante instalar a plataforma para escrever e executar o código Para Python, você tem muitas opções para escolher. Na verdade, esse é o verdadeiro problema. Quanto mais opções e liberdade, maior a confusão. Qual deles escolher? Você pode usar um editor ou ambientes de desenvolvimento como VS code, Pycharm ou Spider para programação em Python Pode até usar o Jupiter Notebook, que é um aplicativo baseado na web de código aberto executado no navegador Todas essas plataformas oferecem versão gratuita. Que fofo. Essa é a melhor palavra que se pode ouvir neste mundo. Você pode usar várias plataformas se o seu hardware permitir. Se você estiver usando o Python para projetos de ciência de dados ou para computação científica, é altamente recomendável usar Não vá até a Amazon pesquisando. Não me refiro a essa cobra grande, mas a popular distribuição de Python e R. Anaconda tem pacotes importantes pré-instalados, e instalar qualquer pacote novo também é um pouco fácil Você pode usar os diferentes ambientes e escolher o que for mais confortável para Agora estou tomando Spider, por exemplo. Não se preocupe, não estou falando sobre o inseto. Não sei por que o Python é tão selvagem que é associado principalmente aos nomes de animais, Python, Anaconda, Eu não acho que esses animais usem Python regularmente. Se você sabe, então por favor me avise. Ok. Veja a interface. Aqui está o que parece. A parte em que escrevemos o programa é o editor. Você pode interagir e obter a saída impressa na peça chamada console. Vou escrever linhas de código simples. Não tenha medo do programa. É só para demonstração. Estou apenas imprimindo a versão do Python que estou usando. Salve o script que você escreve localmente. Agora é a hora de executar o programa. Para executar o programa, clique no menu Executar ou, alternativamente, clique neste atalho do triângulo adormecido Você verá a saída no console. Quase todos os editores têm uma interface semelhante. Nesta sessão de treinamento, usamos o notebook Jupiter , pois interagir é fácil e dinâmico A interface do notebook Jupiter ficará assim. No caderno de Júpiter, o retângulo que você vê aqui é a parte em que escrevemos o programa, que é chamado de célula de código Para executar o programa na célula de código, clique neste quadrado. O atalho para executar o programa é Shift plus Enter. O resultado que você está obtendo é a saída dessa célula específica. Você pode escrever o próximo trecho de código na próxima célula. O notebook Jupiter tem essa interface simples. Para entender melhor e entender melhor a interface, você precisa acessar a interface e tentar trabalhar em si mesmo. Você entenderá melhor. Acho que essa introdução sobre a interface será suficiente para começar. Outras coisas que você deveria saber sobre a interface, você explorará sozinho ao praticar. Agora vem a parte interessante. A partir do próximo vídeo, vamos começar a escrever os programas, nos vemos na próxima aula. 4. Função print(): Com toda essa boa introdução, é um bom momento para começar a escrever programas simples. Diga-me agora qual é o programa mais simples com o qual se pode começar. Antes de passar por isso, primeiro responda a essa pergunta. Qual é a tarefa básica que uma criança ou mesmo um papagaio podem fazer? A tarefa mais simples que uma criança ou um papagaio pode fazer é repetir o que os outros dizem Essa é a coisa mais fácil que se pode fazer neste mundo. Isso também responde à nossa pergunta original. tarefa mais básica que o Python poderia fazer é imprimir a declaração de entrada, pois é como um papagaio repetindo Para deixar claro, imprimir a mensagem como hello world é o programa favorito de todos os iniciantes em qualquer idioma É a hora de apresentar o primeiro amigo da programação, o papagaio do Python, sintaxe é escrever, imprimir, abrir parênteses e incluir sua mensagem ou declaração em código simples ou duplo É isso mesmo. Agora vamos executar o programa. Parabéns. Você escreveu o primeiro programa. Experimente usar qualquer mensagem como hello world, mas use estritamente códigos simples ou duplos. Caso contrário, você receberá um erro. O Python não incomodará o que você escreveu na declaração de impressão Ele imprime o que você pede. Agora você sabe que o Python imprime o texto dentro de códigos, mas há um problema Às vezes, talvez precisemos incluir códigos simples ou duplos na declaração, como destacar uma palavra ou apóstrofo, como neste exemplo, mas usar o código na instrução de entrada confundirá o Python Esse uso torna difícil para Python entender qual é o início e o fim da instrução de entrada dentro da instrução de entrada impressa e da instrução de entrada totalmente alterada Python diz: Ei, cara, eu não entendo o que você quer fazer em sua própria linguagem dando erro Se você deveria lidar com essa situação, devemos explicar ao Python na linguagem que ele entende Aí vem nosso novo amigo, backslash, pedindo ajuda. Sempre que precisar usar códigos no texto, use barra invertida antes do Isso diz ao Python que precisamos incluir o código para a declaração de impressão O Python entende o que deve fazer. Você obtém a saída necessária sem nenhum problema. A barra invertida ajuda você a resolver um problema. Antes de agradecer a barra invertida, você precisa saber mais sobre a A barra invertida nos ajuda de várias maneiras durante a programação. Para ser mais preciso, barra invertida é usada para fornecer uma mensagem especial para o Python Vamos explorar alguns deles. Um desses usos, a barra invertida N, envia a mensagem ao Python para finalizar a linha atual e iniciar uma nova linha Então, você adora usar o Imoges em seu programa? Você foi coberto por uma barra invertida. Você também pode imprimir as faces usando a barra invertida, mas precisa se lembrar dos códigos exclusivos de cada uma das Normalmente não usamos Imoges, então não nos aprofundamos nisso Espero que você tenha entendido como usar a declaração impressa. Imprimir é uma das funções predefinidas em Python. Existem muitas funções predefinidas, como imprimir em Python, que você verá ao longo A impressão tem uma sintaxe fácil, mas algumas funções podem não ser tão fáceis quanto imprimir Quando tiver dúvidas sobre como usar qualquer função, você pode obter ajuda diretamente do Python Depois de aprender apenas uma função, é muito cedo para ter dúvidas sobre como usá-la. Eu sei que você é muito capacitivo, mas caso esteja trabalhando com as funções predefinidas do Python , se você se deparar com a pergunta: como usar a função , obtenha ajuda diretamente do Quem conhecerá o Python melhor do que o próprio Python. Para isso, basta digitar help e incluir a função entre parênteses O Pan fornece informações sobre a função, como o que ela faz e como usá-la. A ajuda o ajudará em seu caminho e mais uma coisa para lembrar. Esteja pronto para se sentir confortável com os erros. Você enfrentará regularmente muitos erros durante a programação. Na maioria das vezes, os erros são autoexplicativos, como esse erro, erro divisão zero, divisão por zero Se você conhece matemática, então você entende que inteiro não pode ser divisível por zero Caso você receba um erro no programa que não entende, basta perguntar ao seu professor mais experiente da história, o Google, pesquisando o nome do erro, provavelmente obterá a resposta. Conforme discutido anteriormente, a grande comunidade do Python nos ajuda a resolver o erro em Python é legal, imprimir qualquer mensagem exigirá apenas uma linha de código em Python A sintaxe simples do Python reduz muito esforço necessário para outras linguagens Acabamos de nos manter um passo à frente. Exploraremos uma sintaxe mais interessante nos próximos vídeos 5. Tipos de dados Python: Bem-vindo ao novo modelo sobre tipos de dados. Antes de entender os conceitos, deixe-me fazer uma pergunta simples. Você pode construir qualquer produto sem usar matéria-prima? Uma pergunta de aparência boba como resposta é óbvia. Construir um produto físico não é de todo possível. Mas alguém pode estar pensando de forma inteligente que é possível que, no caso de produtos digitais criados usando software, você esteja errado novamente. Até mesmo os softwares ou programas precisam da matéria-prima, mas essa matéria-prima será diferente. produto físico precisa de matéria-prima física, mas para programas, material não está na forma física, mas na forma de dados de entrada e instruções sobre o que fazer com esses dados. Dados e instruções são a matéria-prima de um programa. Portanto, para qualquer programa, os dados são uma parte necessária. Neste módulo, entenderemos os dados com mais detalhes. Primeiro, conhecemos nossos vizinhos antes de torná-los amigos. Da mesma forma, conhecer os dados é uma etapa muito importante antes de começar a usá-los. Assim como existem muitas categorias de pessoas que vemos neste mundo. Há muitos tipos de dados e precisamos lidar com eles de forma diferente. Por exemplo, as empresas coletam o feedback dos clientes na forma de dados de texto. Eles processam e publicam detalhes financeiros na forma de dados numéricos Alguns dados podem estar na forma de imagens, outros na forma de vídeo, como neste curso. Fofocamos na forma de áudio e existem muitos outros tipos de dados Assim como lidamos de forma diferente com diferentes tipos de pessoas, é importante conhecer o tipo de dados antes de trabalharmos com eles. É hora de explorar os tipos de dados comumente usados. Os dados do Python têm seis filhos populares. Todas as crianças são diferentes umas das outras. Eles são sequência numérica, mapeamento, conjunto, booleano e binário Agora reserve um tempo. Participaremos da festa de tipos de dados e conheceremos cada um de seus filhos, os conheceremos melhor e também conheceremos seus filhos. 6. Categorias de dados Python: Bem-vindo à festa de tipos de dados. Estamos aqui agora para conhecer cada um dos membros da família de tipos de dados, um por um. Primeiro conheceremos o tipo de sequência. O termo sequência em inglês indica a série de coisas ou eventos relacionados. Você já deve ter ouvido falar da sequência de um filme. O termo, você deve ter entendido que os dados da sequência nunca vêm sozinhos porque cada membro da sequência tem suas próprias gangues Isso significa que a sequência não se refere a um valor único, mas à coleção ou grupo de valores. A sequência tem três filhos, string, lista e tupla Neste módulo, encontramos apenas uma string porque lista e tupla não são apenas dados, mas a coleção de dados pertencentes a tipos de dados iguais ou diferentes Portanto, teremos uma reunião detalhada com eles no modelo de estruturas de dados do Python Ok, vamos começar a entender a string. String é o melhor contador de histórias de Python ou de qualquer linguagem. Eu disse que todos os membros do tipo de sequência têm suas próprias gangues String tem uma gangue de personagens. Esses conjuntos de caracteres formam a palavra ou frase. Em termos simples, ele representa os dados do texto. Dados de texto são algo que você conhece por dentro e por fora. Todos os conteúdos escritos em e-mail que você enviou para seu chefe, SMS enviados para sua namorada, comentários e feedback coletados dos clientes estão entre os exemplos de string. Os dados de texto que você vê aqui são uma string. Anteriormente, vimos a impressão com a declaração de entrada. Espero que você não tenha esquecido. Essa declaração dentro da função de impressão também é uma string. A string é o rei dos tipos de dados e, portanto, exige que um tratamento especial seja incluído entre aspas simples ou duplas. Isso deixa claro por que precisamos incluir a instrução de entrada dentro dos códigos para a declaração impressa. Porque a declaração que fornecemos é uma string. Quando usamos outros tipos de dados na declaração impressa, não usamos códigos. Veremos mais tarde como instrução impressa lida com dados numéricos e outros Tudo bem, eu tenho alguns dados aqui. Como posso confirmar o tipo de dados que estou usando? Existe alguma função para saber o tipo de dados? Se você quiser saber qual é o tipo dos dados, basta digitar type, confuso. Sim, pode ser, porque usamos uma sequência de tipos em nossa frase. Vou simplificar as coisas. Quero dizer, use a função de tipo com os dados dentro. O tipo está pedindo que o dado se apresente. Ele responde que eu sou uma string neste caso. Aprenderemos sobre strings com muito mais detalhes posteriormente. Esta é apenas uma aula de introdução e conheceremos a lista e as tuplas dos outros dois gângsteres mais tarde Como eles são gângsteres, você não pode enfrentá-los facilmente. Só brincando, até eles são muito fofos. Tanto a lista quanto as tuplas são coleções de dados que pertencem a tipos de dados iguais ou diferentes entenderemos outros tipos de dados Primeiro, entenderemos outros tipos de dados e suas aplicações e, em seguida, poderemos prosseguir. Além disso, ambos têm uma gangue de elementos. A única diferença que você pode notar é que a lista está incluída entre colchetes e a tupla tem parênteses, mas há muito mais Portanto, eles parecem semelhantes e podem confundir você. Nós aprenderemos sobre eles em detalhes mais tarde. O próximo filho dos dados do Python, numérico. Seu nome fala muito. Não é o tipo de dado interessante para quem é alérgico à matemática. família numérica adora matemática porque todos são bons em matemática Ele tem, novamente, três filhos, número inteiro, flutuante e número complexo Quer conhecer essas crianças? Por que não? Viemos aqui para conhecer toda a família de tipos de dados, então também conheceremos essas crianças. Coma o número inteiro do primeiro filho. número inteiro representa literalmente qualquer número real sem o bloco da parte decimal Nunca lida com frações. número inteiro pode ser um número inteiro, incluindo zero e número negativo Todos os valores que você vê na célula são dados inteiros. número inteiro está bem com qualquer coisa, digamos, número positivo, número negativo ou até zero, mas atinge a parte decimal Se houver uma parte decimal no número, o inteiro ficará irritado, o expulsará de seu território e abandonará os dados e entrará na próxima categoria, que é Float é o nome abreviado dos números de ponto flutuante. Os carros alegóricos são números reais com parte decimal. Adicionar apenas 0,0 a um inteiro não alterará o valor do número, mas mudará o tipo de dados de inteiro para Os programas que envolvem cálculos numéricos pesados geralmente são inundados com números flutuantes do que com números inteiros, e isso é mais e isso é Veja esse exemplo simples. Dividir um inteiro outro inteiro pode tornar o valor resultante Por isso, eu disse que flutuar é mais prático. Maçã com cobertura laranja não faz da maçã uma laranja, mas dados numéricos em camada simples ou dupla representam dados em sequência Nunca use casaco com dados numéricos. Não apenas dados numéricos. Não o use com nenhum dado que não seja uma string. Outro tipo de dado numérico é o número complexo, que é complexo, como o próprio nome sugere Tem raiz parcial complexa menos uma. Em matemática, o número complexo é representado por I, mas somos um pouco diferentes. Em Python, a parte complexa é representada por J. Essa mudança ocorre porque Python ama engenharia elétrica mais do que outras, e em elétrica, I representa corrente e J representa número Lembre-se disso ao usar o número complexo. A próxima família que encontraremos é o mapa. O mapeamento é o tipo de dados em que as informações são armazenadas na forma de par de chave e valor. A chave é a pista para os dados armazenados na forma de valor. Se você pudesse decifrar a chave como Sherlock em casa encontrando a pista, encontrar o valor Agora, vá para o próximo tipo de dados definido. Assim como a lista, o conjunto também circula com sua equipe, mas cada membro do conjunto é único Isso significa que há tolerância zero para entradas duplicadas. A equipe se esconde dentro de colchetes encaracolados. Também existe um tipo de dados lógico em Python que é booleano. Os booleanos são como crianças que sempre dizem a verdade, mas não fornecem nenhuma outra informação além de verdadeira ou falsa Eles só podem falar essas duas palavras. Embora fale menos, é muito importante verificar as condições que veremos em detalhes posteriormente. valores booleanos diferenciam maiúsculas de minúsculas com a primeira letra em maiúscula e o restante em minúscula Caso contrário, o Python não o trata como booleano. Não coloque os valores booleanos em códigos. Caso contrário, eles serão considerados como string. E, finalmente, o binário é o agente secreto dos tipos de dados do Python Ele usa a linguagem secreta para se comunicar, que está na forma de zero e um. Essa é a linguagem com qual os computadores conversam entre si, armazenam todos os valores em sua memória. Use zero B no início para dizer ao Python que esse valor é binário Caso contrário, o Python pensará que o valor é um número inteiro, pois é a linguagem dos computadores que não entendemos Não falamos muito sobre isso. Espero que você tenha gostado da festa da família Data Types. Todos os membros da família são únicos e têm seu próprio significado. Eu sei que você não conseguiu se comunicar em detalhes com alguns deles, mas não se preocupe. Ao final deste curso, você terá a chance de conversar com eles. Nos vemos na próxima aula. 7. Conversão de tipos de dados: E eu suponho que você tenha muitos amigos e parentes. Você tem amigos da escola, da universidade, do trabalho e pode ser que sejam alguns das redes sociais e amigos como eu deste curso. Mas quantos de seus amigos são seus melhores amigos? A dura verdade da vida. Tenho certeza de que muito poucos deles. Existe alguma razão pela qual gostamos mais de algumas pessoas do que de outras? Pode haver muitos motivos, mas, muito comumente, adoramos nos conectar com pessoas que têm algo em comum entre nós, como a mesma escola, profissão, gostos semelhantes, para citar alguns Mas por que estamos discutindo psicologia na classe Python, há uma razão pela qual até mesmo dados pertencentes aos mesmos tipos de dados uns dos outros podem ser operados uns com os outros sem esforço, como adicionar dois números inteiros, como adicionar dois números inteiros Mas dados pertencentes a diferentes tipos de dados também podem ser operados entre si. Por exemplo, temos dois números. Um é inteiro e o outro é flutuante. Ambos pertencem à categoria numérica. Você pode adicioná-los e o número resultante terá uma parte decimal Portanto, é um número de ponto flutuante. Aqui, o Python primeiro converte um inteiro em um float e depois o adiciona a outro float O Python faz isso sozinho, sem pedir sua permissão para fazer isso Esse tipo de conversão feito pelo Python sem a ajuda dos programadores é chamado de conversão implícita Mas há alguns casos que surgem durante a programação em que precisamos converter os tipos de dados manualmente usando funções. Aqui estão alguns exemplos para entender como isso é feito. No primeiro caso, os dados de entrada são dados numéricos incluídos nos códigos Por padrão, o Python é tratado como uma string, mas é um número inteiro em sua essência, vamos trazê-lo para seu Convertemos manualmente os dados em números inteiros usando a função. Nesse caso, novamente, os dados são numéricos, mas, acordo com o Python , Usando a função float, a string é convertida em float No próximo exemplo, os dados são números inteiros. Usamos a função STR para converter o inteiro em string. E no último exemplo, os dados são flutuantes. Usando a função int, cortamos a parte decimal do e convertemos o flutuador em Esses são alguns exemplos de conversão dos tipos de dados. Essas funções int, float e STR não se importam com o tipo de dados dos dados fornecidos, mas tentam convertê-los em tipos de dados inteiros, de ponto flutuante e de string, ponto flutuante e string Você pode tentar alguns outros exemplos como o número inteiro ser convertido em flutuante Esse tipo de conversão manual do tipo de dados em que você, o programador, solicita ou ordena que o Python altere o tipo solicita ou ordena que o Python altere o de dados é chamado de conversão explícita Eu sei que você pergunta sobre a aplicação desses conceitos. Vamos passo a passo. Veremos sua aplicação quando prosseguirmos com a programação. A partir de agora, estou com fome. Vou converter a massa em pão usando a conversão explícita. 8. Introdução aos operadores: Neste módulo, voltaremos aos nossos primeiros dias escolares. Todos nós começamos a aprender matemática na escola com números ou com qualquer outra pessoa aqui que tenha começado com cálculo ou trigonometria Espero que todos tenham começado com números e contando. Mas saber apenas números é inútil pois a solução de qualquer problema numérico precisa dos operadores aprendizado real da matemática começou com os operadores, como adição e subtração Computar sem operadores é o mesmo que bloquear sem chave. É simplesmente inútil. Portanto, os operadores são os principais requisitos para a solução de problemas. Operadores iguais ou similares, que usamos em Python para resolver problemas Há três categorias de operadores que usamos na programação aritméticos, operadores comparação e operadores lógicos Lembre-se de que os operadores são os temperos da programação. Eles apenas dão mais sabor e diversão aos códigos chatos. Nenhum conceito que aprendemos neste módulo é novo para você. A maioria dos conceitos são os mesmos que você aprendeu em suas escolas. Portanto, este módulo trará de volta suas memórias escolares. Você está pronto para viajar no tempo de volta à sua infância? Vamos voltar à nossa escola primária para aprimorar os conceitos de operadores, um por um. 9. Operadores aritmáticos: Qual é o principal requisito de qualquer cálculo numérico? Não me diga que você precisa de uma calculadora. Eu sei que você é muito inteligente. Mesmo a calculadora não pode calcular sem os operadores aritméticos Vamos começar com os cálculos aritméticos básicos que fizemos nas escolas, como adição, subtração, multiplicação O que mais pode ser mais fácil do que isso? Vamos começar. Addition é um adesivo que une os melhores amigos para sempre. Você sabe, você pode adicionar dados numéricos. Suponho que seu professor ensinou bem a adição , então não vou me aprofundar. Mas uma coisa, as duas primeiras linhas têm valores numéricos. primeira linha tem dois números inteiros e segunda tem dois floats, que são adicionados Nunca use código para valores numéricos ou qualquer outro que não seja string adição desses valores é realizada e os resultados são impressos na ordem. Pode observar aqui, podemos até adicionar duas cordas. Adicionar duas strings as concatenará de ponta a ponta. Isso significa que a segunda string é unida no final da primeira string. Isso é tudo sobre adição. subtração é um palito mágico, retirando as duas fatias de pizza de quatro e fazendo-as desaparecer, deixando para trás 02 Eu não quero ser seu professor de matemática no ensino fundamental. Você já sabe disso e vamos seguir em frente. A multiplicação é uma máquina fotocopiadora que produz cópias duplicadas Está pegando cinco documentos e fazendo seis cópias cada, produzindo 30 cópias no total. Division é um amigo simpático e honesto que divide a guloseima igualmente. Na programação, o asterisco é usado para multiplicação e barra Multiplicar uma string por um inteiro resulta na repetição dos caracteres da string esse número de string esse número de Mas você não pode usar divisão e subtração em cordas. Esses operadores são simples, querem aprender novos operadores. Há uma divisão especial chamada divisão de fluxo, que usa barra dupla para retornar a parte inteira da Isso é útil em situações como dividir as pessoas entre as equipes Por exemplo, nesse caso, sete pessoas precisam ser distribuídas entre quatro equipes e quantas pessoas cada equipe pode acomodar se a força de todas as equipes precisar ser a mesma. Se você usar divisão, diz 1,75. Como podemos cortar a pessoa? O número de pessoas em cada equipe não pode ser decimal se elas estiverem vivas. A divisão do piso retorna o valor inteiro após a divisão. Cada equipe pode acomodar apenas uma pessoa. O que fazer com as três pessoas restantes? Vamos voltar a isso em breve. Outro operador popular é o exponencial. Exponenciais tornam as coisas muito grandes. O asterisco duplo faz essa tarefa. Aqui, dois é elevado à potência de três, que é oito. Esse operador mágico transforma os dois em oito. O mesmo operador poderia ser usado para as raízes, por exemplo. potência de um por dois representa a raiz quadrada e a potência de um por três para raízes cúbicas e assim por diante Nove aumentá-lo até a potência da metade é a raiz quadrada de nove, que é três. 64 subir um por três é a raiz cúbica de 64. O valor tem muitos decimais, mas esse valor é quatro, como você pode observar Veremos o arredondamento dos valores posteriormente. Veja mais uma operação, módulo, que usa sinal de porcentagem Não pense que ele retorna a porcentagem de dois números. Ele retorna o lembrete quando primeiro número é dividido pelo segundo Quer entender mais. É muito simples. Para entender isso, lembre-se da divisão do piso. Na divisão de andares, distribuímos as pessoas igualmente entre a equipe, e as pessoas restantes formam sua própria equipe de Temos sete pessoas para dividir em quatro equipes. Fornecemos um, cada um deixando três pessoas. Esses três formam sua própria equipe , que é mais forte do que as outras equipes. Se pudermos dividir todas as pessoas entre as equipes, como neste caso, onde nove pessoas precisam ser divididas em três equipes, que podem acomodar igualmente três cada pessoa, então, obviamente, o restante é zero Depois de distribuir igualmente, ninguém fica de fora. Você precisa conhecer os operadores aritméticos. Quando usamos operadores em combinação, use parênteses para priorizar os Você pode ver a ordem de prioridade nesta tabela. O Python segue essa ordem de operações. O cálculo entre parênteses é realizado com prioridade As operações no parêntese mais interno, que têm a maior segurança a partir do parêntese, que têm a maior segurança a partir do são realizadas primeiro Dois mais três e três mais quatro são processados primeiro. Então, ambos os valores após a adição, cinco e sete, são aumentados individualmente para a potência de dois. Isso ocorre porque exponencial tem mais prioridade do que adição Cinco ao quadrado é 25 e sete ao quadrado é 49. Então, finalmente, ambos são adicionados para obter 74. Isso é o que fizemos na raiz cúbica de 64. A operação de 1/3 é protegida entre parênteses. Portanto, ele é executado primeiro e, em seguida, o valor resultante é usado para exponencial Você tem o controle da prioridade apenas usando o parêntese Se você precisar de mais tempo para assistir e ler a tabela , darei permissão para pausar o vídeo Tenho certeza de que os operadores aritméticos são muito fáceis e o operador de comparação, que veremos no próximo módulo, também é um conceito muito fácil. Nos encontraremos lá. 10. Operadores de comparação: Você sabe qual é o único grande mau hábito dos humanos? Sei que estamos cheios de maus hábitos, mas sua tarefa é encontrar um mau hábito que nos afastou da felicidade. Acho que nós humanos sempre adoramos comparar. Se você não adivinhou corretamente, não se preocupe. Não será solicitado em nenhum exame. Sempre julgado pela comparação com os outros, talvez em termos de beleza, educação, carreira, salário e outros enfeites comparação pode ser o principal motivo de infelicidade para nós. Mas na programação, a comparação é um parâmetro importante na tomada de decisões. Por exemplo, se você trabalha na empresa A e recebe uma oferta de emprego da empresa B, como você tomará a decisão Silly comparando diferentes parâmetros A primeira coisa que analisamos é o salário, quem não gosta de dinheiro? Se o salário oferecido pela empresa B for superior ao seu salário atual, troque, caso contrário, fique para trás e tente a sorte. Eu posso ouvir alguém dizendo que você não toma a decisão apenas com base no salário. Preciso comparar muitos outros parâmetros, como função do projeto, ambiente de trabalho, equilíbrio entre vida profissional e pessoal, o que seus vizinhos pensam sobre as duas empresas e muito mais. Novamente, todos esses parâmetros precisam ser comparados. Em termos matemáticos, usamos o operador de comparação para essa finalidade. Quais são os operadores que usamos para comparar? Tenho certeza que você conhece esses dois. Aqui está a lista de operadores de comparação usados em Python e o resultado desses operadores tipo de dados booleano que é verdadeiro ou falso Se a condição fornecida for satisfeita, ela retornará verdadeira e, se a condição não for satisfeita, ela retornará falsa. Vamos entendê-los um por um. Maior do que o juiz de um show de talentos, que sempre busca o melhor marcador Se o valor no lado esquerdo for maior que o valor no lado direito, maior que retornar verdadeiro, se não for falso, aqui sete, que está no lado esquerdo, é maior que cinco. Portanto, ele retorna verdadeiro. Se os valores forem iguais, como neste caso, em que tanto o lado esquerdo quanto o lado direito têm cinco, o resultado será falso. Porque, como o próprio nome sugere, ele procura estritamente maior que. Para o propósito especial, temos maior ou igual a. Maior ou igual a é o colega juiz por maior que quem é um pouco liberal e considere aquele que tem pontuação semelhante a dois e passe por eles. Ele retorna verdadeiro quando o valor no lado esquerdo é maior ou mesmo igual ao valor no lado direito, então é um pouco liberal do que maior que. Se você entender isso bem , teremos exatamente o oposto disso. Menores e menores ou iguais a são os juízes do cálculo da raça que verificam o menor tempo possível para atingir a meta Você me diz agora que o resultado dessa condição é cinco a menos ou igual a três. Cinco não é menor que três nem igual a três. Então você fica falso. O próximo operador é igual a. Igual a procurar uma combinação perfeita como um site matrimonial, que busca a correspondência de interesses Se os dois valores forem iguais, ele retornará verdadeiro, caso contrário, falso. Use o símbolo de dupla igualdade para verificar igualdade, pois o uso único indica a atribuição do valor às variáveis Outro termo assustador, variável. Temos um módulo separado sobre isso. Voltando, desta vez, vamos usar string. A string ABC é verificada com ABC. Eles são iguais, então verdadeiro é 5,0 001 igual a 5,0. Os operadores de comparação são muito rigorosos. Mesmo que os valores estejam muito próximos, ele retorna arquivos. Existe um oposto de igual a isso, obviamente não é igual. Adicionar seno exclamatório antes de iguais indica se a condição Este é um operador estranho que não gosta de gêmeos idênticos Esse operador retorna false quando os valores no lado esquerdo e no lado direito são iguais. Em qualquer outro caso, ele retorna verdadeiro. Phi não é igual a três, portanto, é verdade Espero que nenhum desses operadores seja novo para você, mas os operadores usados podem ser novos, mas ainda assim são fáceis. Aqui vemos alguns dos testes de comparação. Se você entendeu o conceito de comparação, esse teste não precisa de nenhuma explicação. Ainda assim, vou reservar um tempo para você passear. No primeiro caso, o programador perguntou ao Python Ei, Python é três a menos que dois , três definitivamente não é menos que dois , três definitivamente não é Você espera que a saída seja? Seja qual for sua expectativa, mas o Python diz que não , retornando a saída falsa O próximo caso é três a menos ou igual a três. Três definitivamente não é menos do que três, pelo que sei, mas é igual a três. Portanto, a saída é verdadeira. Se houvesse menos de um operador aqui em vez de menor ou igual a , a história seria diferente. Nada sério vai acontecer, mas você teria mentido. É isso mesmo. É três maior que dois. Sim, é dois maior ou igual a três. Se três não é menor que dois, então como dois seria maior que três? Este jogo não é tão interessante quanto você sabe o resultado deles. Então eu vou parar por aqui. Você pode ver outras operações. Fácil, certo? E não pense que dois e três são meus números da sorte. Tenho um pouco de preguiça de encontrar outros números. Antes de terminarmos a aula, podemos comparar dois valores pertencentes a tipos de dados diferentes? Neste exemplo. Na primeira linha, um ponto flutuante é comparado com o número inteiro. É totalmente normal compará-los porque ambos pertencem a tipos de dados numéricos, mas não é bom comparar os valores com estranhos, como uma string na segunda A comparação é boa, mas na programação, há poucos casos de uso em que precisamos combinar duas ou mais condições. Isso nos ajuda a comparar várias condições antes de chegarmos à decisão. Conectamos duas ou mais condições usando operadores lógicos que veremos na próxima aula. 11. Operadores lógicos: Essa palavra é muito peculiar. Não podemos tomar decisões apenas considerando uma condição. Precisamos de várias condições a favor de uma maior probabilidade de sucesso. Esqueça aquela frase filosófica difícil. Em palavras simples, o que quero dizer é que não podemos tomar decisões apenas com base na comparação de um parâmetro. Na lição anterior, testamos várias condições de comparação individualmente. Em alguns casos, usamos várias declarações comparativas antes de tomar uma decisão e essas condições são combinadas por uma classe de operadores chamados operadores lógicos Até mesmo operadores lógicos são algo que você já conhece e os usa regularmente. Há três operadores lógicos comumente usados. São e não palavras familiares. Nós os usamos regularmente em inglês. Sua lógica como operador lógico também é semelhante à do inglês. Vamos vê-los como operadores lógicos, um por um. Primeiro, vamos começar com e. Imagine que você vai a um restaurante, pede pizza e molho. Usamos e intermediamos pizza e molho porque não deveria haver a opção de comer ninguém. Você precisa estritamente de ambos para serem deliciosos. Como posso simplesmente comer molho sem pizza ou o contrário? Posso dizer isso em termos de programação, pois ambas as condições precisam ser verdadeiras para que a conclusão seja verdadeira? Este é um exemplo de duas condições e pode haver casos de uso de mais condições a serem satisfeitas. A lógica por trás todas as condições precisa ser verdadeira para a conclusão da afirmação seja verdadeira. E é um professor rigoroso que não gosta de se comprometer em nenhuma situação. Ela espera que todas as condições sejam perfeitamente verdadeiras para que a conclusão seja verdadeira. Em outras palavras, o resultado de e é verdadeiro somente quando todas as condições são verdadeiras. Caso contrário, é falso. Por exemplo, é seis maior que cinco. Sim, é verdade. Se seis a menos de dez, a menos que você seja uma criança em idade pré-escolar, você sabe muito bem que essas duas condições são verdadeiras Portanto, ambas as condições são verdadeiras e , portanto, resultantes e condições são verdadeiras. Veja o exemplo de várias condições. Aqui, todas as condições são verdadeiras. Portanto, o resultado é verdadeiro. Nove condições verdadeiras com apenas uma condição falsa tornam toda a afirmação falsa. Espero que agora você tenha entendido e condicione perfeitamente. Agora vamos passar para o próximo operador, como você usa R em sua rotina. Quando você sai com seus amigos, você gosta de comer pizza ou hambúrguer, o que estiver disponível O que esse R está dizendo é que você precisa de qualquer um deles para encher o estômago. Se a sorte estiver a seu favor, você obtém os dois, o que o deixará totalmente satisfeito. Eu interpreto isso como se qualquer uma das várias condições em R satisfeita ou considerada verdadeira, toda a afirmação será verdadeira, certo? Nossa declaração é muito otimista. Ou a declaração será falsa somente quando todas as condições da declaração forem falsas. Caso contrário, ele retornará verdadeiro. Ao contrário da condição, mesmo que uma entre dez condições seja verdadeira , a saída é verdadeira. Há mais um operador lógico não voltar à velha história do restaurante com seus amigos. O restaurante Imagine tem apenas duas opções para comer pizza e hambúrguer, mas você não gosta de pizza, então sua condição de pedido não é pizza Ao usar o nó lógico, você quer dizer que está bem com qualquer coisa, exceto pizza Então você não tem outra opção a não ser comer hambúrguer. A mesma lógica que o operador não usa na programação. Nas condicionais, você tem duas opções, verdadeira e falsa. Se não for verdade, então deve ser falso. De alguma forma, é como seu cônjuge. Se você é verdadeiro, é falso. Se você disser falso, isso se tornará verdade. É um maior que dez. Não, é falso. Nenhum operador que lidera o que quer que os operadores de comparação digam e faça o oposto diz que essa condição é verdadeira. Espero que você não tenha digerido nada do operador. declaração de comparação e os operadores lógicos são muito úteis na instrução if condicional e em loops como quatro e Y. Discutiremos sobre eles em uma parte posterior. Aqui está um exemplo simples do uso do operador lógico, mas por que o alfabeto inglês apareceu Mas esse código ainda é fácil de entender. A é o nome dado ao valor seis e, em seguida, usamos seu nome em vez do valor. Um módulo dois, ou seja, seis módulo dois é zero, pois seis é divisível Seis é menor que dez, também seis é maior que zero. Todas as três condições estão satisfeitas nesta declaração, então o resultado é verdadeiro. Da mesma forma é este exemplo. Aqui, valor é o nome dado ao valor 13. O valor 13 satisfaz apenas uma das três condições. Ou seja, o valor é maior que zero. Somente essa condição é verdadeira. Os outros dois estão mentindo. Mas essas condições são unidas pela operadora, que tem um coração grande o suficiente para desculpar duas quedas entre três O operador R ficará feliz mesmo quando apenas uma entre várias comparações for Essa é a natureza otimista do operador. Por isso, eu disse que a operadora tem um grande coração. Nesses dois exemplos, os valores são fornecidos com nomes distintos. Essa cerimônia de nomeação é chamada de atribuição de variável. Esse é o ingrediente do próximo módulo. Estou convidando você para a cerimônia de nomeação que ocorrerá no próximo módulo 12. Variáveis e identificadores: E bem-vindo à terra das variáveis e identificadores Pense sobre isso. Assim como cada um de nós tem um nome exclusivo, o mesmo acontece com os dados com os quais trabalhamos na programação. O nome nos dá identidade, reconhecimento e um toque de personalidade. Então, por que os dados não deveriam receber o mesmo tratamento? Imagine chamar todo mundo, Ei , você, seria um caos. Os dados merecem o mesmo respeito. Então, na programação, nomeamos nossos dados para facilitar a identificação. Em variáveis, as próprias tags de nome de nossos dados, as variáveis são as tags de nome de dados. Quando trabalhamos com os dados em Python, atribuímos um nome a cada informação, como colocar uma etiqueta de nome nela Esse nome é chamado de variável. Pense nisso como a cerimônia de nomeação dos dados. Assim como dar um nome a um animal de estimação, você está dando aos seus dados uma forma de serem reconhecidos. Por exemplo, se você atribuir um valor a uma variável aleatória A , em qualquer lugar que você diga A em seu código, Python sabe que você está falando sobre esse valor específico Aqui, A é uma variável. É como dizer que A é 13. De agora em diante, você pode usar A em seu código e o Python entenderá que você quer dizer 13 Se você pedir para imprimir A, ele imprimirá 13. Agora, há outro termo que geralmente aparece e às vezes soa um identificador um pouco mais assustador Antes de prosseguirmos com as variáveis, vamos entender os identificadores O termo chique para nomes. Não se preocupe. É mais simples do que parece Um identificador é basicamente qualquer nome que você dá nos programas. Pode ser uma variável, uma função ou até mesmo uma classe. Talvez você não conheça todos esses termos, mas os aprenderá. Por enquanto, pense nos identificadores como um grande termo abrangente que abrange todos os nomes diferentes que você criará em seu código Resumindo, lembre-se uma variável é um identificador para um valor específico, como idade ou altura. Um identificador pode ser um nome para quase tudo em seu código, variáveis, funções, classes e muito mais. Um grande termo genérico que abrange nomes para todos os tipos de coisas. Em termos simples, todas as variáveis são identificadores, mas nem todos os identificadores são variáveis. Imagine assim. Se os identificadores forem um grande clube VIP, as variáveis seriam um dos membros mais legais Também são outros membros, como funções e classes, mas as variáveis são aquelas com as quais geralmente começamos. Espero que esteja claro para você. Resumindo, nomear dados não é apenas uma questão de organização, mas de respeito, legibilidade e preparação do seu código para o futuro. Da próxima vez que você atribuir um nome a um valor, lembre-se de que você está dando um pouco de identidade aos seus dados e facilitando a compreensão de todos. Quando você atribui um valor a uma variável, digamos que o produto vendido seja igual a dez. É como se você tivesse criado um sinônimo para esse valor. Em vez de lembrar o valor dez, você se lembra apenas do termo produtos vendidos e sempre que precisar atualizá-lo, basta alterar o valor sem muita preocupação Agora eu atribuo que os produtos vendidos são iguais a 20. Atribuir a mesma variável a um valor diferente elimina o valor anterior e salva o último valor atribuído Variáveis não apenas tornam seu código legível. Eles o tornarão editável, gerenciável e muito mais fácil de atualizar Anteriormente, A era atribuído com o valor 13. Agora eu atribuo cinco. Agora, o valor 13 é excluído para A para sempre. Use variáveis diferentes para valores diferentes. A variável A é sinônimo do valor cinco. Qualquer operação feita na variável A é operada no valor cinco. Isso significa que A mais um é cinco mais um, o que retorna seis e A multiplicado três é cinco multiplicado por três, ou seja, 15 Esse vínculo entre A e cinco continuará até que o valor dentro de A seja alterado. Aqui está outro exemplo em que a cerimônia de nomeação está em ação. O preço é igual a 10,99 unidades. O desconto é igual a duas unidades. O preço final é igual ao preço menos o desconto. Imprima o preço final. Você pediu ao Python que imprimisse somente o preço final , portanto, ele retorna o valor do preço final Agora você não está trabalhando apenas com números sem nome. Você tem desconto no preço e preço final. Eles dizem exatamente o que está acontecendo e, se os preços mudarem, você só precisará ajustá-los em um só lugar Mas por que as variáveis são tão úteis? Imagine essa situação. Considere um gráfico de formato retangular com 30 unidades de comprimento e 20 unidades de largura. Você precisa encontrar a área para fornecer a superfície e o perímetro para colocar a parede composta ao redor deles. Então você conhece bem a matemática , calcula matematicamente, área é dez vezes a largura e perímetro é igual a duas vezes o comprimento mais a Você entendeu o que eu fiz aqui porque você compareceu a esta sessão. Mas para a outra pessoa que está usando o mesmo programa, mas não viu esta sessão de vídeo, posso dizer se o programa calcula a área ou o preço total de 30 pizzas a 20 dólares cada Esse é um exemplo fácil. se o programa for um pouco complexo, como problemas científicos e de engenharia, você precisa estar pronto para ser incomodado, pois cada pessoa que o usa precisa ligar para você para entender o que esse programa faz Considere também o caso você precisa salvar e reutilizar o valor obtido como saída Assim como você obteve o preço local do terreno por unidade de área, você precisa avaliar o preço do terreno multiplicando o preço local por unidade de área pela multiplicando o preço local por sua área de produção Você não pode fazer isso porque o valor da saída não é salvo. Para fazer isso, você precisa escrever os valores manualmente para os cálculos. E se houver vários valores precisem ser usados no cálculo? Então, vamos fazer algumas mudanças nesse programa. Vou criar duas variáveis, comprimento e largura. Se você gosta de doces e curtos, pode ligar para o LNB, mas não me responsabilizo se você os confundir mais tarde com limonada e cerveja Agora calcule a área e perímetro e os atribuiremos aos respectivos identificadores Agora vou imprimir com uma declaração a área do gráfico e adicionar o respectivo valor a ela e, da mesma forma, ao perímetro O que está acontecendo aqui? É uma simples adição de string que está concatenando o texto no final. Mas isso está correto? Não, o Python tem algum problema com esse programa. A área e o perímetro que calculamos são inteiros ou, dependendo dos valores de entrada, podem ser flutuantes ou um valor numérico O problema é que números inteiros e flutuantes não são parentes da string e, portanto, a string não está pronta para receber o inteiro em Agora é o melhor momento para usar a conversão explícita que já aprendemos Primeiro, converta o número inteiro em string e agora a string está muito feliz em aceitar o valor Agora, o programa parece limpo e, provavelmente, qualquer pessoa com poder de preensão acima da média pode entender o que ele está Se quiser, você também pode usar o valor dentro da área e do perímetro para qualquer outro cálculo. Ótimo. Dê um passo à frente. Vamos tornar o programa mais dinâmico. Peça ao usuário que defina os valores de comprimento e largura. Isso seria mais prático. O programador geralmente não usa o programa, mas o desenvolve para diferentes usuários Use a função de entrada junto com alguma mensagem opcional para que o usuário entenda o comprimento do gráfico e a largura similar Agora, novamente, surge o problema dos tipos de dados. O Python considera todos os dados de entrada do usuário como string por padrão Parece que o Python adora mais strings em comparação com outros tipos de dados O que faremos é convertê-los em tipos de dados inteiros. Se houver partes decimais, torne-o tipo de dados flutuante Agora, o programa solicita que o usuário insira o valor de comprimento e largura e o valor inserido é atribuído às respectivas variáveis O usuário precisa pressionar Enter com cada entrada. O programador não tem a dor de cabeça de definir os valores Que conceito fácil. Essa é uma forma de imprimir declarações de saída. Também existem outras formas. Em vez disso, você pode usar esse formato. chaves curvas usadas dentro da declaração representam variáveis e você precisa definir qual variável dentro do formato na ordem separada por vírgula As primeiras curvas representam a área e segundo perímetro conforme definido no formato Dentro do formato, cada valor deve ser claramente definido na ordem de alteração, a entrada em float Agora execute o programa e insira o valor com a parte decimal. Parece bom. Se você não quiser a cauda longa como macacos para esses valores, você pode limitar o decimal especificando o número Dentro da chave encaracolada, adicione dois pontos, que significa que após o ponto decimal, F indica limitar o número decimal de flutuação a Agora, o Python entende que precisa limitar o número de valores decimais A saída é arredondada para dois pontos decimais. Isso não é o fim. mais uma maneira de imprimir a saída. Esse método pode ser muito amigo de quem usa C, C plus ou Java. Aqui F representa flutuação. Existem alfabetos diferentes representando diferentes tipos de dados, mas não use muito esse método em Python, então não vou entrar A atribuição de valor aos identificadores torna o programa mais eficaz e útil Você está dando a identidade aos dados, a uma função ou a uma classe. Mas com o poder vem a responsabilidade. O Python tem certas condições para selecionar os identificadores. Na próxima aula, vamos ver as regras de seleção dos identificadores, encontraremos na próxima aula 13. Regras para selecionar identificadores: Agora, entende-se que variáveis ou identificadores são nomes definidos pelo usuário Eu sei que quando você tem autoridade para dar o nome, seu eu criativo pode criar identificadores como esses Você pode fornecer esse identificador? Você tem toda a liberdade atribuir qualquer nome às variáveis? Antes de entender as variáveis, vamos analisar nossos nomes. Temos uma ideia melhor. Nossos nomes são selecionados aleatoriamente? Eu acho que não. Seguimos alguns protocolos para selecionar nossos nomes. Seu nome tem caracteres especiais, como Ampersand ou dólar Provavelmente não. Normalmente, nossos nomes não têm caracteres especiais e não começam com números, mas às vezes podem ter os números no final, como poucos reis e imperadores. Agora vamos voltar ao tópico principal das regras para selecionar os identificadores Quando seguimos alguns protocolos para nossos nomes , por que não para as variáveis? Se você está pensando que pode atribuir nomes aleatórios às variáveis , preciso decepcioná-lo Mas as regras são muito simples e não têm muitas restrições. Aqui está o conjunto de regras para selecionar os identificadores. Regra número um, você tem algum animal de estimação em sua casa? Caso contrário, suponha que você tenha um, pois não precisa pagar nada pela imaginação. Além disso, imagine que tenha o mesmo nome que o seu. Acho que ninguém faz isso. Mas por quê? Se seu animal de estimação tiver o mesmo nome que você, o que acontecerá? Nada sério vai acontecer, mas o resultado é confusão. Você ficará confuso se você for chamado ou seu animal de estimação. O mesmo acontece com o Python. A primeira regra para selecionar os identificadores é não usar funções e palavras-chave predefinidas do Python funções e Aqui está a lista de palavras-chave do Python. Da mesma forma, você aprendeu algumas funções integradas , como tipo de entrada de impressão, into float e muito mais Não guarde nenhum desses nomes em suas variáveis, caso contrário, o Python confundirá Regra número dois, como eu disse no começo, nossos nomes não têm caracteres especiais. Da mesma forma, para identificadores, somente caracteres especiais permitidos são sublinhados Se você tiver permissão para usar caracteres especiais, use-os em suas senhas. Vai ficar forte. O Python permite somente letras, números e sublinhados. Nem mesmo espaço é permitido. Use somente sublinhado, se quiser usar algum caractere especial nos identificadores Regra número três: é permitido que os números façam parte do identificador, não significa ele tenha a liberdade de se sentar em qualquer lugar. Não há muitas restrições, mas primeiro caractere do nome da variável não pode ser um número. Assim como os assentos dianteiros são reservados para VIPs, primeiro caractere é reservado para letras e sublinhados Os números podem ser usados em qualquer outro lugar. Não há restrição para a posição das letras e do sublinhado Regra número quatro: os identificadores levam as letras maiúsculas e minúsculas muito a sério Os identificadores diferenciam maiúsculas de minúsculas. Depois de atribuir o nome da variável, especifique o caso dos identificadores ao usá-los novamente. Ambas as variáveis são consideradas variáveis diferentes devido mudança no caso, e pronto. Essas são as quatro condições das variáveis. Aqui está a lista de alguns identificadores válidos. Esses identificadores não violam as regras dos identificadores, portanto, são Sei que aprendemos o que não fazer melhor do que o que fazer. Portanto, para entender melhor, devemos examinar os identificadores inválidos e por que eles são A primeira linha contém dois identificadores. De acordo com a regra número três, identificadores não podem começar com os números A segunda linha, entrada de impressão, formato, ajuda e tipo de mapa são exemplos de funções integradas do Python Da mesma forma, a terceira linha contém palavras-chave incorporadas. Declarada na regra número um, funções e palavras-chave predefinidas não podem ser usadas como identificadores e, portanto, elas se tornam Os exemplos na quarta e quinta linha contêm espaço e caracteres especiais que são restritos de acordo com a regra número dois. Com esses exemplos, você entendeu o que não fazer, o que, por sua vez, o ajuda a aprender o que fazer automaticamente. O Python é muito fácil de usar e não tem muitas restrições Basta seguir essas regras para identificadores. Python ficará feliz e não o incomodará. Mas siga mais algumas regras que explicaremos no próximo vídeo para tornar seu programa mais limpo e legível. Nos vemos lá. 14. Boas práticas de programação: E bem-vindo de volta. Na última sessão, abordamos as regras rígidas de escolha de identificadores Hoje estamos explorando quanto mais amigável, é bom ter diretrizes As regras que aprendemos na sessão anterior são obrigatórias, como usar roupas para uma entrevista de emprego, e as diretrizes que estamos aprendendo são dicas de estilo para seu código, como usar gravata ou se arrumar Claro, essas dicas não são obrigatórias, mas farão com que seu código pareça muito melhor e você agradecerá a si mesmo mais tarde. Seguir essas diretrizes ajudará você a escrever código que até mesmo um estranho ou você do futuro, que é basicamente um estranho até então, possa entender Imagine seu código como uma conversa amigável em vez de um texto antigo que precisa de explicação. Você está pronto? Veja como tornar seu código claro, acessível e até um pouco Boa prática número um deixe seu código se explicar, nomeie suas variáveis como você quer dizer. Sejamos reais. Todos nós já os tivemos. O que eu escrevi aqui momentos em que analisamos nosso código. Especialmente se você usou nomes misteriosos para suas variáveis, como X e Y ou A e B. Claro que são curtos, mas não nos dizem nada sobre o que representam. Lembre-se de que o objetivo do código é ser legível como um manual de instruções amigável Vamos com um cenário. Na sessão anterior, estávamos calculando a área do retângulo Você poderia continuar com isso de novo. Qual é a aparência ou a alternativa, em que usamos apostas alfa e nomes curtos como esses. Ambos funcionam com certeza, mas apenas um é fácil de ler e entender sem coçar a cabeça A versão autoexplicativa informa instantaneamente o que cada parte do código faz, tornando-o tão legível quanto um lembrete amigável Então, e quanto ao código de um romance de mistério? Bem, até mesmo a casa de Sherlock pode ter dificuldade em lembrar o que L, B e A representam depois de alguns dias Dê nomes às variáveis que contem toda a história. Escolha nomes como comprimento e largura em vez de L e B. Este é o seu futuro eu agradecendo Seu código se torna muito mais fácil ler e qualquer pessoa, incluindo você, pode mergulhar, entender e atualizá-lo facilmente. Boa prática número dois: use comentários, faça comentários amigáveis ao seu código Todos nós adoramos comentários nas redes sociais, como reações ou elogios, mas os comentários em código têm um propósito diferente Eles estão lá para ajudar a explicar o processo de pensamento, os cálculos ou qualquer parte complicada do seu código Pense nos comandos como uma pequena placa de sinalização. Eles ajudam outras pessoas a navegar em seu código Confie em mim, eles ajudarão você até um mês depois. Em Python, os comandos começam com o símbolo da libra. Qualquer coisa que segue uma libra em uma linha é ignorada pelo interpretador Python como se fosse invisível Sinta-se à vontade para usar comandos para anotar explicações, dicas ou avisos. Agora, não se empolgue e comece a deixar um comentário para cada linha. Imagine ler um livro com uma nota de rodapé depois de cada frase exaustiva Em vez disso, coloque comentários estrategicamente para esclarecer partes complexas, por exemplo, como essa E se você quiser ignorar uma grande parte do código, talvez porque ainda a esteja testando ou ainda não a tenha aperfeiçoado Você pode usar códigos triplos. Não pesquise código triplo no teclado. Use um único código três vezes. Os códigos triplos ignoram tudo o que está dentro deles, tornando-os perfeitos para pausar temporariamente o código Ao colocar comentários cuidadosamente, você fornece ao seu código um guia integrado Torna-se compreensível, sustentável e acessível para que diferentes pessoas ou futuros possam facilmente pegá-lo e trabalhar com ele Boa prática número três, mantenha as coisas organizadas. Código livre de desordem é código feliz. Assim como o TD Desk é mais fácil de trabalhar, código organizado é mais fácil de ler e depurar Mantenha partes do código relacionadas juntas. Use linhas em branco para separar as seções lógicas e evitar colocar muitas tarefas em uma única Você não precisa pagar nada por deixar uma linha em branco, mas não deixe várias linhas em branco, fazendo com que o programador pesquise onde está a próxima linha estrutura clara evita que seu programa pareça uma parede de palavras. Essas práticas não são regras rígidas, mas são conselhos valiosos para escrever um código mais limpo e amigável Quando seu código segue esses princípios, qualquer pessoa, inclusive você, pode entrar, entender o que está acontecendo e se sentir confiante em entender o que está acontecendo fazer alterações sem quebrar algo involuntariamente Pense nessas dicas como seu manual de usuário de código. Portanto, mantenha essas boas práticas por perto. Pratique os conceitos e descanse. Há mais código para escrever, e isso é só o começo. Até a próxima vez, mantenha-o organizado, legível e divertido 15. Entendendo a corda: Bem-vindo ao fascinante mundo das cordas. Se você já enviou uma mensagem de texto, redigiu um e-mail ou deixou uma nota baixa, você já é um profissional no uso de strings Você simplesmente não sabia disso. strings são muito mais do que apenas texto aleatório na programação Eles são a força vital da comunicação, as estrelas do rock dos tipos de dados e a razão pela qual todo programador verifica seus e-mails antes de clicar Quero dizer, quem não tem medo de enviar um erro de digitação estranho para seu chefe ou, pior ainda , uma mensagem com esse erro de digitação No mundo do código, as strings são as superestrelas que usam a coroa dos códigos simples ou duplos Pense nisso como a joia da coroa do mundo da programação. Sem isso, as cordas perdem seu status real e podem causar o caos. Esqueça esses códigos e as coisas do programa sobre as quais você está falando, uma variável. Portanto, as cordas sempre usam sua coroa com orgulho, seja uma camada simples ou dupla, porque, convenhamos, elas precisam desse toque real Mas por que as cordas são tão importantes? Bem, pense sobre isso. Toda vez que você visita um site, pede comida on-line ou deixa um comentário, você está trabalhando com strings. O texto está em toda parte, e programação precisa de sequências de caracteres para gerenciar todo esse texto Aplicativos, sites, jogos, quase todos os programas têm equipes trabalhando duro nos bastidores para garantir que as coisas pareçam e soem corretamente Mesmo quando você insere números, seu programa os vê como texto até que você diga o contrário. No reino do código, os dados de string são os royalties padrão Se você estiver pronto, vamos mergulhar fundo e dissecar a anatomia de Vamos detalhar o que forma as cordas. Quem diria que o texto poderia ser tão emocionante preparado para testemunhar os segredos, os poderes e, sim, até mesmo o drama ocasional que vem com a compreensão das cordas Assim como cada um de nós é conhecido por nosso conjunto único de características. As cordas em Python têm sua própria identidade e tudo está em Sim, uma string é simplesmente uma sequência de caracteres, cada um ocupando um lugar na fila para criar algo significativo. Você pode pensar nos personagens como os blocos de construção de uma string. Cada um conta. Mesmo com espaços sorrateiros, estamos criando uma string, que contém, isso é uma string e atribuímos essa string à variável chamada statement Quer saber o comprimento de uma string, insira a palavra mágica do Python, Alan, que é função de comprimento, uma string na função Alien e ela contará cada caractere e fornecerá o total Se você tentar essa string em particular, obterá 16 porque Python contou cuidadosamente cada letra, espaço e sinal de pontuação , Não pesquise aqui, nós não temos. 16 caracteres, cada um essencial para tornar essa sequência significativa. Vamos falar sobre o índice, estilo de contagem exclusivo do Python Cada caractere em uma string tem um ponto específico, que chamamos de índice. É como se cada personagem estivesse sentado em seu próprio assento designado e o número do índice indicasse exatamente onde está esse assento. Mas é aqui que o Python se torna peculiar. Parece que o Python tinha um professor de matemática ruim. Python começa a contar não a partir de um como a maioria dos humanos faria, mas a partir de zero Sim, no mundo do Python, zero é o ponto de partida Para qualquer string, primeiro caractere tem o índice zero. O último caractere sempre estará no índice de comprimento menos um Para essa string em particular, comprimento é 16 e último caractere tem o índice 16 menos um, ou seja, 15. Basta culpar o professor de matemática de Python se você achar estranho O espaço é importante para cada personagem. Não subestime esses espaços. Eles também são personagens. O Python não os ignora. Eles fazem parte do encanto das cordas, então cada um tem seu próprio índice assim como qualquer outra letra Para essa string, existem três espaços que dão um significado claro à string. Sem esses espaços, a string seria apenas uma sequência de caracteres sem nenhum significado. Agora vamos falar sobre indexação negativa, lendo da direita É aqui que o Python realmente mistura as coisas. A maior parte do mundo incentiva você a ser positivo Python é totalmente legal com Em vez de sempre começar pela esquerda, você também pode contar os caracteres do final da string, movendo-se da direita para a esquerda. Veja como isso funciona. O último caractere tem o índice de menos um. O penúltimo caractere é menos dois. Ele remonta ao primeiro caractere, que tem o índice de comprimento negativo Se você está contando do início ou do fim, Python ajuda você Espere bem, pois estamos prestes a explorar a arte de mexer nas cordas internas Curiosos sobre o que está no índice específico, vamos usar nossa classe de ampliação de curadores e mergulhar na magia da indexação e mergulhar na magia da Imagine que uma string é como uma fileira de armários, cada um contendo um caractere Cada armário tem um número chamado índice, começando do zero Você quer saber o que está escondido no armário zero, basta verificar a string com o índice entre colchetes Veja como fica em ação. Índice zero, você desbloqueia o primeiro armário e Python retorna T. Se você marcar o Índice 15 , você rola para baixo até o último armário e ele está segurando um caractere G. Índice menos um , espere, uma porta traseira para o último armário, na verdade Python diz: Por que parar em números positivos? Vamos contar dois para trás. sequência com o índice menos um também revela o G final. Mas e se você for muito ganancioso? Digamos que você esteja se sentindo aventureiro e tente abrir o armário 16 em uma string que tenha apenas 16 caracteres dos índices de zero a Python vai olhar para você como um bibliotecário quando você como um bibliotecário quando você Aqui está o que acontece. Você solicita o índice 16 e Python retira o índice do intervalo. está tentando pegar algo que não existe, acalme-se. Pense nisso assim. Se sua string for uma festa com 16 convidados, com o índice de zero a 15, você não pode esperar que o Python encontre um convidado no assento Está vazio. Não importa o quanto você insista, Python não tirará o personagem do Você entendeu a estrutura e o índice da string. Vamos aprender na próxima sessão a dividir as strings em partes usando o índice Faça uma pequena pausa e participe rapidamente. 16. Corte de cordas: Vamos fatiar a bebida como se fosse noite de pizza. Fatiar uma palavra que instantaneamente traz alegria tanto aos amantes de pizza quanto aos fanáticos por frutas Seja cortando a fatia de queijo perfeita ou apenas pegando a parte do bolo com mais cobertura, todos nós adoramos uma boa fatia adoramos E adivinha? As cordas têm a mesma sensação. Agora eles estão sendo cortados em pedaços menores. Na programação, chamamos esses pedaços saborosos da string de substring corte é a operação que é executada não apenas nas strings, mas em todos os tipos de dados de sequência, como Lista Os conceitos, a sintaxe, tudo permanece o mesmo. Então, aprenda a cortar cordas. Você obtém o corte de listas e tuplas gratuitamente. Você está pronto? Agora imagine que sua corda é uma pizza. Em vez de coberturas, está cheio de letras. Você recebe uma faca. Não se preocupe. É amigável e você está pronto para cortar a fatia exata que deseja Bem-vindo ao corte de cordas em Python, a arte de cortar e servir cordas, uma substring uma Vamos começar a fatiar. Aqui está sua deliciosa pizza de cordas a mesma declaração de string, que contém This is a string. Agora vamos usar a faca de corte do Python para obter exatamente a fatia que você deseja A sintaxe é simples e funciona como mágica. Nome da string junto com o índice inicial, o índice final e o tamanho da etapa separados por dois pontos dentro do colchete Vamos detalhá-lo. Comece o índice, onde sua fatia começa Encerre o índice onde sua fatia quase termina porque Python é Ele para em um a menos que esse índice. Tamanho do passo, quantos passos você dá entre os personagens. Quer cada segundo caractere, use dois, queira cada terceiro, use três. Não pule nenhum, deixe em branco ou use um. Por exemplo, a primeira fatia, vamos fatiar. Essa é uma string como essa. Declaração com um cólon cinco cólon dois. Vamos ver começar no índice um. O caractere aqui é H no índice cinco, mas não o inclua. Então, paramos no índice quatro. No tamanho dois, pulamos todos os outros caracteres, então considere o caractere nos índices um e três O corte é superior ao índice quatro, cinco não está incluído O índice um tem H e o índice três tem es. Portanto, pegar H e, sim, dois pontos, cinco e dois nos dá a fatia Hs. Se algum dos argumentos não for mencionado, Python Ele assumirá os valores padrão sem sua permissão. Por exemplo, se o índice for excluído, se você pedir dois pontos e cinco, na verdade obterá tudo até quatro de um Pense nisso como pedir pizza da fatia um à fatia quatro Os valores padrão são seus amigos. Se você pular um dos parâmetros, o Python intervém com alguns valores Ignore o índice inicial, ele começa em zero Ignore o índice final, ele vai até o final da string Ignore o tamanho do passo, eu pego cada caractere cujo tamanho do passo é um No primeiro caso, nenhum argumento é mencionado, então o Python precisa assumir todos os valores por padrão Isso é iniciar o índice zero até o comprimento da string no tamanho do passo de um. Mas qual é a utilidade dessa declaração? Ele retorna todos os caracteres como estão. Em vez disso, você poderia simplesmente imprimir uma variável. É como pedir para fatiar a pizza e exigir todas as fatias A segunda linha, os dois primeiros argumentos, índice inicial e índice final são fornecidos, que têm dois e oito, respectivamente, e o tamanho da etapa é ignorado Portanto, o tamanho da etapa é considerado padrão, ou seja, um. Se o tamanho da etapa for um, você poderá pular o terceiro argumento, pois ele é padrão Não é necessário fornecer até dois pontos para a terceira parte. No segundo caso, retornaremos os caracteres do índice dois até oito menos um, ou seja, sete Portanto, todos os caracteres no índice 2-7 são retornados. Nesse caso, o primeiro argumento, índice inicial, não é mencionado. Segundo argumento, o índice é dez e, novamente, terceiro argumento está ausente, então ele retornará o índice do início até um a menos de dez, ou seja, nove. Todos os caracteres no índice de zero a nove são retornados. Pegando alguma coisa, veja mais alguns exemplos. O que o código fará nesse caso, aqui faltam tanto o índice inicial quanto o índice final. Somente o tamanho da etapa é fornecido, ou seja, dois. O programa retornará os caracteres do início ao fim no tamanho de dois passos. Ou seja, todos os caracteres alternativos são retornados. Na segunda linha dessa célula, corte começa do índice até o final Espero que não seja necessário mencionar que o tamanho do passo é dois, chocado. Basta verificar se você está ouvindo ou apenas dormindo. Não, o tamanho do passo é um. Tudo bem, feiticeiros de fatiar. Prepare-se. Vamos dar um passo à frente, cortando ao contrário, e agora é hora de dominar a fatia inversa Pense nisso como rebobinar sua música favorita ou a lua andando por uma A distorção do gráfico, o índice inicial é maior do que o índice final com tamanho de etapa negativo Aqui está a cena, começando no meio da corda. O índice final é bidirecional à esquerda. O tamanho do passo é menos um, hora de retroceder O que está acontecendo? O tamanho negativo do passo inverte o jogo Normalmente, o corte se move do início ao fim. Mas com menos um, nos movemos em sentido inverso da direita para a esquerda Python, é inteligente o suficiente para saber o que você quer, desde que você forneça Portanto, imprima a declaração com dez e vírgula, dois vírgulas menos um. Como isso funciona, comece no índice dez. Esta é a letra S, volte para o índice três. Índice mais um, ao contrário de menos um em etapas positivas, você pega todos os caracteres até o índice três na ordem inversa A saída é semelhante a esta. Observe como, com um tamanho de etapa negativo, o índice final funciona de forma diferente. Python inclui mais um caractere além do índice final especificado É como dar a você uma fatia extra do bolo de graça. Você acha que é verdade? Pense novamente. Vamos subir um pouco. Se o índice inicial estiver ausente e o tamanho da etapa for negativo, Python pensa que você quer que eu corte do último caractere até o Eu entendi. Peça para imprimir a declaração dois pontos, dois pontos menos um. Isso é o que acontece. Comece pelo final. Python assume o último caractere, índice 15, que é G. Volte para o índice seis, que é o índice final O Python corta tudo ao contrário até chegar ao índice seis A saída é semelhante a esta. O Python não é muito inteligente? Agora, o grande final, invertendo a sequência inteira Aí vem o truque definitivo. Quer virar toda a corda para trás, pular os índices inicial e final e ir direto para Imprima a declaração, dois pontos, dois pontos menos um. Como o tamanho do passo é menos um, Python começa no último Vá até o primeiro personagem. Imprime a string na ordem inversa, pois é menos um. A saída é semelhante a esta. É como assistir a um filme de trás para frente, onde um herói cai de volta no prédio em chamas e destrói o amor de A regra de ouro, o tamanho do passo não pode ser zero. Agora, uma rápida palavra de cautela. O tamanho do passo pode ser positivo, negativo ou ausente, mas não pode ser zero. Por quê? Porque o Python não vai ficar sentado olhando para a corda, se perguntando: devo me mover Cortar em zero passos é como tentar caminhar para frente enquanto está perfeitamente imóvel Isso simplesmente não está acontecendo, então encerre tudo. Com o fatiamento, você desbloqueou toda a anatomia das Você dominou a arte de controlar as cordas, avançar, retroceder ou pular Então vá em frente, corte e corte sua corda em cubos como um profissional, e lembre-se sempre de que o Python o defendeu. Mesmo quando você está cortando ao contrário. No próximo vídeo, veremos alguns métodos operados em string. 17. Métodos em corda: Oh, bem vindo de volta. Neste vídeo, vamos aprender métodos importantes operados em strings. Vamos continuar? Vamos ativar o modo detetive. Encontre o índice de um personagem. Anteriormente, encontramos o personagem em um índice específico, como brincar de esconde-esconde. Mas e se a mesa virar? E se você for o buscador e precisar encontrar o endereço de um personagem desaparecido. Não se preocupe. método de indexação do Python é sua casa Sherlock resolvendo o caso da criança perdida na família das strings Vamos pegar a string chamada declaração que usamos nas sessões anteriores. Se você está procurando o endereço do caractere T, o método de índice do Python é rápido de responder O endereço é índice zero. E quanto ao IS? Bem, o Python não entra em pânico, mesmo que haja duplicatas Ele segue calmamente a política sólida de “primeiro a chegar, primeiro”. O EI vive no índice dois, sem brigas pela segunda ocorrência. Entendi. Bom. O Python é ótimo para encontrar coisas Só não peça algo que não esteja lá, pois isso gerará um erro Da mesma forma, o caractere yes é repetido três vezes na string Mas a primeira ocorrência de sim está no índice três. Estamos comparando a string Python com uma string com os mesmos caracteres, Python , e verificamos se há algum erro ortográfico Mesmos personagens. Mas quando você pede ao Python para compará-los, ele diz falso Por quê? todas as diferenças em maiúsculas e minúsculas como um professor Porque Python é um perfeccionista que julga todas as diferenças em maiúsculas e minúsculas como um professor de gramática marcando sua redação. Motor de busca do Google, não se preocupe com o caso da pesquisa que você forneceu Não posso esperar obter a informação perfeita com os casos corretos o tempo todo. Como posso pedir ao Python que ignore o caso? Se você precisar comparar a string, ignorando as maiúsculas e minúsculas, use case fold Case fold é um avaliador liberal que não reduz a pontuação por erros bobos em maiúsculas e minúsculas É a hora de fazer algumas alterações nas maiúsculas e minúsculas da string. Deixe-me definir a string para as operações de caso. Tenho preguiça de encontrar as variáveis e a string. nome da minha variável é string e a string é um exemplo de string Python Por que diabos eu deveria me preocupar em encontrar o identificador e uma string Vamos começar a operação. O primeiro método é capitalizar. Capitalize transformará o primeiro caractere E do exemplo em maiúsculo, e o resto ficará em minúscula Observe que P do Python mudou de maiúsculas para minúsculas Se você não gosta de discriminar os caracteres e deseja tratar todos os caracteres da mesma forma, use os métodos superior e inferior Upper converterá todos os caracteres da string em maiúsculas Se o método superior for entendido, fico muito feliz em dizer que economizamos nosso tempo para explicar o método, o inferior. Nesse tempo economizado, aprendemos outro método de contagem. Você sabe o significado da contagem de palavras? Vocês estão facilitando meu trabalho. O método count retornará o número de ocorrência de uma substring Usaremos esse método na string com o nome, quero dizer, declaração identificadora para verificar a frequência das substrings. Diz que você está repetindo a mesma substring como um disco quebrado por esse número de Nesse caso, são dois. Os próximos métodos terminam com return true se a string contiver o que quiser, mas termina com uma substring mencionada como argumento Isso será útil em casos de teste como se a string for um URL ou um ID de e-mail. Teste a URL, www.abc.com, se ela terminar com.com, e envie um e-mail para verificar se termina com algum domíniom.com Quando essas duas condições são satisfeitas, elas retornam verdadeiras. Agora me diga se você entendeu que o método termina com. Se você não entendeu , mova o vídeo alguns segundos para trás e veja novamente. Se você realmente entendeu esse método , não há necessidade de explicar: comece com ganhe um, ganhe um grátis. Vamos seguir em frente. Por padrão, o Python trata tudo o que está dentro do código como string Ele pode conter alfabetos, números, caracteres especiais e Vamos explorar alguns métodos que verificam o tipo dos caracteres na string. Primeiro, deixe-me definir algumas sequências de caracteres para testar os métodos. Como eu disse anteriormente, por que nos preocupamos com os identificadores, eu os nomeio adequadamente. Numérico com caracteres numéricos, Alfa, que contém somente alfabetos, Alfa numérico com combinação de alfabetos e caracteres numéricos e especial que contém caracteres Alfa numérico com combinação de alfabetos e caracteres numéricos e especial que contém caracteres especiais. Agora veremos os métodos um por um. É numérico Verifique se os caracteres são numéricos. Ele retornará false se a string contiver alfabetos ou caracteres especiais O próximo método é E, nome abreviado do alfabeto E. Isso é verdade se os caracteres estiverem entre Z ou então falsos. A combinação de Epa e numérico é isalnum. Ela retorna false quando a string contém caracteres especiais como e comercial, exclamatório, octothorPercent , sublinhado Torna-se verdadeiro se a string tiver alfabetos, números ou ambos Você ainda se lembra das variáveis da aula? Então, lembra das regras dos identificadores? Você pode verificar a validade da string, ou seja, se ela é elegível para ser usada como identificador usando o método es identifier. Retorna verdadeiro se a string for um identificador válido. Se violar as regras do identificador , retornará false Esses são os testes do tipo de caracteres. Agora verifique as maiúsculas e minúsculas dos caracteres em uma string. Es lower retorna true se todos os caracteres estiverem em minúsculas, ignorando caracteres numéricos Até mesmo uma única letra maiúscula mudará a validade do teste para falsa O irmão desse método é E maiúsculo, onde a maiúscula é verdadeira se todos os caracteres estiverem em maiúsculas Esses métodos apenas verificam as condições e retornam verdadeiro ou falso. Se você quiser converter os caracteres em maiúsculas ou minúsculas, já aprendemos métodos como letras maiúsculas já aprendemos métodos como Passe para o próximo método. A picada está bagunçada e contém algumas coisas indesejadas, então o Python fornece uma ferramenta de limpeza para remover a Lstrip é canhoto e, portanto, limpa a parte mais à esquerda da corda Lstrip verificará se a parte esquerda da string contém as coisas indesejadas mencionadas no argumento Se o caso for verdadeiro, ele os removerá. Se o argumento não for mencionado por padrão, lstrip remove os espaços se os primeiros caracteres forem espaços em branco No exemplo, Ylstip é fornecido com o argumento ABC para a string email, que tem valor ABC no Quando o e-mail começa com ABC, ele o remove e retorna a sequência restante Se você precisar limpar a bagunça na parte direita ou na extremidade, faixa R será usada Isso funciona exatamente da mesma forma que o strip, mas o RStrip é destro e, portanto, segura a esponja com a mão direita Para o mesmo exemplo de e-mail, RStrip é fornecido com domain.com Python limpe a parte direita e remova domain.com. O resultado é deixado com o ABC à direita. Se você precisar de um trabalhador supereficiente que possa trabalhar as duas mãos para limpar a bagunça nas duas pontas, use a faixa metodológica Aqui, a string tem espaços em branco indesejados em ambas as extremidades. Vamos remover os espaços em branco, tanto no início quanto no final, usando o método strip. Esses irmãos trigêmeos removem os caracteres indesejados, limpam a corda e economizam Você gosta de quebrar a unidade da corda? As cordas podem ser divididas em várias partes usando o método split divisão por padrão separa a string na lista na ocorrência de espaço A string na declaração variável tem quatro palavras. Isso é um que é separado por espaços. Ao não fornecer nenhum delímetro, corda é cortada em quatro partes no espaço para formar a lista de quatro palavras Se você quiser dividir a string em qualquer outro delímetro que não seja o espaço , mencione-a como um argumento. Nesse caso, string é dividida na ocorrência do caractere S. Há três S na Portanto, a corda é quebrada em três juntas, transformando-a em quatro pedaços. Se for possível dividir ou quebrar a corda, a soldagem da corda também deve ser possível soldagem da corda também deve ser O caso inverso da divisão é junção. Join é um adesivo virtual para a corda. Join conecta a lista de substring em uma string de ponta a ponta Primeiro, defina o delímetro que separa cada elemento. Aqui está uma lista de três sequências diferentes e essas três palavras são unidas de ponta a ponta na ordem e separadas por espaço em branco conforme solicitado. Parabéns, guerreiros de cordas. Você desbloqueou todo o poder dos métodos de cordas , desde limpar, fatiar e cortar em cubos até transformar e inspecionar Vá lá e conquiste suas strings como um profissional de codificação A propósito, você está se sentindo sobrecarregado? Basta praticar os programas regularmente e aplicar os conceitos. Você os usará sem esforço mais tarde. Nos vemos na próxima sessão. 18. O que são funções e métodos?: Depois de analisar todas essas cargas pesadas de informações, alguma ou outra pessoa teria saído com uma grande questão sem solução Durante muito tempo, eu estava usando esses dois termos, funções e métodos confusos O que exatamente são funções e métodos? Eles são parentes ou inimigos? Quero dizer, eles são parecidos ou diferentes? Pensei em explicar esse conceito no primeiro módulo, mas não quero dar apenas as definições assustadoras porque, por padrão, as definições são projetadas para parecerem assustadoras Depois de aprender até esse estágio, tenho muitos exemplos para explicar esses dois termos. É um bom momento para aprender esses dois termos em profundidade. Você já conheceu e usou muitas funções. A ajuda de impressão são todos exemplos de funções. Também usamos as funções para conversões explícitas, como Int, STR ou float. Você deve ter percebido a importância da codificação de funções Programar sem as funções é como tentar cozinhar sem os utensílios de cozinha Você acaba dirigindo a sopa com as mãos. Agora vem a pergunta: quem está qualificado para ser chamado como função? Use seu cinto de segurança, eu vou te dar a definição de função, e eu sei muito bem que essas definições quase sempre criam turbulência Aqui vamos nós. Funções são o conjunto de instruções que executam uma tarefa. As funções não alteram o parâmetro, mas retornam a nova versão dele. Quem se importa com essas definições chatas? Vamos entender por meio do exemplo. string variável contém os dados da string e, portanto, vamos considerar a função de comprimento. A função sempre começa com o nome da função seguido pelo parâmetro entre parênteses A definição que definimos, ela executa alguma tarefa. Sim, a função de comprimento descobre o comprimento da string, não em termos de metro, mas em termos de caracteres. Considere um exemplo de lista. Devemos apenas ver como as funções funcionam. LSD é uma lista de alguns elementos numéricos. Eu uso uma função ordenada e atribuirei o resultado a uma lista ordenada por variáveis A tarefa dessa função é classificar os valores em ordem crescente Ao definir, Sone também disse que as funções não alteram o parâmetro , mas retornam a nova versão dele Você verifica a lista inicial de LSD, ela nem tem ideia de que você a classificou Mas a nova lista ordenada tem uma nova versão do LSD. As funções são as ferramentas disponíveis em Python que estão sempre prontas para atendê-lo com amor e esperando que você as use Eles podem ser usados em qualquer lugar do seu código apenas chamando o nome deles. Agora vamos visitar outro método de amizade. Como sempre, como tudo, vamos começar com a definição. Diz que o método é um conjunto de instruções associadas ao objeto que podem ser usadas somente para aquela classe específica. Não sei por que essas definições são sempre mais assustadoras do que realmente são Para a string, você aprendeu muitas notações de pontos, como colocar maiúsculas em maiúsculas, começar com, terminar com e assim por diante até Todas essas notações de pontos têm o nome sofisticado chamado método Vamos dar o exemplo de é numérico. Você sabe muito bem o que ele faz. Se eu usar o mesmo método com os valores inteiros, quais serão as observações Você receberá o erro de atributo com a mensagem. Se o objeto não tiver nenhum atributo, é numérico. O método é racista, que é específico apenas para um determinado tipo de dados Isso significa que o método de um tipo de dados não é compatível com o outro tipo não é compatível com o Isso é o que diz a definição, os métodos estão associados ao objeto que pode ser usado somente para aquela classe específica. As anotações de pontos da string não estarão disponíveis para outros tipos de dados Vamos ver por que o termo classe é usado aqui na sessão de OOP Não se preocupe muito com isso. Você entenderá isso mais tarde. A partir de agora, é bom o suficiente. Espero que você tenha entendido a diferença entre as funções e o método. Vamos esquecer os métodos por alguns instantes e nos concentrar nas funções. Só por alguns momentos, não permanentemente. As funções integradas são no restaurante do Python para você Você só precisa ir ao restaurante Python e solicitar qualquer função Mas às vezes o prato que você está procurando não está prontamente disponível no restaurante Python , não, o pedido on-line não funcionará aqui Essa é a situação em que você precisa preparar suas próprias funções. Essas funções preparadas por você são chamadas de funções definidas pelo usuário. Você está animado para a sessão de culinária? Nos vemos na cozinha. 19. Função de definição: Até agora, dominamos muitas funções integradas do Python , especialmente em O Python tem várias funções integradas, atendendo a vários casos de uso e tarefas Alguns deles já examinamos e outros ainda não exploramos. Mas essas funções podem não ser capazes de resolver todas as tarefas necessárias. Não podemos esperar tudo de acordo com nossas necessidades. O que faremos nesses casos. Antigamente, os humanos usavam pedras e paus para caçar. Mas há o suficiente para todas as situações de caça? Não. Quando as ferramentas existentes não são eficientes e suficientes para atender às nossas necessidades, os humanos usaram as ferramentas existentes para preparar flechas e outras ferramentas afiadas, o que facilitou muito nosso trabalho Quando não temos o que precisamos, use o que temos como matéria-prima e crie o produto personalizado. Essa qualidade tornou os humanos únicos entre os organismos vivos. Da mesma forma, definimos as funções de acordo com nossos requisitos quando não temos uma. Essas funções personalizadas são chamadas de funções definidas pelo usuário. As funções definidas pelo usuário são semelhantes a ensinar uma nova receita ao Python usando os ingredientes que temos para que ele se prepare para nós sempre que quisermos, de acordo com nossas instruções Digamos que precisamos calcular a área do círculo. Não temos nenhuma função pronta para fazer isso, então estamos ensinando ao Python essa nova receita Digite def. Não, Python não é def, mas é a forma abreviada de É como dizer ao Python: Ei, Python, as funções integradas que você forneceu não serão suficientes para Eu quero definir minha própria função. Python diz: Ok, vá em frente. Mas qual é o nome da sua função e de quais informações você precisa? Agora, forneça o nome da função que seja compreensível junto com o parâmetro de entrada Lembre-se das regras de seleção do identificador. Como nome da função também é um identificador. As regras são válidas aqui. Assim, nomeio a área do círculo da minha receita separada por sublinhado, pois os identificadores não gostam Para calcular a área do círculo, o parâmetro necessário é aquele que é raio Você definiu o nome da nova receita e os ingredientes necessários também estão listados na forma de parâmetros. O que vem a seguir? Para assar e preparar a receita. Comece dando instruções sobre como assar. Como todo o código que escreverei a seguir pertence a essa função que explica como preparar uma nova receita, forneça dois pontos informando em Python a continuação Agora você pode observar que os recuos foram movidos. Depois que essa função é definida, basta sair desse modo de recuos para finalizar a função que veremos mais tarde Agora forneça a expressão para calcular a área do círculo. A área é igual a pi vezes o raio do esquilo. Agora nossa receita está preparada e precisamos apresentar a receita preparada. Qual é a saída dessa função? É uma área. Área de retorno. Conforme você forneceu uma declaração por escrito, Python entende que sua sessão de culinária terminou Quero dizer, a função terminou. Portanto, os recuos foram recuados. Agora sua função está definida. O que devemos fazer com essa função? Ele não retornou nenhuma saída mesmo depois de executá-lo. Nenhum programa sabe o que fazer. O que ele não tem é o valor de entrada, o raio do círculo Como ele pode retornar a saída sem o valor de entrada? Sem ingrediente ou receita. Você acabou de ensinar o Python a preparar a nova receita Se quiser que o Python cozinhe de acordo com suas instruções, você precisa pedir que ele faça isso fornecendo o Agora calcule a área usando a função fornecendo apenas o raio, que é o único e principal ingrediente desta receita Agora você tem a saída. Este é um exemplo de parâmetro único, função de saída única. Você pode definir vários parâmetros e várias saídas, como no exemplo anterior de área e perímetro do retângulo Esta receita tem dois ingredientes, comprimento e largura, ao contrário um ingrediente na área do círculo A lista de ingredientes é separada por vírgula. Usando comprimento e largura, criamos área e perímetro A receita tem duas saídas, escritas na área e no perímetro Tanto o parâmetro quanto a saída precisam ser separados por vírgula. Essa receita é ensinada ao Python. Agora use a função definida e forneça comprimento e largura Você obtém duas saídas, 601 cem. Isso é sempre para que forneçamos em declaração por escrito, área seguida pelo perímetro Na função, você define as regras uma vez e as usa várias vezes. A saída nem sempre precisa ser escrita. Também pode ser uma declaração impressa. O mesmo exemplo, função para calcular a área e perímetro do retângulo, é escrito com a declaração de impressão A saída parece semelhante. Tanto essa declaração escrita quanto a impressa fornecem resultados iguais ou semelhantes, mas são diferentes. instrução de impressão exibe a saída, mas seu valor não pode ser salvo, armazenado ou usado posteriormente para cálculos. Conforme escrito, fornece um valor que pode ser atribuído à variável e pode ser usado para cálculos adicionais, como fizemos neste caso. área e o perímetro são calculados para o comprimento e a largura fornecidos e os valores resultantes são atribuídos a duas variáveis Isso não pode ser feito quando há uma declaração impressa. Espero que você tenha entendido a diferença entre imprimir e devolver. No próximo vídeo, exploraremos alguns exemplos de funções. Nos vemos lá. 20. Exemplos de funções: Na lição anterior, os conceitos de função definida pelo usuário são discutidos. Quando precisamos programar a tarefa rotineira, podemos usar funções, pois elas podem ser criadas uma vez e usadas várias vezes. Nesta unidade, veremos algumas funções para que você entenda melhor os conceitos de funções. As funções podem ser tão simples quanto este exemplo. Greet, que usa o nome como entrada e imprime a declaração hello com o nome Agora use a função com o nome aqui, John. Veja outro exemplo, Celsius para farnate, como o nome sugere, a função para a conversão de temperatura de Celsius para de Celsius Primeiro passo, dê um nome bonito seu prato e mencione o ingrediente. Eu defino o nome da função com a temperatura em Celsius como entrada Você se lembra da fórmula para conversão? Caso contrário, pesquise no Google ou pergunte se há LGBT. Eles são os únicos professores que podem ajudá-lo a qualquer momento com qualquer problema Vamos voltar à nossa fórmula. A temperatura do infarnado é igual à temperatura em graus Celsius multiplicada Agora retorne a temperatura infarnada, que é nosso resultado final. Agora eu uso a função Celsius para farnar com 25 graus Celsius como entrada, que é traduzido para Vamos tornar o programa mais dinâmico. Não estou inserindo o valor aqui. Vou pegar a entrada do usuário e convertê-la em float. Agora, insira o valor como usuário. Ele retorna a temperatura convertida. Mas estamos experimentando uma parte decimal longa aqui. Se você quiser restringir o número de pontos decimais, adicione a função redonda na declaração escrita Como o nome sugere, ele arredonda os valores e eu limitarei os valores decimais aqui a dois Use a função redonda sempre que quiser. Agora vamos executar o programa novamente. Nós entendemos. Não é legal? Aprenda bem os conceitos de função definida pelo usuário. Estamos encerrando o modelo aqui, mas nossa amizade com as funções não terminará aqui. Isso continuará até o final da jornada de programação. De vez em quando, eles aparecerão. Nós os usamos com muita frequência na programação. Até você coloca suas mãos em várias funções de sua preferência Crie funções para resolver suas tarefas do dia a dia. Você praticará facilmente. Além disso, ajudará você a programar com eficiência. Agora vamos descansar um pouco e nos encontrar novamente no próximo módulo. 21. Condicionais e ramificação: Você ainda se lembra do operador de comparação? Parabéns. Você não precisa assistir novamente antes de passar por este módulo. Lá, comparamos os valores para obter o resultado em termos de verdadeiro ou falso. O que devemos fazer com o verdadeiro ou o falso? Até as crianças responderão isso, verdadeiro ou falso. Precisamos tomar alguma decisão com base no resultado da comparação. É assim que tomamos decisões no dia a dia. E se o dia estiver chuvoso? Se for verdade, leve um guarda-chuva quando sair. Caso contrário, se o dia estiver ensolarado, leve óculos de proteção. Nós fazemos essa análise de I e S. Agora, traga-os para a programação e aplique-os a um exemplo agora. Este é um programa que decidirá qual presente você receberá para ir para a faculdade com base na pontuação obtida nos exames. Vamos fornecer a pontuação que eles obtiveram no exame. Se eles quiserem, adicione a declaração, como insira sua pontuação no exame. Agora coloque a declaração condicional. Se a pontuação for maior que 90, conforme discutido no módulo anterior, essa declaração não terminou, então forneça Colon dizendo: Python, segure meu assento , minha jornada continuará na próxima linha Então, se sua pontuação for 90, você ganha carro para ir para a faculdade. Suponha que você seja um garoto rico. Agora, e se essa condição for falsa e as crianças pontuarem menos de 90? Temos uma dançarina de apoio na festa. Se a primeira resposta, quero dizer, condição for verdadeira, então é ótimo. Podemos fazê-los dançar na festa. Mas se eles não aparecerem e a resposta for falsa, teremos a dançarina de apoio na forma de ALIF e s, que é a última opção Vamos vê-los agora, ALIF, que é o nome abreviado de s se a pontuação estiver acima de 80 e abaixo de 90 Como acima de 90 é exibido na declaração anterior, eu não defino a declaração maior que 90 Caso contrário, você inclui a declaração. Aqui não é necessário. Se o valor estiver acima de 90, quem é o dançarino principal O código negligencia todas as outras partes porque elas são trazidas apenas como backup O programa será concluído executando a primeira função e sairá diretamente da instrução if Vamos voltar à nossa segunda condição. Se a pontuação estiver acima de 80, você ganha uma motocicleta. Nada mal. Mas e se a pontuação ainda for menor? Se a pontuação estiver abaixo de 80 e acima de 70, o presente é bicicleta. Se você quiser salvar o ambiente, marque 70-80. Chegando ao último caso, veja, estamos usando se aqui, não F porque este é o último dançarino de backup e não temos nenhum outro backup agora Portanto, usamos se em vez de LIF , pois é a última condição. Se a pontuação estiver abaixo de 70, você ganha um bom par de calçados para poder caminhar ou pegar o transporte público para ir para a faculdade Se você quiser se manter saudável e em forma, pontue abaixo de 80. Faça isso por sua conta e risco pois essas condições podem não se aplicar a você. Não me diga que seu pai não deu um vale-presente para você, apesar de marcar mais de 90 Nem meu pai sabia. Assim como as condições, a saída pode imprimir algo ou retornar alguns valores. Se você precisar usar o mesmo programa várias vezes, coloque-os dentro de uma função. Vamos usar isso agora. Eu incluo essas declarações condicionais na função Digamos que decidir presente seja o nome da função e a nota do exame como argumento. Tudo o resto resta agora use a função para obter a saída. Os condicionais podem ser usados de forma independente, sem funções. Com as condicionais, a função definida pelo usuário obtém mais potência e versatilidade Para alguns casos de uso, instrução IL também pode ser usada em uma única linha. Se você é preguiçoso, talvez tenha gostado de saber como. Em seguida, pare este vídeo e vá para o próximo rapidamente. 22. Exemplos de condicionais: R: veremos alguns exemplos condicionais. Primeiro, começamos com exemplos muito simples de condições dentro da função. É uma função que descobre se o valor é par. Como de costume, eu defino a função, DEF é par com o número como parâmetro, e agora experimento a beleza do Python A seguir, uma única linha o levará ao clímax. Retorne verdadeiro se o número módulo dois, que significa que o restante quando o número é dividido por dois for igual a zero, consulte false Python entende a linguagem humana. Teste mais alguns casos. Aqui você pode ver o parente próximo da função anterior, escrito se o número é par ou ímpar A única diferença é que a saída anterior é booleana. Agora é a corda, par ou ímpar. Escreva o nome da função com um argumento. Em seguida, escrito mesmo que o modo numérico dois seja zero, use ímpar. Por que sempre números? String ficará com raiva e trataremos todos da mesma forma. Agora é hora de usar a string como exemplo para argumentação. Digamos que haja alguma declaração como essa. Python é uma linguagem de programação. Nada de novo. Essa afirmação é um fato já conhecido. O usuário quer saber se há uma palavra-chave específica nela, digamos Python Defina a função com string e substring como argumento Retorna verdadeiro se a substring estiver em string, Ls false. Essa declaração literalmente parece linguagem humana. Até mesmo alguém que não sabe programação, mas sabe inglês, pode entender essas linhas. Faça algumas modificações na substring agora, transformando P em minúscula Mas lembre-se de que a string diferencia maiúsculas de minúsculas. Se o Python estiver em letras minúsculas, a história é diferente Se você não quiser diferenciar maiúsculas de minúsculas, use o método case fold que discutimos no módulo string. Agora, último exemplo. Todo esse exemplo que tomamos é uma declaração escrita. declaração impressa será ruim, pois estamos usando a escrita para todos os exemplos. Aqui está seu exemplo, declaração impressa. Este é um programa simples que retorna se a negociação for lucro ou prejuízo, junto com o valor baseado no preço de compra e no preço de venda. Defina o nome adequadamente, junto com o preço de compra e o preço de venda como argumentos. Agora, o resultado é definido com base em qual valor é maior. Se o preço comprado for maior que o preço vendido, o resultado é perda, caso contrário, o resultado é lucro. Agora vem a declaração impressa, que imprime o resultado junto com o valor do lucro ou perda. O valor é encontrado pela diferença entre o comprado e o vendido. Mas aqui o valor é cercado por várias camadas de parênteses Que segurança rígida para a diferença entre compra e venda. Vamos entendê-los camada por camada. Comece a ler por dentro. Primeiro, precisamos calcular a diferença entre compra e venda em ambos os casos, seja lucro ou prejuízo. Mas se o preço de compra for menor, o valor será negativo porque é perda. Como temos o resultado impresso separadamente, precisamos ignorar o sinal dos valores e considerar o absoluto. Se o valor for negativo, ele retornará como valor positivo. Se for positivo, absoluto não tem nada a ver. Eu posso relaxar. Depois que Absolute tiver feito seu trabalho, valor é convertido em string para que possa ser adicionado a outras strings. Aqui, o dólar é usado como símbolo monetário. Adicione o que quiser se sua palavra-chave permitir que você faça isso. Agora continue a declaração com o resultado que tem valor, lucro ou perda. Agora a função está pronta para uso. Ótimo. Oh, esqueci de verificar Você ainda está comigo ou dormindo? Eu entendo. Vou terminar a aula e te dar tempo livre para realmente descansar agora. 23. Loops: Você já se sentiu mal fazendo a mesma tarefa rotineira todos os dias? A maioria dos profissionais faz coisas iguais ou semelhantes todos os dias, o que nós, humanos, consideramos mundanas depois de alguns meses O computador é melhor para realizar essa tarefa porque é uma máquina, não tem nenhuma emoção e nunca se sente frustrado Conseqüentemente, ele pode realizar a mesma tarefa chata milhões de vezes sem reclamar O loop é o termo usado para tarefas repetitivas. Todos nós já experimentamos essa tarefa rotineira e repetitiva. Na programação, isso é obtido usando loops. Loop é um conjunto de instruções que continuam sendo executadas repetidamente até que alguma condição seja violada Vamos simplificar a compreensão. Significa simplesmente que o loop é uma pausa estrita que não deixa você até que a tarefa dada seja concluída Loop é a versão de programação do seu exame escolar. Não há como escapar disso até que o exame seja aprovado. Até lá, repita o mesmo procedimento. Agora vamos encontrar um exemplo de loops de programação no mundo real. Você conhece o caixa eletrônico? Desculpe, eu sei que é uma pergunta errada. Quem não ama a máquina que dá dinheiro? Como isso funciona? Primeiro passo, o usuário insere a quantidade necessária. Agora o sistema entra em um loop e em cada loop ele retorna a moeda e o valor é adicionado ao valor total coletado. máquina continua distribuindo a moeda até que a soma total atinja o valor solicitado Quando o valor é igual ao valor solicitado, máquina sai do circuito e libera a moeda para o cliente. Você entendeu o conceito de loop ou entrou no ciclo de dúvidas e perguntas? Não se preocupe. Ao final deste módulo, você sairá desse ciclo de confusão. Há dois tipos de loops usados na programação, I loop e for loop Imagine que você está fazendo sanduíches para toda a sua família. Tenho certeza de que você não vai continuar fazendo centenas e milhares de sanduíches, preparando o dia inteiro Sua tarefa de preparar sanduíches deve terminar. Há dois tipos de finalização dessa tarefa. Número um, você deve parar de fazer sanduíche quando todo o pão que você tem estiver esgotado O segundo tipo de fim é quando você faz um sanduíche suficiente para que todos os membros da sua família, inclusive você, fiquem satisfeitos O primeiro caso é para loop. Nesse caso, com base na quantidade de pão que você tem, você sabe quanto sanduíche vai preparar O segundo caso é i loop. No meu caso, não podemos calcular quanto sanduíche você precisa preparar Alguém pode ter um, outros podem ter três. Você precisa continuar se preparando até que todos tenham o suficiente que desejam. Essa é uma diferença boba entre for loop e i loop. Vamos vê-los em detalhes no próximo vídeo. 24. Para Loop: Agora, entende-se que o loop continua executando o mesmo conjunto de instruções por várias iterações afirmação parece boa, mas o termo iteração múltipla é muito geral Precisamente, quanta iteração é essa iteração múltipla? Para alguns casos de uso, sabemos quantas iterações o programa deve passar pelos loops Em alguns casos, não sabemos o número exato, mas continuamos executando até que determinada condição seja violada Há dois tipos de casos de uso. Se você ou o programa souberem a resposta para essa pergunta, número de iterações, esse caso de uso é de quatro ciclos Antes de ingressar na faculdade, você sabe quantos anos precisa passar para concluir sua graduação. Da mesma forma, em for loop, programe no número de iterações pelas quais ele passa Você também usará os quatro laços em sua cozinha. Imagine que você é chef e precisa descascar a batata. Você escolhe uma batata em cada iteração e a descasca. Então você vai pegar a próxima batata. Antes de começar a descascar, você sabe quanta batata precisa descascar e, em cada iteração, sabe quanto resta Suponho que seu conceito de quatro voltas seja claro. Para começar, veremos os quatro ciclos em ação. Aqui está um exemplo simples de como definir os quatro loops usando o intervalo. Defina o intervalo mencionando inicial e o tamanho da etapa do intervalo Espero que esses termos não sejam estranhos para você, se você aprendeu a string corretamente. Você não está feliz? Seus velhos amigos voltaram? Como na string, se você perder algum argumento entre o tamanho inicial e o tamanho da etapa, o programa assume o valor padrão, mas o último valor do intervalo é estritamente definido. Quando você é informado de que seu chef descascou quatro batatas, você começa a contar a partir de cinco Mas quando você não tem nenhuma dessas informações, você começa do início, essa é uma. Mas para Python, o início é zero. Portanto, para Python, por padrão, intervalo começa de zero no tamanho da etapa de um até o último valor menos O intervalo cinco indica 0-4, ou seja, N menos um ou cinco menos um, que é quatro no tamanho do passo intervalo cinco é zero, um, dois, três e quatro. É atribuído a I em cada iteração. Não há nada complicado aqui. Somos ensinados ou aprendemos a complicar as coisas. Assim como você escolhe uma batata de cada vez para descascar, loop pega um valor na ordem e entra no loop. Ou seja, na primeira iteração, eu recebo zero e, com o valor, eu entra no loop Na próxima iteração, I é atribuído com o valor um. Agora, o programa diz: eu entendi quais são os valores com os quais preciso iterar. Agora me diga o que eu preciso fazer em cada iteração. É a hora de dar as instruções sobre o que fazer com o alcance. Exemplo, aqui, imprima I ao quadrado. Se você executar isso, na primeira iteração, o valor I é atribuído com zero, ele calcula I ao quadrado, imprime o valor e vai para a próxima Isso continua até o último valor de I, que é quatro. Depois que todas as batatas estiverem descascadas, programa sai do circuito, você fica com um conjunto de batatas descascadas que fica As batatas descascadas se parecem com esse resultado do quadrado da faixa de zero a cinco Não gosto da saída do plano, você pode adicionar uma declaração como se o quadrado do valor fosse esse. Neste exemplo, o início do intervalo não está definido e, portanto, por padrão, ele assume zero. Agora vamos definir o intervalo que não começa do zero. Vou definir cinco a dez. Alguém já descascou quatro batatas. Portanto, você precisa começar das cinco. Agora você consegue pensar nos valores que entram no loop? São cinco, seis, sete, oito e nove, mas não dez. Não vou fazer nenhuma alteração no valor e imprimir os valores como estão, imprima X. É um exemplo muito simples Agora suba mais um degrau. Agora defina o intervalo com o tamanho da etapa. No módulo anterior, ao entender as funções, definimos a função para conversão Celsius em farent. Agora eu trago o caso inverso aqui, conversão de farnet para Celsius para o próximo código A temperatura em graus Celsius é igual à temperatura em farnet -32, total dividido Temperatura de retorno em graus Celsius arredondada para duas casas decimais Agora a função para nosso cálculo está pronta. Volte para o circuito quatro. Estou definindo um intervalo de -50 a 50 com um tamanho de etapa de dez Se o segundo argumento for 50, o intervalo terminará em 40. Se precisar incluir 50, você pode definir 51 em vez disso. Agora imprima o valor do grau Fahrenheit e o grau Celsius correspondente usando Celsius Aqui, a saída é calculada não para um valor específico, mas para vários valores de entrada, e os usuários não têm o incômodo de fornecer vários valores para a função Estamos mimando tanto os números que String pode sentir No próximo exemplo, considere as letras na string Python For letter in string carrega cada caractere para o loop em cada iteração. Vou imprimir os personagens um por um. Este é um exemplo simples da string. Vamos tentar o loop de quatro com estrutura de dados como lista. Como primeira etapa, defina a lista. Se você não entende o que é essa lista , não coça a cabeça. Vou aprender sobre eles em detalhes no próximo módulo. Aqui, fornecemos a lista da iteração usando a declaração para frutas em frutas Fruta é uma variável atribuída a cada iteração, e frutas é o nome da lista Em cada iteração, um elemento da lista em ordem é transportado para o loop Vou imprimir uma declaração que soe semelhante à de “Eu amo” e adicionar frutas variáveis. Não sei de qual fruta você não gosta, porque nem conheço você pessoalmente, nem sou um leitor de mentes. Vamos supor que você tenha encontrado abacaxi. Eu adiciono a declaração se X for igual a abacaxi na próxima linha, adicionando a palavra-chave continue O que ele faz é pular a declaração impressa se a fruta for abacaxi, caso contrário, imprima normalmente Há mais uma palavra-chave semelhante, break. Usar a interrupção no loop é semelhante a continuar, mas a interrupção interromperá a iteração quando alguma condição for satisfeita Quando a condição for atendida, loop será interrompido e não continuará mais. No exemplo anterior de frutas, se a fruta for abacaxi, continue pulando o abacaxi e continue com as O break é usado, os programas param de consumir frutas quando encontram o abacaxi e o loop para de iterar, veremos o exemplo do uso do break em Usamos aparelhos eletrônicos protegidos pela senha Os gadgets pedem para entrar novamente quando a senha está errada até que a tentativa máxima seja atingida É um exemplo de loop. Depois de inserir a senha correta, ela interrompe o loop. Agora, tentamos entender o que está acontecendo neste exemplo. Primeiro, eu defino a senha real. Eu sei que a senha não pode ser exibida tão abertamente, mas é apenas um exemplo e aqui estamos apenas entendendo o conceito e não achamos que essa seja minha senha Sou inteligente o suficiente para não manter essa senha simples. Defina as condições. Eu defino o intervalo cinco porque cinco é a tentativa máxima para esse caso. Peça ao usuário que digite a senha usando a entrada e obtenha a senha da tentativa. Se a senha digitada estiver correta, interface deverá imprimir senha correta e interromper o loop. Aqui, uma pausa é importante. Caso contrário, o programa solicitará a digitação da senha cinco vezes, mesmo que a senha esteja correta. Se a senha estiver correta, esse loop deve ser quebrado. Além disso, há mais uma condição. Se eu for quatro, isso significa a quinta tentativa , pois eu começo do zero. Dê a mensagem de que a tentativa se esgotou. Caso contrário, peça para digitar a senha novamente. Isso é simples de entender. Vamos executar o programa. Teste o programa para os casos de uso. A primeira tentativa falhou, tentei novamente e, na terceira tentativa, digitei a senha correta. O programa agora não solicita que eu digite a senha novamente. Ótimo. Vamos dar um passo à frente no loop. É hora de usar loop dentro do loop, que é chamado de loop aninhado, mas vamos vê-los no próximo vídeo 25. Aninhado para loop: O laço aninhado é como uma cebola de laços. Depois de quebrar a primeira camada, você tem uma surpresa. Você tem mais uma camada. Para iniciantes, se você ver várias camadas aninhadas em camadas, isso causará isso causará Portanto, tentamos com duas camadas aninhadas por loop. Primeiro, entenderemos o caso de uso. Aqui, estou fazendo uma lista de todos os pares possíveis de partidas do torneio entre as equipes, por serem imparciais e de fácil disponibilidade Nomeamos a equipe como ABCD, E e F. Temos total liberdade para nomear a equipe como você quiser Ninguém vai nos perguntar e também não me pergunte qual jogo. Mais uma vez, eu te dou a liberdade. Você pode assumir qualquer jogo que dependa de você. Eu defini o nome da equipe. Esse tipo de coleta de dados é chamado de lista. Agora comece pela primeira vez para procurar a Equipe 1 em equipes. Ele selecionará uma equipe em uma iteração, começando pela primeira equipe Agora precisamos selecionar mais uma equipe para jogar contra a primeira. Portanto, usamos o loop nested for para selecionar a segunda equipe com a primeira equipe em mãos Equipe dois em equipes. Agora vem a condição. Há duas condições. Primeiro, conforme aninhado por loop, não sei se estamos selecionando duas equipes diferentes para jogar uma contra a outra Ele selecionará a mesma equipe duas vezes. A equipe dois não deve ser igual à equipe um. Lógica simples. Eles não podem jogar contra si mesmos. Segundo, uma vez que um par é formado, esse par não deve se repetir. O que isso significa é que uma vez que o par, por exemplo, A e B é formado , não há necessidade de outro par, B e A. Vou abordar essas duas condições em uma declaração. Ou seja, o índice da equipe dois deve ser estritamente maior do que o da equipe um. Quando é estritamente maior que, não há possibilidade de ter o mesmo índice e ele não repetirá os pares formados anteriormente. Agora imprima Equipe um versus Equipe dois. Isso é legal. Esse tipo de quatro loops dentro de outro quatro loop é chamado de quatro loops aninhados Agora veremos mais um exemplo que foi o pesadelo de nossa infância Você se lembra da tabela de multiplicação? Usando o loop aninhado de quatro, podemos criar as tabelas em apenas quatro a cinco linhas de código. Você está animado? Para criar tabelas, precisamos de dois valores em cada iteração, e o terceiro é o produto dos dois primeiros Portanto, definimos 24 loops, os primeiros quatro loops, para I no intervalo 126, estou criando uma pequena tabela até cinco multiplicado Se quiser, você pode aumentar, mas a lógica permanece a mesma. Em segundo lugar, semelhante para loop para J na faixa 126. Há dois valores I e J. Imprimir no formato de tabelas. I e símbolo de multiplicação, eu uso X, e o valor em J é igual ao produto de I e J. No formato, mencione I, J e o valor que obtemos quando I é multiplicado por J. Depois de um conjunto de iterações J, vamos ter uma linha em branco para É isso mesmo. Terminamos de codificar as tabelas Execute esse código. Sua mesa está pronta para servir. Interessante. Talvez você tenha entendido a importância do nested for loop Isso facilita muito seus códigos complicados. Digamos que nos encontramos em breve. Se você achar o loop fácil e interessante , também se sentirá mais fácil com o loop Y. 26. While Loop: No for loop, o número de iterações é conhecido com base no intervalo ou nos elementos da sequência Conheci um novo amigo também. I loop é como dançar em uma festa sem restrição de tempo Você continuará dançando até se sentir cansado ou os convidados da festa começarem a sair. No yoop, a iteração é baseada em alguma condição. Aqui está um exemplo de programação. Vamos começar a i party. Agora, a primeira música está sendo tocada para você dançar. Vou atribuir o valor um a uma variável X. Digamos que você ficará exausto depois dançar seis músicas, esse é o seu limite Quero definir o valor de X. O número de músicas tocadas é menor que seis Escreva isso na linguagem do Python, pois embora X seja menor que seis, farei uma operação aqui, digamos que seu cansaço seja igualado a cada música Eleve ao quadrado o valor de X, como fizemos em Flo. Deixe-me explicar o que o programa fará agora. Python sabe que o valor de X é um. O loop Y verificará se o valor de X é menor que seis. A menos que o computador tenha alguma dificuldade de aprendizagem, o valor de X que é um é menor que seis. Como essa condição é verdadeira, o loop é inserido na primeira iteração. De acordo com as instruções no corpo, programe imprimir o quadrado de X que é quadrado de um. Isso encerra a primeira iteração do loop. Agora, o programa volta à condição do loop Y e verifica se a condição é verdadeira novamente. O valor de X permanece um, pois os organizadores da festa não virão e atualizarão o número da música, que sempre permanece menor que seis Você observou algo importante aqui? Essa condição é verdadeira para sempre, a menos que o valor de X seja alterado. Como essa condição nunca mudou por si só, o programa continua executando um número infinito de vezes, desperdiçando recursos e, finalmente, travando seu computador Essa é a razão pela qual o loop y é um pouco perigoso, pois o número de iterações não está definido Como um valor pode mudar por si mesmo? Não, isso não mudará sozinho. Eles sempre precisam de uma declaração dentro do loop Y para alterar a condição que o loop y verifica. Aqui, adicionaremos um valor a X em cada iteração. Ou seja, X é igual a X mais um. Na primeira iteração, X é um. No final da primeira iteração, X é incrementado em uma unidade Quando a condição do loop I é verificada para a segunda iteração, o valor de X é dois No final de cada iteração, o valor de X é aumentado em uma unidade Agora, há uma situação em que X é igual a seis, que viola a condição e o loop distante para de iterar Agora execute o programa. Perfeito. O loop infinito é a principal preocupação do loop Y. Agora veja esse programa sem sentido. Essa condição tem a declaração para alterar os valores, ou seja, X é aumentado em um valor. Ainda assim, X sempre estará acima de zero. Aqui também o programa sempre permanece verdadeiro e, portanto, causa um loop infinito. Apenas certifique-se de que, durante o programa, ilop não termine com o loop infinito Caso contrário, você precisa continuar dançando dia e noite sem parar. Agora vamos ver como devemos lidar com a string. Como primeira etapa, definirei a string Python como uma string variável Deixe-me explicar o caso de uso. O que estou fazendo aqui é imprimir cada caractere separadamente, como fizemos no for loop. Vamos definir o índice, que é inicialmente definido como zero. Como o índice não pode ser maior que o comprimento da string, definirei enquanto índice é menor que o comprimento da string. Agora, imprima a carta e inclua o índice no formato de índice mais um. Como não contamos o personagem do zero, como o Python. Além disso, imprima o caractere da string nesse índice. Agora, parte importante, dê incremento ao índice antes que ele volte ao loop Se você não sabe, índice mais é igual a um é o mesmo que índice é igual a índice mais um. O programa está pronto para ser executado. Parece bom. Vamos ver o exemplo de como lidar com a lista. Aqui está uma lista de números e, no exemplo atual, desenvolveremos o programa para calcular a média da lista Defina o índice da variável e atribua o valor zero a ele e crie outra variável, digamos total, que também é atribuída com o valor zero. Para adicionar e armazenar qualquer ingrediente na caixa, a caixa deve estar vazia primeiro. Portanto, o índice e o total são atribuídos com o valor zero para torná-los vazios. Oh, por que ninguém me contou ainda. Não posso usar a lista de nomes para a variável, pois list é uma palavra-chave predefinida em Python Se eu precisar usar a lista de nomes como nome de uma lista , preciso escrevê-la incorretamente Agora não tenho o incômodo de encontrar a nova variável. Agora vem a condição de Wiloop. Embora o índice seja menor que o tamanho da lista, essa declaração garante que todos os elementos da lista tenham passado por nossa verificação de segurança do Wile loop Escreva o código para o corpo do loop, encontre a soma de todos os elementos da lista. O total é igual ao valor do total na iteração anterior mais o elemento no índice Agora, uma parte importante que devemos lembrar para o exemplo do loop Y incrementar o valor do índice em um Na primeira iteração, o total é zero, que o primeiro elemento seja adicionado a ele Em cada iteração, o total adiciona o valor único do elemento a ela Depois de concluir toda a iteração, o total é adicionado a todo o elemento, o que o torna a soma de todos os elementos, como o próprio nome sugere Agora vem o clímax, calculando a média usando o total A média é igual ao total dividido pelo tamanho da lista. O programa está definido, você pode executar. Espero que agora você tenha entendido a diferença e aplicação do While and for loop. No loop for, você viu a aplicação das funções de interrupção e continuidade. Enquanto loop, entertain, break and continue funciona exatamente como para loop Eu sei que apenas mencionar não vai te ajudar. Para entender os conceitos, você precisa de exemplos. Aqui está um exemplo da função de interrupção. Como o funcionamento é o mesmo que usamos anteriormente, não o repito como o disco quebrado. I mais igual a um é o mesmo que I é igual a I mais um. Da mesma forma, tente com a função continuada e obtenha a resposta. Se for o mesmo que você adivinhou, presumo que seu conceito seja claro Isso é interessante. Os loops são parte importante da programação Portanto, pratique mais para se tornar confiante na programação. Por enquanto, descanse e vamos nos encontrar no próximo módulo. 27. Lista: Espero que você esteja gostando da jornada de aprendizado até agora. A maioria dos conceitos que você aprendeu até agora são muito fáceis e semelhantes aos que você aprendeu em suas escolas que trazem lembranças dos primeiros dias escolares. Vamos agora examinar outro conceito de escola primária. Quando eu disse conceito de escola primária, tenho certeza de que você está cheio de entusiasmo e empolgação junto com suas memórias antigas Quando éramos crianças, tínhamos esse tipo de pergunta nos exames. Liste A cinco frutas, liste quaisquer quatro mamíferos, quotiens simples para os quais costumávamos escrever alguns exemplos de membros pertencentes Agora aprenderemos os mesmos conceitos em termos de programação. Lista, como o próprio nome sugere, é um grupo ou conjunto de dados atribuídos a uma única variável. Os elementos da lista estão incluídos dentro do colchete e separados por vírgula Aqui estão alguns exemplos de como definir a lista. A lista não é estranha para nós. Já conhecemos a lista anterior em vários modelos, mas não conseguimos obter a introdução completa da lista. É hora de conhecer a lista. A primeira lista frutas, como o próprio nome diz, tudo é a lista de frutas em que os elementos são do tipo de dados string. O número primário é uma lista com elementos pertencentes a tipos de dados inteiros O núcleo da turma é uma lista de notas obtidas pelos alunos da turma, que é flutuante Não me pergunte se a turma tem força de apenas quatro. Isso é para entender. Se você tiver tempo e paciência, preencha a pontuação de toda a turma. O que podemos observar aqui neste exemplo é usuário tem toda a liberdade de usar elementos de qualquer tipo de dados na lista. Pode haver sequência de caracteres, números até mesmo uma mistura de diferentes tipos de dados, e também pode haver uma lista Essa lista de listas é chamada de lista aninhada. Você fez anotações sobre as operações realizadas na corda? Se sim, seu esforço diminuiu muito. Examine-os uma vez e relembre. A maioria das operações que realizamos em strings também são gratuitas com a lista. Mas por que as operações de string têm pouco em comum com a lista? Porque eles são parentes próximos. Lembre-se de uma relação comum entre a string e a lista. String é a coleção ou sequência de caracteres e lista é a coleção ou sequência de elementos. Essa semelhança torna as poucas operações comuns entre string e lista Quais são as operações comuns para lista e string? É o momento certo para explorar alguns deles. O primeiro exemplo é o comprimento. No comprimento da string, a função LEN retorna o número de caracteres na string. A mesma função alienígena é usada na lista, que retorna o número de elementos na lista. próxima operação que vem gratuitamente para a lista junto com a string é adicionar duas ou mais strings, que se concatenam, o que significa juntá-las Da mesma forma, adicionar duas listas unirá os elementos de ponta a ponta. As outras operações comuns entre string e lista são indexação e fatiamento Na lista, o conceito de indexação e fatiamento será mesmo e, portanto, não vou perder seu tempo repetindo Mas veja esses exemplos. Você entenderá melhor como usá-los na lista. É fácil cortar uma lista quando você entende a sequência, mas a lista vem com um Você se lembra da lista aninhada? Acabamos de dizer que o excesso de dados pode parecer um pouco confuso para a lista aninhada, mas não é Excesse o elemento usando dois índices. Por exemplo, liste zero, um, que estão incluídos em dois colchetes separados Vamos entender isso com a divisão. Primeiro, selecionamos o elemento zero ou qual é o primeiro elemento na linguagem humana, que é, novamente, a lista Para explorar mais, forneço o índice da lista aninhada em colchetes separados Então eu estou acessando o elemento na posição, tendo o índice um. Não é simples? É simples e direto Ok, vimos a semelhança da lista com a string. Eles são parentes, mas não gêmeos idênticos. Há uma grande diferença entre as operações na string e na lista. Essa diferença é que a lista é mutável em uma string. Eu sei que essa palavra não parece legal, mas seu significado é muito simples. A lista é muito flexível. Significa apenas que você pode adicionar, modificar e remover o elemento na lista em que os caracteres da string não podem ser modificados. Só podemos atribuir uma nova string à mesma variável. Vamos explorar as vantagens da mutação disponíveis na lista Pegue a lista de frutas. Um sujeito preguiçoso adicionou apenas alguns nomes à lista. Agora, o mesmo sujeito preguiçoso adicionará mais alguns elementos. Eu uso a função de acréscimo. função anexar é a segurança na entrada que permite que a pessoa autorizada entre na lista Anexar adicionará o novo membro no final. Eu percorri a linha duas vezes por engano. Portanto, a manga também é adicionada duas vezes. Os erros nos ensinam muitas coisas. Mesmo com o erro, podemos observar e entender uma coisa aqui. A lista pode acomodar duplicatas. Uma caneta tem um mau hábito, não muito ruim, mas podemos dizer limitação. Mesmo que seja o novo elemento fruta que você adicionou, manga é o seu favorito O Python dá a última prioridade ao novo elemento. Ele dá prioridade máxima aos idosos. Para adicionar o elemento a um índice específico, temos a função de inserção que recebe dois argumentos, um índice e um segundo elemento. O elemento é adicionado no índice especificado e move os outros elementos no lado direito em um índice. E se o índice especificado for maior que o índice máximo disponível? Eu sei que você recebe perguntas tão criativas. Simples, isso contribui para o final. O oposto também é verdadeiro. Quando o índice especificado é menor que o índice mínimo, ele é adicionado ao início. direito de adicionar o elemento também lhe dá o privilégio de remover o elemento usando a função de remoção Remova o elemento necessário da função como argumento. Você também pode remover elementos usando o índice do elemento. Para remover o elemento com base no índice, função pop é útil. Eu removi uma manga, removi a função, tomei o elemento como argumento e coloquei o índice take Quando o pop não tem argumentos, ele remove o último elemento. Pop faz mais um trabalho. Ao remover o elemento, ele retorna o valor. O que isso significa? Simples O elemento expulso da lista usando a função pop pode ser atribuído a uma variável Agora vamos explorar o método de ordenação na lista. Como eu disse no começo, o Python é tão amigável para iniciantes que qualquer um pode dizer o que uma Aqui estão alguns exemplos. Você pode ver duas funções usadas aqui. Um é reverso e outro é SAT. Ambas são palavras bem conhecidas em inglês, então espero que você já saiba o significado delas. Adivinhe o que eles fazem com a lista. Adivinhe corretamente. Obrigado por facilitar meu trabalho. Você pode comparar o resultado antes e depois. Isso é feito diretamente na próxima lição. 28. Compreensão de lista: Na lição anterior, vimos uma lista que é definida pelo usuário inserindo os elementos manualmente. Se a lista for grande, é muito difícil defini-la. Além disso, temos preguiça sempre encontrar uma maneira fácil de realizar a tarefa Python sabe que temos preguiça até mesmo de inserir os elementos. Portanto, o Python pode criar a lista com os elementos para nós se os elementos forem baseados em algumas regras Se você quiser criar uma lista que segue algum padrão, diga ao Python o que você deseja como elemento na lista e sua condição, o Python fará a Podemos definir a lista fornecendo instruções que o Python pode entender A declaração deve incluir o que fazer para quais valores e qual é a condição, se houver alguma. Aqui está um exemplo. Primeiro, o que fazer. A instrução diz para criar uma lista de quadrados. Agora vem a segunda parte. Ok, vamos criar a lista de quadrados, mas não podemos criá-la de zero a um milhão, certo? Então, para quais valores? Esta parte diz para I na faixa de zero a dez. Existe alguma condição junto com esta instrução? Sim, considere apenas números ímpares. I I modulo dois é igual a um. Quando dividido por I, se o lembrete for um, então é um número ímpar. Se sua instrução estiver concluída, feche o suporte. A parte condicional é opcional. Aqui está mais um exemplo. X para X na faixa de zero a 50. Se X módulo quatro for igual a zero e X módulo seis for igual a Isso significa divisível por quatro e divisível por seis. Este exemplo tem duas condições combinadas por um operador. Portanto, se ambas as condições forem satisfeitas, você obterá o valor na lista, caso contrário, será ignorado Tratamos todos da mesma forma. O próximo exemplo será para string. Carta por letras em Python. Aqui, o quatro loop, ele lê os caracteres do Python e os adiciona à Esse método é eficiente quando as instruções são simples e podem ser definidas em uma única linha, como quais são suas coberturas favoritas para a pizza Quando sua pizza deve ser personalizada de acordo com sua preferência, isso não pode ser explicado em uma única linha Precisamos criar uma lista vazia e anexar os valores à lista com base nas instruções Discutiremos esse desenvolvimento automatizado e modificação da lista existente na próxima sessão. 29. Lista automatizada: Todos nós sonhamos em ter a personagem como Ginni de Aladin em Quem poderia fazer todo o trabalho por nós. Mas depois aceitamos a realidade. Isso não é prático, mas é prático automatizar nossa tarefa de programação em Python Uma dessas coisas que o Python pode fazer por nós é criar uma lista personalizada para Vamos entender a criação automatizada da lista com base nas instruções usando um exemplo. Neste programa, criando a lista de todos os números primos até que o número fornecido diga N, é difícil defini-lo em uma única linha, como na sessão anterior. Há várias maneiras de definir o problema, para que você possa experimentar seu próprio método. Escreverei o programa em duas fases, primeiro, desenvolvendo a função para verificar os números primos e, na segunda fase, criando a lista de números primos. Vou iniciar o programa da primeira fase para verificar o número primo. nome da receita é E prime e o ingrediente é aquele que é, digamos, número. Etapa um da primeira fase. Vamos negligenciar todos os valores menores que um, zero e números negativos Se for esse o caso, a escrita cai. Agora, o teste de primalidade é verificado para todos os números acima de dois Suponho que você tenha aprendido na escola que a primalidade é testada apenas até a raiz quadrada do número raiz quadrada é arredondada para o próximo inteiro mais um porque, para loop, negligencie o último valor e considere até o último, exceto Com o valor atribuído a, eu entro no loop. Se eu dividir o número , o valor não é primo e, portanto, retornará false. Se o número superou todas as condições acima, então é um número primo e, portanto, retorna verdadeiro. Agora, a primeira fase, o desenvolvimento da função, foi concluída e estou testando a função para o número aleatório 99. Tenho a resposta óbvia. Falso. Não é nobre. Agora, na segunda fase, desenvolvendo a lista de primos, criando a função print prime, até o valor N, criar uma lista vazia para o Python preencher os elementos Os números primos na lista devem começar de dois até o valor N. O valor N também pode ser um número primo, que será negligenciado por quatro ciclos e, portanto, considerado até N mais um Na função desenvolvida anteriormente, teste se o valor da iteração é primo Se é um item nobre que estamos procurando, então não o abandone. Coloque-o em sua cesta anexando. Se não, deixe pra lá. Depois que toda a iteração for concluída, cesta é preenchida com os números primos Devolva a lista principal. A fase dois também está concluída. Agora estou pegando a entrada N do usuário até a qual o número primo será impresso. Agora execute a função. Você também pode modificar a lista usando instruções. Aqui está uma lista de IDs de e-mail pertencentes a alguns funcionários de uma organização. Precisamos atualizar os IDs de e-mail com o novo nome de domínio da organização Não me pergunte por que não estamos mexendo nos assuntos internos das organizações Você pode presumir que a organização se fundiu ou algo assim, eu lhe dei a liberdade O que devemos fazer é substituir o domínio antigo por um novo. O nome permanece o mesmo. Crie uma lista vazia para preencher o novo ID de e-mail. Eu li cada elemento na antiga lista de e-mail. Substitua o domínio antigo pelo novo e anexe o novo e-mail à lista. É isso mesmo. Seu trabalho está feito. Imprima a nova lista de e-mail. Esses são os métodos pelos quais você pode criar e modificar a lista usando as instruções. Espero que tenham gostado. Você pode economizar muito tempo e esforço ao criar a lista. Isso é algo que nós, seres preguiçosos, adoramos ter. Mas há casos de uso em que o usuário deve criar a lista, como obter a lista de entrada do usuário. Vamos discutir isso, mas faça uma pausa e participe da próxima lição. Seja rápido. Não faça uma pausa de mais de 10 minutos. Caso contrário, não vou permitir que você entre no copo, mas você pode se dedicar à próxima sessão. Nos vemos lá. 30. Lista definida pelo usuário: Agora você sabe como o programador definiu a lista e o Python criou a lista com base nas instruções Mas em alguns casos de uso, o usuário deve ter autoridade para definir a lista. É hora de ver uma sintaxe fácil , mas muito útil para codificação que é uma lista definida pelo usuário Não quero fazer um breve discurso introdutório sobre o assunto, no final do qual você concorda com o que eu disse, mas não sabe ou não aprende nada Vamos aprender isso com um exemplo que o ajudará melhor. Agora você está muito familiarizado com a instrução de entrada. Anteriormente, usamos a instrução de entrada para ler um único valor, que é atribuído a variáveis separadas. Agora é hora de ultrapassar o limite da declaração de entrada. Agora vamos atribuir uma lista de valores a uma variável. Primeiro, entenda o caso de uso. Nada complicado, uma nova versão do antigo conceito que você já aprendeu. O que o exemplo fará agora é pedir ao usuário que insira os vários valores. Em outras palavras, lista definida pelo usuário separada por espaço. A descrição do problema é encontrar o valor médio da lista definida pelo usuário. É isso mesmo. Como a lista definida pelo usuário é o destaque desta história, vamos mantê-la como clímax. Agora a história começa. Lembre-se de que, na sessão do loop Y, criamos um programa que calcula a média da lista Com base no mesmo conceito, criamos uma função para retornar a média, mas usando for loop. Encontre a média da função com uma lista chamada group como entrada. Crie um total variável e atribua zero. Em quatro ciclos, não é necessário definir o índice. Para facilitar o cálculo, encontrarei o tamanho da lista e atribuirei uma variável separada para I no grupo, que leva cada elemento do grupo da lista ao loop em cada iteração E adicione o valor do elemento ao total. Na próxima linha, mova os recuos para trás, que envia a mensagem ao Python de que essa parte precisa ser executada somente após a conclusão da iteração do loop for Depois que as iterações são concluídas, total é a soma de todos os elementos na lista Usando o total, calcule a média e retorne o valor. Agora a função está pronta. Vá para a parte principal da obtenção da lista definida pelo usuário. usuário precisa mencionar o número de casos de teste para perguntar quantas listas você inserirá. Se o caso de teste for quatro, o programa deverá solicitar que o usuário insira quatro listas. Como conseguir isso? Já conhecemos o amigo que pode nos ajudar a fazer isso em loop com o teste como alcance. Mas ei, por que você está usando o sublinhado como variável para a iteração Você tem preguiça de encontrar pelo menos uma letra para definir o identificador Isso geralmente é feito quando a variável da iteração é usada apenas para manter a contagem e não há outro significado no programa Ou seja, seu valor não é usado dentro do loop. Esse filme é muito pequeno. Chegamos ao clímax. Lista definida pelo usuário. Obtenha a lista do usuário como entrada. Está se sentindo assustador Eu posso entender, mas é muito simples. Veja como funciona por dentro. declaração de entrada, como de costume, lê a entrada do usuário. Você já sabe que a entrada lê todas as entradas como string. usuário insere a lista de números separados por espaço ou qualquer outro delimitador entrada trata os valores separados por espaço que o usuário insere como uma string. Você se lembra do velho amigo se separou das operações de string? A string de entrada é separada em valores individuais usando a divisão. função de mapeamento transforma todo o elemento em número inteiro e alimenta os valores para a função de lista Os valores inteiros separados por espaço são mapeados no formato de lista O importante é que o usuário precise inserir os valores separados por espaço. Qualquer outro delímetro como Coma deve ser usado, mencione-o de acordo com as regras de divisão que você aprendeu em string Eu dou isso como lição de casa para você. Em seguida, calcule a média dos valores inseridos usando a receita da função que já definimos. O programa está pronto para ser servido. Estou testando o código para os quatro casos de uso. Python não me deixará até eu entrar na lista de quatro. Tenha muito cuidado ao inserir os casos de teste. Se você fornecer 100 casos de teste, Deus o abençoe. O número de elementos em cada lista é a liberdade do usuário. Eu fornecerei cinco valores para cada um. Ele retornou a média e me pediu outra lista. Depois de inserir quatro listas como casos de uso, programa parou de me perguntar os valores, permitindo que eu fizesse uma pausa. Desta vez, farei uma pausa rápida e me juntarei a você na próxima lição. Na próxima sessão, veremos alguém que se parece com a lista Tapal. Conheceremos Tuple e aprenderemos suas semelhanças e diferenças com a lista na próxima sessão 31. Tuple: I Tapal é o irmão de List que é um pouco rigoroso. Tapal é uma sequência de elementos muito semelhante à sua lista de irmãos, mas Tapal Eles não podem ser modificados e suas posições são estáveis. Depois que a sacola da lista estiver pronta, qualquer pessoa poderá adicionar ou remover as coisas da sacola. Mas quando a sacola tupla é embalada, ninguém pode modificar a embalagem, ela é lacrada Mesmo o criador, quero dizer, programador que definiu a tupla não tem autoridade para modificar uma A única coisa que ele pode fazer é substituir a velha tupel por uma nova List e Tapal são semelhantes, como a tupla é diferenciada da A diferença visual entre list e Tapal é que a tupla está entre parênteses, ao contrário da list, que Mas, funcionalmente, há muito mais do que isso. Veja um exemplo. O nome de uma pessoa deve ser armazenado na forma de nome, segundo nome e sobrenome. A ordem deles deve permanecer a mesma para fazer mais sentido. Se estiver armazenado na lista, alguém que acabou de aprender o programa e está em fase de experimento pode classificar o elemento em ordem alfabética, o que pode tornar os dados inúteis Não podemos adicionar, remover ou mesmo reordenar os elementos na tupla Se a reordenação do elemento alterar o propósito da sequência, tupla é preferida Você já encontrou a tupla sem saber. No módulo de funções, desenvolvemos algumas funções que retornam várias saídas A saída da função é coleção dos elementos na forma de tuplas Por exemplo, essa área e perímetro de uma função retangular tem duas áreas de saída e Basta atribuí-los a uma variável. Você tem uma tupla de elementos. Estou fornecendo uma tupla variável dois e atribuindo à saída da função algum valor de entrada Imprima a tupla dois e você descobrirá os dados na forma de tupla Se você quiser confirmar, verifique o tipo de dados da variável. Se os elementos na tupla dizem que precisam ser reconhecidos com a ajuda da tupla e não têm nenhuma identidade individual, é possível dar nome separado para o elemento na Se você tiver um nome individual para os elementos da tupla, poderá atribuí-los se precisar reconhecê-los separadamente. O elemento tem um nome individual e eles estão felizes. Tuplas podem ser usadas junto com e dentro da lista. Aqui está a lista de tuplas com nome e idade de alguns tios e tias Eu tenho um aviso legal como o ATVSU. Não tenho ideia sobre seus familiares ou amigos que têm o mesmo nome ou idade. Esses são nomes aleatórios que eu usei. Se você encontrou alguma semelhança, é apenas coincidência. Espero que esteja claro. Você pode acessar os detalhes das tuplas usando for loop. Cada loop tem dois elementos, nome e H, portanto, usa as mesmas variáveis. Para nomear a vírgula H na lista de tios e tias, quero imprimir a declaração no formato de uma pessoa em particular fulano de idade, execute Assim como a compreensão da lista, também existe a compreensão de tuplas Método de sintaxe, tudo permanece o mesmo. Aqui estão alguns exemplos de compreensão de tuplas. Não estou explicando quais são os elementos de cada uma dessas tuplas, pois você se tornou um especialista agora Você precisa dizer ao Python que isso é uma tupla e O conteúdo interno é o mesmo da lista. Imprima as duas tuplas que você acabou de criar. Espero que agora você esteja bem claro com a diferença e a aplicação da lista e da tupla Veremos mais um dicionário de estrutura de dados na próxima sessão. 32. Dicionário: R Sabemos que a lista é a coleção de elementos não casados Quando cada um dos elementos da lista tiver um parceiro, ele se tornará a coleção de casais , chamada de dicionários Mas por que os elementos exigem um par? Por que eles não podem ser solteiros? Considere esse exemplo. Na escola em que você estuda ou na organização em que trabalha. Pode haver várias pessoas com o mesmo nome que o seu. Seu nome e sobrenome não são seus direitos autorais, certo? Considere em termos mais amplos como no estado ou no país. O nome não pode ser usado como referência para obter informações sobre qualquer pessoa no banco de dados. Então, o que poderia ser a identificação única que define somente você? As pessoas têm um código exclusivo, como número de registro, carteira de emprego ou identificação de cidadão, que diferencia a pessoa das outras. O elemento exclusivo que diferencia os dados dos outros é chamado de chave ou índice Vamos voltar ao nosso tipo de dados de mapeamento, o dicionário. O dicionário é primo da lista, como a lista em muitos aspectos, mas uma grande diferença Na lista, definimos os elementos com a ajuda de sua posição. Se você não entendeu, mapearemos o elemento com a ajuda do índice desse elemento. Mas no dicionário, o valor é definido com a ajuda da chave. Eu sei que essas palavras parecem muito terríveis, mas o que elas significam é simples. Basta considerar o dicionário que usamos para encontrar o significado de qualquer palavra. Tem uma coleção de milhares de palavras. Como você se refere a qualquer dado no dicionário, os dados do dicionário consistem em pares de palavras e seus sinônimos ou definições. Você pesquisa a palavra específica, que é a palavra-chave para obter o significado, que é o valor. Da mesma forma, o dicionário é a coleção de pares de chave e valor. Vamos pegar o mesmo exemplo anterior de número e nomes de funções. Sendo um homem preguiçoso, é difícil encontrar novos nomes, então vou buscar o nome que usei na sessão anterior Agora, tios e tias se tornaram universitários e têm o número de função Aqui, os nomes são reconhecidos com a ajuda de uma chave exclusiva, que é o número da função. As chaves não podem ter duplicatas, mas os valores podem. Definimos o valor com a ajuda da chave, ao contrário da lista em que o elemento é definido pelo índice. Você pode até usar a função get like list, os dicionários são Você pode adicionar, modificar ou excluir os elementos no dicionário. Digamos que os estudantes sejam trocados entre a universidade. Agora Smith é substituído por Mike na linha número um, não três. Atualize a função número um ou três com Mike. Agora imprima pessoas. Se você sentir preguiça de escrever uma atualização, assim como um novo valor para essa palavra-chave, seu trabalho está concluído As teclas de ponto do nome do dicionário, bem como os valores dos pontos , como seus nomes sugerem, retornam somente as chaves e valores desse dicionário. Para o dicionário, pessoas, teclas de pontos retornam todas as chaves do dicionário e, da mesma forma, os valores de pontos de pessoas retornam todos os nomes das pessoas. O dicionário está aberto para todos. Adicionar um novo membro ao dicionário é mais fácil do que adicionar geleia ou pão. Atribua o novo valor à nova chave e pronto. Sendo irmão da lista, mutação do dicionário é mais ou semelhante à da lista Como a lista, você pode remover ou estourar os elementos. Considere mais um exemplo diferente de uso do dicionário. Aqui estou definindo as propriedades do carro. Dessa forma, o dicionário pode ser usado para armazenar as informações, acessar os dados e adicionar mais informações. O gênio Iu pode ter observado uma coisa no dicionário. Sintaxe para atribuir os valores à chave ou para aprender um, ganhe gratuitamente mesmo método é usado para adicionar novo membro à nova chave e também atualizar ou substituir os valores antigos por um novo na chave existente. A sintaxe permanece a mesma. Basta incluir a chave entre colchetes e atribuir o elemento. É isso mesmo. O mesmo método também pode ser usado para alterar os elementos, assim como um novo valor para a chave existente. Ele substituirá o elemento antigo por um novo. A maioria das operações de lista é válida para o dicionário, como adicionar dois dicionários e pop. Mas em vez de indexar, você esquia. Essa é a única coisa que você precisa lembrar ao lidar com os dicionários Eu não quero fazer você dormir. Tente praticar bem os conceitos do dicionário e nos encontraremos no próximo módulo. 33. Introdução às bibliotecas: O que é uma biblioteca? Isso não é aula de inglês. Não temos nada a ver com sua definição, então não nos preocupemos com isso. O que vem à nossa mente quando dizemos biblioteca? De acordo com nosso entendimento, biblioteca é a coleção de recursos úteis, como livros ou artigos, armazenados em um único local para que possamos acessar qualquer recurso quando necessário. Da mesma forma, na programação, usamos o tesouro cheio de recursos pré-codificados para facilitar nossa tarefa de programação, que é chamada de bibliotecas É como quando é difícil preparar pizza, peça pizza simples ao vendedor mais próximo e personalize conforme sua necessidade. Como discutimos no início, uma das razões por trás da popularidade do Python é o número de bibliotecas que ele oferece Podemos contar os músculos ou nervos do nosso corpo, mas não temos a contagem de bibliotecas em Python pois elas aumentam dia a dia. Mas espere. Agora você se tornou especialista em programação. Então, por que você precisa de bibliotecas? É muito importante aprender as bibliotecas porque não usamos os programas apenas para computar cálculos básicos, mas para resolver tarefas complexas, como desenvolver software ou programar problemas difíceis de ciência e engenharia, por exemplo, aprendizado de máquina. Problemas técnicos como esses são difíceis de programar, se não impossíveis. É necessário escrever programa pesado mesmo para pequenos detalhes do problema, mas somos a única pessoa que trabalha nessa categoria de problema? Definitivamente não. Não somos a primeira pessoa e nem mesmo a última. declaração do problema pode ser diferente, mas algoritmos semelhantes foram usados por muitas pessoas. Portanto, os algoritmos comumente usados foram pré-codificados e armazenados na forma de biblioteca Podemos usar os recursos da biblioteca para concluir nossa tarefa. Neste módulo, falamos sobre os heróis anônimos da programação, as bibliotecas, como a equipe de bastidores, que podem não estar visíveis para o público, mas sem o esforço deles, mas sem o esforço deles resultado final pode não permanecer Eu já preparei muito para as bibliotecas. Agora vamos apresentar alguns deles. Aqui está uma lista de bibliotecas Python populares. Você pode fazer uma pausa e olhar , pois eu não posso ficar aqui. Como não podemos discutir todas essas bibliotecas aqui, vamos explorar duas bibliotecas Python populares e comumente usadas Biblioteca de matemática e numpi como exemplo. Você está animado? Me dê positivo e participe da próxima sessão 34. Biblioteca de matemática: Nesta sessão, exploramos a biblioteca matemática. O nome dessa biblioteca reduziu meu esforço de definir a biblioteca. Ele faz o que diz. Em termos mais simples, é a biblioteca matemática. Para usar a biblioteca no sistema dos EUA, é necessário instalá-las. Para instalar qualquer biblioteca, digite PIP, nome da biblioteca pip install, aqui eu mencionei matemática no console Aguarde até que os pacotes sejam instalados. A instalação está concluída. A biblioteca está pronta para atender às suas necessidades de programação. Vamos começar com o uso simples da biblioteca matemática, pois você é iniciante e não posso fazer com que aprenda a dirigir o caminhão diretamente Vamos começar com uma bicicleta usando as constantes matemáticas. A bicicleta tem duas rodas de formato circular. Vamos voltar ao problema de calcular a área do círculo Para calcular a área, usamos 3,14 como o valor de Alguém aqui, genial o suficiente para definir o valor de Pi com precisão Mesmo que você saiba o valor mais preciso, você tem muito tempo para escrever os valores decimais? Eu acho que não. Por que nos preocupamos isso quando a biblioteca matemática pode nos ajudar? A biblioteca matemática define o valor de Pi com a melhor precisão possível. Primeiro passo, precisamos ligar para a Biblioteca de Matemática para obter ajuda. Senhoras e senhores, por favor, as boas-vindas à biblioteca de matemática para trabalhar Não, a biblioteca matemática não aparecerá se ligarmos assim. Essa não é a maneira de chamar a biblioteca para colocar a biblioteca matemática em ação, escrever e importar matemática. Isso fará com que a matemática funcione. Agora, a biblioteca matemática está pronta para nos ajudar. Agora eu substituo o valor de Pi por matemática, o nome da biblioteca, que alerta a matemática de que precisamos de ajuda. Em seguida, pontue Pi, que informa matemática de que precisamos do valor de Pi aqui. Podemos ver que o valor de Pi é definido pela matemática. Isso funcionará bem, mas chamar a biblioteca inteira apenas para uma ou duas funções é como chamar todo o exército para lutar com uma pessoa. Nesse caso, chame a matemática para nos dar acesso apenas ao Pi. Da matemática, importe o Pi. Se você precisar de mais de uma, mas ainda de poucas funções, importe-as usando vírgula, como neste exemplo Lembre-se, não considere o argumento em brilho, não em grau. Portanto, se você tiver um ângulo em grau para os problemas tecnométricos, converta-os primeiro em radiância antes de inseri-los nos cálculos Se você tiver mais funções , é melhor chamar toda a biblioteca matemática. Você está enfrentando dificuldades para convertê-los de grau em brilho Por que você se preocupa com a conversão quando temos a biblioteca matemática? Você pode converter o ângulo em graus em radiância usando a função matemática dot radiance Para recuperar o ângulo do brilho para o grau, temos a função math dot degrees. Junto com Pi, a matemática define algumas outras constantes matemáticas, como E e tau A matemática trará a matemática para sua programação. Agora vamos passar para a trignometria. Eu sei que alguns de vocês podem ter começado a sentir sono ao ouvir o nome, mas não se preocupem Não sou seu professor de matemática. Suponho que você tenha estudado matemática menos prontamente e conheça bem o seno, cosseno e a tangente Acabamos de ver como usá-los na biblioteca de matemática. Primeiro, função senoidal. Eu não meço o pecado, mas meço o seno do ângulo ângulo que assumimos é Pi dividido por 4 radianos, que é 45 graus Da mesma forma, a função math dot cos, meça o cosseno e o ponto matemático dez retorna a tangente do Tudo aqui é facilmente compreensível. Basta adicionar A na frente deles. Quer dizer, A seno A causa e um dez, eles são convertidos em uma causa senoidal inversa causa Adicione H no final deles, seno h, cse H e tan H, eles se tornam Biblioteca matemática tão fácil de usar, certo? Agora, as funções exponenciais e logarítmicas entram na festa EXP, que significa exponencial de X é constante E sobe até a potência de X. No exemplo atual, E é a elevação até a potência de seis, que é aproximadamente quatro, que é aproximadamente quatro A próxima função é log. log precisa de duas ajudas na forma de argumentos, valor e base. Primeiro exemplo, logaritmo de 81 base três. Isso dá um enigma à matemática, três elevado ao que é igual a 81 De acordo com a matemática do Python, são quatro. Se você tiver alguma objeção, resolva-a com Python Pow é poder com dois argumentos. O poder dá o poder de aumentar o valor exponencialmente. potência de X vírgula Y indica que X aumente até a potência de Y. Neste exemplo, seis é aumentá-la até a potência de SQRT significa raiz quadrada, raiz quadrada de 625 e 156,25 Agora vamos ver algumas operações numéricas da matemática. Aqui você vê a permutação e combinação de N e K na forma de N permutação K e combinação N K, onde K é menor ou igual a N. Caso contrário, você N. Caso contrário, Veja outra função matemática popular, GCD, que não é a irmã do LCD Isso significa o maior divisor comum de dois números inteiros. A sala em que você está sentado agora tem teto e piso. teto é a superfície superior mais próxima da sala e o piso é a superfície inferior da sala. Não sou designer de interiores do seu quarto. Estou falando sobre eles porque a matemática oferece SL e um piso para os valores numéricos ponto matemático C é o número inteiro mais próximo do argumento X, e floor é o número inteiro menor mais próximo do argumento X. Existem outras funções como Fabs, em que F mantém o valor flutuante e ABS é o apelido de absoluto, a absoluto Há mais coisas que a matemática pode fazer, mas não quero transformar sua cabeça em uma sala de confusão. Essas funções são as mais usadas e, se você quiser saber mais, pergunte ao professor a qualquer momento, em qualquer lugar, no Google ou consulte a documentação matemática Ele oferece informações detalhadas sobre a biblioteca matemática ou qualquer biblioteca relacionada ao assunto. Pesquise documentação matemática no Google. Você vai encontrá-lo. Agora vamos explorar mais uma biblioteca popular, NumPi, mas depois de uma pequena pausa 35. Biblioteca Numpy: Ok, pessoal, por favor, se reúnam. Agora vamos aprender sobre mais uma biblioteca Python, Num Pi, que é um apelido para Python numérico Prepare-se para a aventura com Numbi. Mas quem é esse Numbi? Precisamos apresentar nosso principal convidado. O NumPi lida com matriz multidimensional e estrutura de dados matriciais Quando você pensa em problemas científicos e de engenharia, pense em Numpi O Numpi permite muitas operações. É rápido e eficiente. Numpi seria algo que você não pode perder se for um entusiasta da ciência de dados ou do aprendizado de máquina Para instalar o Numpi normalmente, a mesma instrução PIP install Numpi ou Conda install NumPi se você estiver usando o anaconda Eu já instalei o Numpi. Portanto, em palavras doces, está contando o que aconteceu com você O pacote já está instalado. Depois de instalar, chame-o para trabalhar usando a instrução import Numpi e peça sua parte consigo mesmo. Use para sublinhar nos dois lados da versão. Já na biblioteca matemática, você deve ter observado que quando trabalhamos com a biblioteca, precisamos chamar seu nome com frequência para usar suas funções. É difícil chamá-lo repetidamente com o nome completo, pois nós humanos somos muito preguiçosos NumPi já é a forma abreviada do Python numérico e mantemos o nome abreviado para um nome curto numpi, digamos NP, que é um apelido que é Ok, caras preguiçosos. Agora vamos criar uma matriz. Eu ligo para o NP pedindo ajuda e digo que preciso criar uma matriz e inserir os elementos Criar uma matriz com o NumPi é muito simples. Até mesmo a lista pode ser convertida em matriz. Aqui, a lista é definida e os mesmos elementos são fornecidos à matriz. Por que fazemos isso quando podemos mantê-lo no formato de lista? Porque a matriz NumPi é muito forte e poderosa do que a lista Ele pode lidar com trabalhos pesados e acomodar operações matriciais complexas que a lista nem imagina e criar R se você pedir à lista que faça isso. tipo Rnm dot D retornará os tipos de dados dos elementos na matriz Se você precisar alterar o tipo de dados dos elementos, adicione a declaração do tipo T e defina o tipo de dados necessário enquanto define a matriz nesse define O número 64 indica o número de bits por elemento. Isso é comumente usado em C ou Fotron. Na maioria dos casos, use end 32 e float 64 para obter boa precisão e velocidade Digamos que o numpi é multidimensional. Se você disse não, então você deve estar com sono. Por favor, acorde. Aqui está um exemplo de matriz bidimensional. Matriz bidimensional é uma matriz que usamos em matemática. A forma da matriz retornará o tamanho da matriz. Isso significa duas linhas e quatro colunas. Nenhum zero criará a matriz de zeros. Zeros com apenas um argumento formam uma matriz unidimensional. Neste caso de cinco zeros. Da mesma forma, a matriz zero bidimensional com linhas e colunas também pode ser definida. Um passo à frente disso está o exemplo da matriz tridimensional. Aqui está o que parece. Como nós, o NumPi não pode ir além da terceira dimensão. De forma semelhante, podemos criar a matriz de unidades, que é preenchida com o valor um, e I para matriz de identidade. Mas a matriz de identidade usa um argumento porque é simétrica e deve ter o mesmo número de linhas e colunas Em outras palavras, a matriz de identidade é uma matriz quadrada. Suponho que você tenha frequentado prontamente a aula de matemática no ensino médio e aprendido bem a operação matricial, pois não posso lhe ensinar matemática agora Acabamos de ver como realizar as operações no Numbi. ponto T da matriz é a transposição da matriz que faz mágica e converte as linhas em colunas e as colunas em linhas Vou criar mais uma matriz para as operações, a matriz sete, que também é uma matriz de dois cruzados com quatro. Agora estou adicionando a matriz cinco e a matriz sete. Adicionar duas ou mais matrizes é tão fácil quanto adicionar números. única condição para a adição e subtração de duas matrizes é que o tamanho da matriz seja o Caso contrário, você não receberá a saída, mas sim um erro. Multiplicar a matriz por uma constante multiplicará o valor de cada elemento da Em Num Pi, encontrar os exponenciais inversos e a raiz da matriz é muito semelhante a como fazemos isso com um valor constante Agora, veja a operação que quebrou sua cabeça durante a multiplicação de matrizes de sua escola Muito simples, mas o número de colunas na primeira matriz deve ser igual ao número de linhas na segunda matriz. Não é a regra de num Pi, mas a regra da matemática. Sua dor de cabeça é resolvida em questão de segundos. Agora, crie a matriz com base na organização dos valores. A função arranjo é a irmã do intervalo que usamos em quatro loops Funciona da mesma forma que intervalo, primeiro valor, último valor e tamanho da etapa. Mas o que ele faz é criar uma matriz unidimensional. Se você quiser converter qualquer matriz unidimensional em matriz bidimensional, use o método reshape A remodelação quebrará a longa cadeia e fornecerá uma nova forma à matriz Agora vamos conhecer nosso velho amigo Slicing. Cortar uma matriz d é exatamente o mesmo que dividimos na lista Aqui, vamos dar um passo à frente. corte bidimensional parece complicado, mas não é É tão fácil quanto cortar unidimensionalmente. Aqui, tratamos o número da linha e o número da coluna como índice, mas iniciamos a contagem do zero. corte bidimensional retornará a submatriz da matriz Aqui está o exemplo de como os dois cortes em D funcionam. Considere apenas a primeira linha. Você sabe bem que zero e dois pontos são zero e um, um passo a menos que dois Eu selecionei de zero a duas primeiras linhas. Agora considere a coluna. De acordo com o índice de uma coluna quatro, selecione as colunas um, dois e três. Agora, a matriz coincidente é o resultado necessário. É realmente difícil? Acho que não. Quando precisamos praticar o conceito de programação, mas não temos os dados reais, o que devemos fazer? O que há para fazer? Crie dummidados aleatórios com os quais trabalhar. E se eu te disser que Numpi pode fazer até isso por você? Você pode criar a matriz aleatória definindo o tamanho da matriz e o intervalo de valores necessários. Vou criar a lista aleatória de números inteiros usando o ponto aleatório Randent Random é a função em Numpi e randint é uma subfunção em random, que Você está bem com qualquer coisa do zero ao infinito? Não, então forneça o intervalo de entrada, números S dentro de 50. Seguido pelo tamanho da matriz, preciso de cinco matrizes cruzadas com cinco. Vou criar uma matriz de frações de três por cinco usando uma faixa de pontos aleatória com o tamanho da Ótimo. Agora eu digo estritamente o Python, escolha os valores somente entre a lista fornecida, que tem cinco elementos Obviamente, o nome do método é uma escolha. O resto do processo permanece o mesmo, dê o tamanho da matriz, por exemplo, três cruzados com três. Agora vamos extrair o valor da matriz com base em algumas condições. Primeiro, criarei a matriz aleatória de números inteiros dentro dez e tamanho 12 e os atribuirei a uma variável chamada data Agora, extraia os valores com base em algumas condições, como elementos maiores que três nos dados. Extraia os números que são divisíveis por dois ou simplesmente números pares Ótimo. Agora vamos explorar mais um método, matriz vazia, mas parece a matriz zero. Qual a diferença? A diferença é que os elementos aqui não são inicializados e não podem ser usados para nenhuma operação, mas você pode adicionar os elementos usando outros métodos, como usar quatro loops Aproveite as bibliotecas. Math e Numbi são bibliotecas de Python usadas popularmente, isso as selecionamos Mas o Python suporta milhares de bibliotecas que atendem a diferentes propósitos, problemas e campos Vamos terminar o módulo agora. Você pode aprender as outras bibliotecas de acordo com sua necessidade. Nos encontraremos no próximo módulo. 36. Pandas: Oi, aí. Antes de explorar algoritmos de aprendizado de máquina e projetos de ciência de dados, é importante aprender algumas bibliotecas que são muito necessárias para programação. Como parte disso, aprenderemos sobre os pandas hoje. Sim, eu sei o que você está pensando. Pandas. Estamos aqui para assistir vídeos fofos do Panda Eu gostaria, mas hoje estamos falando sobre a biblioteca Pandas em Python e , acredite, ela é igualmente adorável , mas de uma forma Para quem lida com os dados, biblioteca do Pandas é tão adorável quanto o animal Vamos começar o Pandas com uma pequena história. Imagine que você está em um enorme supermercado sem fim chamado Data Mart. Ao seu redor, há linhas e fileiras de dados. Você testemunha grandes quantidades de dados em todos os lugares ao seu redor, a maioria desorganizados Você está aí sem noção, segurando uma pequena cesta de compras, se perguntando, como diabos eu encontro o que preciso nessa bagunça Bem, meus amigos, é aí que entra nosso super-herói em Pandas Ele ajudou você a encontrar o que você precisa entre as infinitas linhas de dados. Portanto, o Pandas é uma ferramenta poderosa de análise e manipulação de dados Para Python, isso ajudará você a encontrar, limpar, organizar e manipular os dados como um P. Você poderia dizer que o Pandas é como aquele amigo que limpa seu quarto e depois ajuda você a encontrar suas coisas perdidas se seus itens perdidos fossem na verdade um dado coisas perdidas se seus itens perdidos fossem Ok, esqueça isso. Aqui está o verdadeiro negócio. Pandas oferece duas ferramentas mágicas, série e quadro de dados Pense nas séries como uma única coluna, como uma lista de compras, e o quadro de dados é o carrinho de compras inteiro, uma tabela que pode conter várias colunas de Então, basicamente, uma série é uma coluna e um quadro de dados é uma coleção dessas colunas. Quer dividir seus dados como um chef. O Pandas tem tudo o que você precisa. Preciso encontrar todas as pessoas chamadas John que compraram bananas na terça-feira. Os pandas podem fazer isso e não perguntarão por que você precisa saber Imagine perguntar ao seu amigo: Ei, você consegue encontrar todas as pessoas chamadas John que compraram bananas na terça-feira? Eles provavelmente olhariam você como se você tivesse enlouquecido. Mas o Pandas Pandas fará isso sem julgamento porque é uma biblioteca e as bibliotecas são legais assim Agora vamos criar uma série e um quadro de dados porque falar de teoria é como assistir um programa de culinária e nunca provar a comida Não estou aqui para esse tipo de tortura. Veja como fazemos isso em Python. As pessoas primeiro importam pandas, importam pandas como PD Pandas, é claro, é muito legal para usar seu nome completo. Então, chamamos isso de PD como se fôssemos melhores amigos. Deixe-me criar uma série de frutas em uma loja. O número de frutas é igual ao ponto PD. Estamos chamando nossos melhores pandas per D e pedimos uma série 152230 são várias frutas diferentes. Imprima o número de frutas. Definimos uma série. Você pode observar que mais uma coluna apareceu com 01 e duas. Esse é o índice, referência exclusiva para cada um dos valores em uma série ou no quadro de dados, assim como tínhamos o índice na string ou na lista. O índice em uma série Panda é como um crachá. Diz a cada valor quem é. Você pode até mesmo renomeá-los. Vamos fazer mudanças enquanto nos definimos. Um índice é igual à lista de maçã, banana e cereja. Imprimindo novamente. Agora, nossa série se tornou algo significativo. Para se divertir mais, vou renomear o índice existente com uma nova lista de índices usando o número de frutas. O índice de pontos do nome da nossa série é uma lista de imagens de frutas Se você estiver usando o Windows, use a tecla Windows mais ponto e vírgula e, no Mac, use Controle mais Comando espaço para abrir o seletor de imagens Vou adicionar imagens de frutas diferentes. Imprima a série novamente. Agora sua série é frutada e divertida. Agora vamos criar um quadro de dados. O nome do quadro de dados é DF, nomeie o que quiser. Dataframe deve ter várias colunas e cada coluna deve ter um nome de coluna Nosso quadro de dados tem três colunas, nome, idade e comida favorita. Cada coluna tem quatro linhas de dados. Os nomes que temos são John, Jane, Jake e Jill Todos têm nomes que começam com J. Que coincidência. Os dados que temos em idade e comida favorita são a idade dessas pessoas e a comida de que elas gostam , respectivamente, na ordem. Vamos imprimir esse quadro de dados para que você tenha uma ideia melhor. Nós temos um quadro de dados. John tem 28 anos e gosta de pizza e assim por diante. As informações são impressas na forma tabular. Ok, agora que criamos esse saboroso quadro de dados, vamos aprender como dividi-lo e cortá-lo em cubos como um Mas não chorar é como dividir aqui, só alegria em dividir dados Quer pegar uma coluna específica, es DF com apenas um nome, e obtemos uma série de nomes, assim como você teve que destacar um papel em uma sala de aula No mundo real, os dados não são tão pequenos e organizados quanto quatro linhas de informações digitadas à mão É uma selva selvagem de milhares e às vezes milhões de fileiras Imagine sentar para digitar manualmente todas as transações de vendas, todos os detalhes do cliente e cada atualização de inventário Seu teclado provavelmente arrumaria tudo e viveria para sempre. Felizmente, as empresas são mais inteligentes do que isso. Eles mantêm todos esses dados em planilhas, arquivos Excel ou CSVs úteis arquivos Excel É como ter um tesouro cheio de informações, bem organizado e pronto para uso Em vez de perder tempo criando manualmente os quadros de dados, apenas importamos o arquivo no Pandas e pronto, seu quadro de dados fica pronto em segundos Deixe as planilhas fazerem o trabalho pesado enquanto você se concentra em se aprofundar Então, agora lemos o arquivo CSV com o Pandas. Estou usando dados salariais de funcionários. É um dado Dummi com 50 pontos de dados. Importe os dados usando pd dot, leia CSV e, em seguida, o caminho para o arquivo Você precisa especificar o local e diretório em que os dados são armazenados. Eu armazenei os dados na página inicial de Júpiter e, portanto, os importei Assim, temos um quadro de dados sem o incômodo de definir todas essas cargas de dados, e agora você está pronto para dividir seus dados da maneira que quiser Se você quiser examinar primeiro algumas linhas do quadro de dados, verifique dfdt head Você obtém as primeiras cinco linhas dos dados e, se quiser ver mais de cinco pontos de dados, basta mencioná-los. Python é muito amigável. Ele retorna tudo o que você pede. Agora, alguns de vocês podem estar se perguntando por que eu deveria usar o Pandas quando tenho meu confiável Excel para fazer todos esses trabalhos? Os pandas podem lidar com dados tão grandes que tornam o Excel úmido. É rápido, flexível e pode mesclar, filtrar e agrupar seus dados como se fosse uma mágica O Excel é como uma bicicleta com rodinhas, enquanto o Pandas é um foguete que pode levar você à lua dos dados Não, não estou exagerando muito. A seguir, vamos falar sobre o índice definido. Tínhamos os dados dos funcionários. Eles têm referência exclusiva, ID do funcionário. Em vez de serem reconhecidos por um índice como 012, eles merecem ser reconhecidos pela identidade de funcionário porque ela é única No momento, nossas linhas de quadro de dados são indexadas por esses números padrão enfadonhos, mas podemos mudar Vamos torná-lo mais pessoal usando o índice definido para definir um índice mais significativo, como a ID do funcionário. DF é igual ao ID do funcionário do índice df dot set index. Chega de números genéricos. Agora você pode consultar os dados diretamente pelo ID da pessoa. Agora temos um quadro de dados. Precisamos extrair as informações dos quadros de dados. Temos dois ninjas de dados para fazer isso. Lock e iloc. Estas são suas armas preferidas para pegar linhas e colunas específicas Mas deixe-me dizer, eles têm personalidades muito diferentes O iLOC é baseado em índices e o bloqueio é baseado em rótulos. Iloc é que eu não me importo com nomes. Só me dê os números, cara, e essa é a diferença entre lock e iloc Rótulos versus posições. Ambos ninjas, ambos incríveis. Vou te contar uma curiosidade. Até mesmo profissionais de dados experientes às vezes ficam confusos sobre qual deles usar. Isso é muito normal. Vamos ver algumas operações, então você entenderá melhor. Começando com o iloc, o ILC não se importa com nomes. Não, esse cara só gosta de posições. Você pede informações em qualquer linha ou coluna, e ele faz isso sem fazer perguntas. O IoC lê a linha primeiro seguida pela coluna. Agora, digamos que você esteja interessado em uma única linha, como se estivesse fofocando sobre apenas uma pessoa no grupo Você pode usar o ILC para obter essa fofoca. I significa índice e bloqueio significa localização. Quer saber sobre a pessoa sentada na primeira fila, é assim que você a conhece. IC um, retorne os dados no índice um, fofoque Mas lembre-se, o iloc tem tudo a ver com posição. Como nos tipos de dados sequenciados, dois pontos são usados para mencionar o intervalo Esta linha diz para retornar todas as linhas e a coluna um. coluna um não é a primeira coluna porque temos a coluna zero. Espero que você se lembre que Python tinha um professor de matemática ruim que ensinava contar a partir do zero Aqui está a saída. Você pode exibir o intervalo de linhas e colunas. Eu bloqueio com dois pontos três vírgulas zero, retorno as linhas zero, um, dois e a coluna Em seguida, temos Lock. Esse cara gosta muito de rótulos. Ele diz, me dê um nome e eu encontrarei os dados para você. Ele é preciso, focado e não se importa com a posição. Você pode usá-lo para pegar as linhas e colunas específicas por meio de seus rótulos. Quero saber o nome da pessoa que tem o ID de funcionário e003. Único nome. Deixe-me perguntar ao dataframe dot log row e003, nome da coluna. Ok, eu não recebo nenhuma outra informação só com o nome. Quem nos impediu de obter mais informações? Basta escrever df dot log e003. Aí está. Toda a história de vida desse funcionário ali mesmo. Vamos dar uma reviravolta. Obtenha dados com base em algumas condições, dataframe de pontos, encontre dados de todas as pessoas com salário maior ou igual a 3.000 Estamos interessados apenas em quem ganha um bom dinheiro. Essas são essas pessoas. Também estou preocupado com seus departamentos. Quero encontrar aquelas pessoas com salário 3.000 unidades e pertencerem apenas ao departamento de TI Esta é a nossa lista curta. Em qualquer conjunto de dados, há uma boa quantidade de lixo junto com as informações Lock nos ajuda a filtrar os dados e servidores nos quais somente nós estamos interessados. Obrigado, Log. Agora vamos passar para alguns métodos divertidos. Primeiro, o método de descrição, a versão do analista de dados de ler toda a história de vida de alguém, mas menos dramática. Portanto, df dot describe Describe fornece todas as estatísticas interessantes sobre o quadro de dados É como o currículo dos dados, a média, o mínimo, o máximo, tudo o que você precisa para fazer julgamentos. Agora vamos calcular algo simples, como a aresta média. Quero dizer, por que não? Df h não quer dizer Isso mostra a idade média de nossos amigos de dados. Isso significa que, estatisticamente falando, nosso grupo é muito jovem e cheio de energia Vamos falar sobre exclusividade. A função exclusiva mostrará todos os valores distintos em uma coluna, como apontar todas as personalidades únicas em uma festa Se você verificar valores exclusivos no departamento, obterá uma lista dos departamentos usados nos dados. Todos os dados pertencem a uma dessas categorias. Vamos filtrar alguns dados agora, como se você estivesse filtrando seu feed do Instagram para ver apenas o que realmente lhe importa Isso funciona da mesma forma que o método de bloqueio. Para o quadro de dados anterior, suponha que queremos encontrar todas as pessoas cuja comida favorita é pizza. Fácil. DF ter DF ou comida favorita é igual a pizza Agora vamos falar sobre fusão. Esse método é como um casamenteiro em uma festa. Seu trabalho é reunir diferentes conjuntos como encontrar dois amigos perdidos há muito tempo Suponha que você tenha dois quadros de dados, um com nomes e idades e outro com nomes e cidades. Se você ver nomes, eles são iguais. Isso significa que há dois quadros de dados pertencentes às mesmas pessoas. Naturalmente, você quer combiná-los. Quem está pronto para gerenciar dois conjuntos de dados pertence às mesmas pessoas É aí que a mescla as etapas do jogo. Crie um novo quadro de dados, df mesclado é igual a pd dot merge, DF um e DF Com base no que devo mesclar? Precisamos nos unir na comparação de nomes porque os nomes são iguais Isso mostra o DF mesclado dessa forma, os nomes, idades e cidades vivem felizes para sempre em um Merge é o mestre do matchmaking, reunindo dados em um terreno comum Nesse caso, a coluna do nome. Em seguida, temos a adesão. Agora, entrar é como uma fusão, mas funciona mais como vizinhos compartilhando ofensas Ele une dois quadros de dados lado a lado com base em seu índice Suponha que tenhamos definido o índice de ambos os quadros de dados para nomear. Agora junte-se a eles com base no nome. Junção df é igual a DF um ponto junção df dois. Veja, vizinhos morando lado a lado, compartilhando todos os seus segredos em um belo dataframe conjunto Agora, digamos que você tenha dois conjuntos de dados e queira empilhá-los Um em cima do outro ou lado a lado, como criar um sanduíche de dados Digite Concat. Veja como você pode empilhar dois quadros de dados um em cima do outro como se estivesse empilhando panquecas, pd dot Concat Mas se você preferir ações lado a lado, basta mudar o eixo, pd dot Concat df df two O acesso é igual a um. O Concat permite que você construa seu arranha-céu de dados Agora, vamos verificar o tipo de dados em seu quadro de dados. Isso é perguntar, com o que realmente estamos lidando aqui? A coluna He está cheia de números inteiros? A coluna da cidade está cheia de cordas? Vamos descobrir os tipos df D. Temos números inteiros para H e assuntos, uma palavra chique para texto para cidade Agora sabemos exatamente com que tipo de dados estamos trabalhando. Agora, digamos que você queira mudar alguém. Quero dizer, mude o tipo de uma coluna. Talvez você tenha decidido que a coluna He deveria ser um número flutuante em vez de um número inteiro Es PC, e feito usando astype. Tfh é igual a dfht astype float. Ele agora é um número flutuante que está pronto para uma matemática séria Se seus dados precisarem de uma reforma, o astype é E esse, meus amigos, é o seu kit de ferramentas Pandas. Você definiu um índice para personalizar seus dados, lock e ei lock para obter fatias específicas, mesclar e unir para reunir conjuntos de dados e concat para empilhá-los Agora vá lá e faça a mágica dos dados acontecer. E lembre-se, quando você lida com dados tabulares em Python , o Pandas é algo Agora você deve estar se sentindo pandas tão fofos quanto o Panda, o animal ou horríveis como um panda o animal ou horríveis como Com a prática, até mesmo um panda raivoso , se torna fofo, até a próxima aula 37. Matplotlib: Olá, futuro artista de dados. Vou te contar um fato difícil. A maioria de nós é alérgica a números. Trabalhar com um grande conjunto de dados numéricos é a melhor maneira de adormecer em minutos, ainda melhor do que pílulas para dormir Hoje estamos aprendendo a visualização e, com a visualização, estamos transformando números chatos em e, com a visualização, estamos transformando números chatos em histórias coloridas. Sim, isso mesmo. Estamos prestes a nos tornar artistas de dados. Bem-vindo ao mundo do Matplotlib, a biblioteca que permite criar belos gráficos e Porque números sem imagens são como pizza sem cobertura, chatos. Em primeiro lugar, o que exatamente é o Matplotlib? É sua tela pessoal para desenhar tabelas, gráficos e plotagens a partir de seus Imagine seus dados como uma pizza gigante. Você tem todas as coberturas, mas matplotlib é o que permite cortá-las, apresentá-las e torná-las deliciosas . Tudo bem Primeiro passo, importando o Matplotlib, preparando o cenário. Vamos ver o código. Primeiro, você precisará importar o Matplotlib. Em vez de digitar Matplotlib toda vez, é seu nome legal completo, chamamos de PLT porque somos legais assim Importe matplotlib dot Piplot como PLT. Agora estamos prontos para começar. Vamos começar de forma simples, como primeiro passo de um bebê, mas sem arquivar. Suponha que você queira traçar a quantidade de café que você bebe todos os dias. Portanto, os dias são iguais a segunda a sexta-feira. Estamos considerando apenas os dias úteis porque nos fins de semana não tomamos café, tomamos outra coisa xícaras de café são iguais a dois, três, um, quatro e dois. Gráfico de pontos PLT Das xícaras de café, os pontos do gráfico são exibidos para exibir o gráfico. Aqui está sua primeira trama. O que mostra que você tem um hábito inconsistente de cafeína e provavelmente deveria consultar um médico até quinta-feira Agora, esse enredo é bom, mas parece um pouco sem nome Vamos dar a ele alguns rótulos e um título para que as pessoas saibam o que estão vendo. Porque sem um título , são apenas um monte de linhas aleatórias. Primeiro, vamos nomear Xs, plt dot X label, dias da semana Agora, etiqueta YxSplt dot Y, xícaras de café. Finalmente, um bom título para a trama. Título do plt dot, consumo de cafeína, agora plt dot MUITO melhor Agora sabemos que esta é uma história sobre sua jornada com cafeína ao longo da semana Agora vamos adicionar um pouco de cor e estilo. Claro que o enredo funciona, mas é simples como uma torrada sem manteiga. Vamos apimentar isso. Você pode alterar a cor e o estilo da linha para torná-la mais atraente visualmente ou apenas para flexionar seu brilho artístico Gráfico de pontos PLT, xícaras de café Ds oma, cor igual a vermelho, estilo de linha igual a pontilhado e marcador igual a O. Vou manter Veja o que aconteceu agora. Você consegue identificar mudanças? Confira. Agora temos estilo, linha vermelha, padrão tracejado e círculos em cada ponto Como se estivéssemos dando uma festa de discoteca para seu vício em café Vamos aumentar as coisas com um gráfico de barras, porque às vezes os gráficos de linhas são como espaguete barras muito aladas são sólidas, confiantes Veja como você cria um gráfico de barras mostrando a quantidade de pizza que você comeu esta semana. Os dias permanecem os mesmos de segunda a sexta-feira. As fatias de pizza são iguais a quatro, três, cinco, duas e quatro. Plt dot bar Des pizza slices, e eu rotularei o rótulo X como dias da semana e o rótulo Y como fatias de pizza, título do plt dot, consumo semanal de pizza, finalmente Estrondo. Barras sólidas representando seu consumo de pizza. Você não só adora pizza, mas agora o mundo sabe sobre ela em uma forma gloriosa de gráfico de barras E lembre-se, ninguém está julgando sua umidade, sabor e compulsão Em seguida, temos gráficos circulares. Eles são ótimos quando você quer dividir as coisas em pequenas fatias Além disso, você sempre pode fingir que é torta de verdade. Digamos que você queira visualizar os diferentes tipos de alimentos que você comeu esta semana Então, alimentos iguais a pizza, hambúrguer, sushi e macarrão Os valores são iguais a 35, 25, 15 e 25. PLT Quantidades de torta, mas rótulos são iguais aos alimentos. A autopicidade é igual a um ponto decimal. Título do PLT, detalhamento dos alimentos da semana PLT dot SHOW e aí está um gráfico circular Olha todas aquelas fatias deliciosas. Você tem 35% de pizza, 25% de hambúrgueres e provavelmente pouco sushi para seu próprio Assim como uma torta de verdade, essa deixa você com fome, não é? Subtramas, multitarefa, como aprox . Agora, e se você quiser mostrar várias parcelas ao mesmo tempo, subparcelas para resgate. Pense neles como a tela da Netflix com todos os programas diferentes. Só que em vez de assistir compulsivamente, você está planejando compulsivamente Vamos fazer um subgráfico com um gráfico de linhas e um gráfico de barras lado a lado Primeiro subgráfico, subgráfico de pontos PLT, 12 vírgulas e um. Isso significa que o layout tem uma linha, duas colunas e esse é o primeiro gráfico. Gráfico de pontos PLT, xícaras de café Des, título de pontos PLT, xícaras de Agora, segundo subgráfico, subgráfico de pontos PLT, uma vírgula duas vírgula dois Isso conta a segunda trama. Desta vez, temos bar, plt dot bar, Das coma pizza slices, plt dot title, pizza slices, plt dot tteyout plt dot sh Agora você pode analisar seus hábitos de café e pizza simultaneamente. É como realizar várias tarefas ao mesmo tempo para seu cérebro de dados. Além disso, é um lembrete de que suas escolhas alimentares são tão importantes quanto seu vício em cafeína Entenda os pontos secundários de cada trama de heróis. Pense nas lendas como um quadro de informações. Teremos o gráfico de xícaras de café e fatias de pizza no mesmo gráfico de pontos PLT Das xícaras de café, o rótulo é igual ao café, gráfico de pontos PLT. Das fatias de pizza, rótulo é igual a pizza. Etiqueta plt dot X, dias da semana, etiqueta plt dot, quantidade, título plt dot, café versus pizza Agora você precisa de uma legenda para dizer às pessoas o que é o quê, ou então é apenas um monte de linhas confusas, plt legend e PLT Agora temos o consumo de café e pizza no mesmo lote com uma lenda. É como uma batalha épica Café versus Pizza. Quem vai ganhar? Meu dinheiro está em pizza. E o seu? Personalizando o gráfico, adicionando grades e ajustes Se sentindo sofisticado, vamos adicionar uma grade. É como colocar linhas no mapa. Ele ajuda você a navegar pelos seus dados. Vou adicionar mais uma linha antes de PLT mostrar plt dot GRID. Verdadeiro. Agora é como jogar battleship, mas com seus dados de café e pizza Isso faz com que tudo pareça mais organizado e, sejamos reais, um pouco mais profissionais, guardando seu enredo para referência futura. Finalmente, você criou uma trama incrível e quer salvá-la. Talvez para imprimi-lo, pendurá-lo na parede ou exibi-lo para seu amigo cientista de dados. Easy plt dot Salve FiC e o nome da sua imagem myplot dot png. Agora, seu gráfico é salvo como uma imagem imortalizada para sempre em sua Emoldure-o, presenteie-o ou simplesmente rasgue-o com orgulho Isso, meus amigos, é o matplotlib em sua glória. Você aprendeu como criar gráficos de linhas, gráficos de barras, gráficos circulares, subgráficos e até mesmo como salvar suas criações para Agora você é oficialmente um artista de dados. Vá em frente, crie belos visuais. Feliz conspiração 38. Introdução ao OOP: Bem-vindo à primeira aula do último módulo do curso. Os conceitos que você aprendeu até agora são como seus amigos e parentes conhecidos. Você já os conhece e os encontra regularmente. Operadores, condições lógicas como e ou não, decisão baseada em comparação, trabalhos rotineiros em loop, coleta de dados, tudo o que você usa no seu dia a dia, mesmo antes de saber o que é um programa, e talvez você não use esses termos sofisticados Acabamos de apresentar suas versões de programação. Você aprendeu a usar as mesmas coisas em seu programa. Esses conceitos fizeram do Python uma boa funcional ou de script Eu sei que você tem dificuldade em digerir palavras grandes, mas seus significados não são tão complicados quanto parecem Isso significa que os programas foram baseados principalmente na lógica e em alguma ação. Vamos passar por outra fase invisível do Python como linguagem de programação orientada a objetos Eu sei que esse termo cria pânico entre os ouvintes, então vamos chamá-lo de OOP Se você for muito corajoso, acesse qualquer mecanismo de busca e descubra o que é OOP Você vai sentir isso como o enredo de um filme de terror. De fato, não existe essa complexidade nesse conceito. Até o OP é algo que você já conhece. Mas o problema é que as definições complexas e assustadoras fazem parecer que o OP foi trazido à Terra por alienígenas O fato é que você os conheceu sem saber sobre eles. Portanto, Pi pode parecer um pouco confuso no começo, mas não se preocupe Vou tentar o meu melhor para manter as coisas o mais simples possível. Essa é minha promessa, e você deve manter sua promessa de praticar o máximo possível. Esse modelo pode ser um pouco demorado em comparação com outros, mas vamos nos divertir mais neste módulo Me mostrem um pouco de entusiasmo, pessoal. Você está aprendendo algo novo e aprender deve ser sempre empolgante. Esqueça a programação agora. O que você entende pelo termo orientado a objetos? Somos treinados para encontrar coisas complexas mesmo em palavras simples, não usamos muito cérebro, usamos apenas uma fração delas. Pelo menos você entenderá que isso é algo baseado em objetos. Quando você começou a aprender inglês, acho que objeto é uma das palavras que você aprendeu em poucos dias. Você conhece essa palavra muito bem para poder explicar melhor do que eu. Então, o que é um objeto? Eu não quero uma definição, mesmo que eu tenha medo dela. Apenas usando o bom senso comum, posso dizer que tudo o que seus olhos bem abertos podem ver quando você olha em volta são objetos. Enquanto você assiste a este vídeo, deve haver um dispositivo digital, talvez um laptop, smartphone ou um tablet. Esse gadget pode estar apoiado em uma mesa. Eu posso ver muitos objetos bagunçados na minha mesa. Essa é uma das indicações de que sou engenheiro. Essa mesa, laptop, roteador WiFi, caneta, papel, milhares de fios longos e largos, comida derramada, gatinho adormecido, tudo, seja organizado ou bagunçado, são Isso é só sobre a mesa. E se você olhar ao redor da sala? Não, não temos muito tempo para listar tudo. Vamos parar com isso se você entendeu o que é um objeto. Se o objeto é tão simples de entender, então como é possível que programação orientada a objetos seja complexa. OP é um conceito de programação que nos permite definir os objetos do mundo real e suas propriedades. Se você entende, então ótimo. Sem dúvida, você é muito inteligente. Caso contrário, você entenderá à medida que prosseguirmos. OP é o talento oculto do Python, mas é muito importante aprender a ser um bom programador de Python Como programador, você obtém muitos poderes com o OB. Dê o primeiro passo em direção ao Op. Para entender o OP, é importante conhecer os termos usuário Imagine entrar na cozinha sem conhecer os ingredientes da cozinha. Você pode acabar fazendo um bom experimento científico em vez um jantar e Deus abençoe aqueles que deveriam comê-lo Vamos entender os termos do OP com um exemplo. Você gosta de frutas? Não se preocupem muito, pessoal. Mesmo que você goste ou não, eu não te obrigo a comer. Se você está com fome, eu sinto muito. Você pode fazer uma pausa, comer alguma coisa e depois continuar. A fruta é o objeto do mundo real. Precisamos definir os frutos do programa. Suponha que eu seja um computador e alguém me explique como é a aparência de uma fruta, e você não precisa me explicar em linguagem Python Você pode usar o idioma que você entende e, claro, o idioma que até eu entendo. Existe alguém que possa responder a essa pergunta? Essa pergunta é muito geral e alguém pode perguntar de qual fruta você está falando. Se alguém perguntar como reconhecer a manga, posso responder cor amarela, polpa amarela, uma semente dentro, sabor doce Pelo que devo responder? Como reconhecer frutas? Preciso dizer que frutas parecem manga, maçã, laranja, abacaxi e assim por diante Onde devo parar? O problema é que fruta não é um objeto único, mas é o nome de um grupo de deliciosos objetos comestíveis feitos de plantas Quando eu disse frutas, existem centenas de frutas disponíveis. Termo VOP, fruta é uma classe. grupo de objetos é chamado classe e os membros pertencem a essa classe, como maçã, laranja, manga, banana ou o que quer que seja, são todos chamados de instâncias No VOP, definimos essas instâncias e como reconhecê-las. Nosso objetivo não é enviar o computador ao mercado para obter algumas frutas, mas armazenar as informações sobre como reconhecer e diferenciar cada fruta Como definir cada instância da classe de frutas. A propriedade distinta de cada fruta vem em nossa ajuda. Cada instância de fruta é identificada por um conjunto de propriedades distintas, como cor , odor, sabor, com sementes ou não. Se o número de sementes, onde jogar essas sementes ou outras propriedades que nos ajudem a reconhecer na lista de frutas. Essas propriedades que definem e diferenciam várias instâncias de a são chamadas de atributos Os atributos nos ajudam a reconhecer a pessoa que você está conhecendo pela primeira vez. A cor da pele, a cor do cabelo e talvez a altura possam estar entre os atributos de uma pessoa, mas não defina a cor do vestido como atributo. OP é inocente. Pode exigir qualquer contribuição sua, mas você não sabe se a cor do disco pode mudar amanhã. Portanto, o atributo deve ser propriedade universal, ajudar a reconhecer a instância. Agora temos um exemplo de uma fruta e, com a ajuda de atributos, reconhecemos como uma maçã. A próxima pergunta é: o que você quer fazer com essa instância? Essa é minha escolha pessoal. Dependendo da necessidade, posso comê-lo diretamente após fatiar ou extrair suco dele Todas as operações realizadas na instância são chamadas de métodos. Você se lembra do método? Vamos discutir sobre o método em detalhes em breve. Você está claro com os termos instâncias de classe, atributos e método? Essas palavras podem ser novas e estranhas, mas seus significados são muito simples. Conhecemos esses conceitos muito bem, mas você simplesmente não os chama de classes, instâncias e tudo mais. É isso mesmo. Esses termos são muito importantes em todos os conceitos da programação em Python Na verdade, encontramos esse termo várias vezes durante a programação. Ele simplesmente funcionou como um agente secreto, portanto, não pudemos reconhecê-lo. Agora vamos reconhecer. Vou definir minha string como de costume. Essa é uma string e atribua essa string a uma variável chamada string. Não se confunda. Quando peço ao Python que imprima o tipo desse valor, veja como a saída é apresentada Não está dizendo string de tipo de dados. Em vez disso, escreveu a classe Star. Você conhece Sterr. É assim que a string é chamada em sua casa. Essa classe de palavra-chave STR diz? Diz que o valor do qual você está falando é uma instância ou membro da string da classe. Isso significa que a aula não é estranha. classe estava conosco desde o módulo de tipo de dados, mas ele não estava se comunicando conosco. Pode ser introvertido Da mesma forma, se você perguntar ao Python, que tipo de valor é dois Python diz que ele pertence à classe It. Não apenas uma string, mas toda a string no dicionário de listas complexas flutuantes O que costumávamos chamar de tipos de dados são todas as classes e o valor pertence a esses tipos de dados são instâncias dessas função de tipo, que pensamos anteriormente para retornar o tipo de dados, é na verdade uma função incorporada que retorna a qual classe qualquer objeto pertence. Então, e quanto à função definida pelo usuário? Sua função é de Marte ou de qualquer outro planeta distante, então não deve ser diferente. No entanto, vamos verificar isso. Por que devemos manter dúvidas sobre isso? Como você sabe muito bem, como definir uma função, vou definir uma função simples sem nenhum parâmetro. Digamos, defina uma mensagem que imprima alguma mensagem hello world. Este é um prato sem nenhum ingrediente. Sim, é possível definir um prato sem ingrediente. Não na cozinha, mas apenas nas funções do Python. Mas essa função sempre retornará a mesma saída. Não há mudança na vida útil dessa função. Que chato, não é? Ok, vamos voltar. Se perguntarmos a qual classe essa mensagem pertence, você verá a função de classe. Isso confirma que a função não é de MRs. Também é uma classe e as funções definidas são as instâncias da classe. Tudo o que definimos durante a programação pertence a alguma classe e cada classe tem seu próprio conjunto de atributos e métodos. As notações de pontos que usamos nos dados são os métodos que estamos operando na classe Isso responde à velha pergunta que ficou sem resposta. Quando usamos Inumeric no valor inteiro, encontramos o erro de atributo com a mensagem int object has no attribute Os termos que costumavam ser assustadores na época devem fazer sentido agora. Na verdade, estava dizendo: Eu sou um exemplo de em sala de aula. Eu não tenho nenhum método chamado é numérico. Espero que esteja claro. Agora entendemos que cada dado, sendo instância de uma classe, tem seus próprios métodos, mas não somos o dispositivo de armazenamento para lembrar os métodos de cada classe. Como será bom se você encontrar a lista de todos os métodos disponíveis para qualquer instância. Python é tão fofo que entende e nos fornece o que precisamos antes de pedirmos Função DIR com uma instância como argumento, retorna a lista dos métodos disponíveis para determinada instância. Usará DIR com string, mas o problema é que a saída parece uma linguagem alienígena em vez de Python Por um momento, ignore aqueles que estão sentados dentro do sublinhado. Concentre-se nos outros métodos. Parecem rostos familiares, não é? Aqueles com sublinhados duplos em ambos os lados não são os que os usuários usam com frequência Eles foram chamados no back-end do processamento para realizar operações específicas. Por exemplo, sublinhado sublinhado Um sublinhado é chamado no back-end quando você adiciona Esses métodos especiais são como chefs especializados em pratos específicos que trabalham na cozinha Quando você pede que o Python adicione duas strings na área de serviço, o Servo transfere o pedido para o chef na cozinha, sublinhado e sublinhado Você não consegue ver o trabalho do chef, mas a saída final é servida para você, cordas concatenadas Da mesma forma, sublinhado sublinhado Elian underscore underscore Ele é chamado para trabalhar quando você pergunta o comprimento da corda. Funciona na cozinha e você retorna com a saída desejada. Portanto, você não vê esses métodos especiais na interface do usuário, mas eles funcionam silenciosamente no back-end Esses métodos especiais com sublinhados duplos em ambos os lados são chamados de método Dunder ou métodos mágicos, pois funcionam nos bastidores Acho que seu medo está resolvido agora. Da mesma forma, eu uso a função DR na lista para obter a lista de métodos disponíveis para uma lista. Agora não precisamos nos lembrar de nenhum método. DIR retornou a lista de todos os métodos de uma classe. O programador está feliz agora? Como isso pode ser possível? Sendo programador humano, nossa demanda nunca acaba. DIR retornou uma lista de métodos, mas há alguém que possa explicar como usar cada um desses métodos? O Python nos conhece muito bem. Ele concedeu isso também. Você se lembra da ajuda do nosso velho amigo ou se esqueceu dele? Basta usar a mesma função de ajuda com sua instância Python explica como usar cada um dos métodos disponíveis O Python fornece toda a ajuda possível para desenvolver um bom programa Se você está procurando uma função que escreva o programa, desculpe , o Python não a tem Até agora, você já deve ter percebido que OP é fundamental por trás de todos os conceitos do Python Até mesmo as bibliotecas são criadas com o OP. Por exemplo, matemática é a biblioteca que discutimos no capítulo anterior. Importe matemática e pergunte ao Python que tipo de aula é matemática. Você vê seu módulo. Module é uma classe especial do Python que permite ao usuário utilizar seus objetos importando Você pode ver a lista de todos os métodos armazenados dentro do módulo matemático usando a função Dire Você pode estar familiarizado com alguns desses métodos, mas alguns como esse tipo de método nunca conhecemos antes Diga à função de ajuda que conheci um estranho no módulo de matemática Você pode me ajudar a conhecer esse método? A função de ajuda diz: relaxe. Distância retorna a distância euclidiana entre dois pontos junto com a fórmula Aprenda se quiser e se for relevante para você. Se você não tem nada a ver com distância euclidiana, então esqueça Não apenas matemática, todas as bibliotecas Python são instâncias do módulo de classe Isso conclui a sessão atual. Tenho certeza de que você achou o OP fácil e interessante. Você tem coisas muito mais interessantes para aprender no OOP. Você já viu as classes integradas do OP, mas não há muita emoção em usar as classes definidas pelos desenvolvedores do Python verdadeira aventura é definir nossas próprias classes, instâncias, atributos e muito mais e jogar com elas. Isso deve parecer excitante para você. Na próxima sessão, aprenderemos a criar nossas próprias classes de objetos. Vamos conhecer e explorar juntos coisas mais interessantes no próximo vídeo. 39. Como definir objetos: Bem vindo de volta. Na sessão anterior, aprendemos sobre frutas mais do que em qualquer aula de botânica Nesse modelo, ensinamos ao computador o que aprendemos. Quero dizer definir objetos. Não vamos interromper o fluxo. Veja nosso exemplo favorito de frutas porque frutas são algo que quase todo mundo conhece. Existe alguém que não conhece frutas? Se por acaso houver alguém, então há uma grande probabilidade de que qualquer pessoa seja nova na língua inglesa ou nova neste planeta. Defina os frutos da classe, assim como você define a função. Mas com a palavra-chave class, classifique as frutas e termine a linha com dois pontos Apenas dizendo ao Python, existe uma classe de objetos chamada frutas Definimos outros detalhes, como instâncias posteriores, por enquanto, passamos a instrução para continuar. O que é esse passe? Pass é uma palavra-chave que absolutamente não faz nada. Estranho. Por que usamos algo que não faz nada? Às vezes, precisamos de alguém que não faça nada. Estamos sozinhos, sentimos que temos alguém só para passar um tempo conosco e nada mais. O Pass é um desses complementos, use-o como espaço reservado para códigos futuros Se não houver nada a ser incluído no corpo de uma função, loop ou classe, ou mesmo se a instrução pass puder ser usada para informar o Python, fornecerei os outros detalhes posteriormente Isso ocorre porque você não pode deixar o corpo de uma função ou de um loop vazio, pass pode ser usado para evitar erros. Está claro? Essas linhas. Agora, o Python sabe que existe uma classe de objetos chamada frutas Agora defina a primeira instância da classe de frutas. Isso é maçã. Se você não gosta de maçã, pode definir manga. Eu não tenho nenhuma objeção. Quando definimos uma instância, primeiro ritual que você precisa realizar é dizer ao Python que essa instância pertencia à classe fruit Quem na Terra não sabe que a maçã é uma fruta? O computador não sabe porque nunca foi lançado no mercado. Agora Python entendeu, a Apple é uma fruta. Agora vamos definir os atributos da instância apple. Essa é a propriedade que define a instância específica. Vou definir dois atributos, cor e sabor. Deixe-me definir. cor do ponto da maçã é atribuída ao vermelho e o sabor do ponto da maçã é igual ao doce. É como definir se você encontra uma fruta vermelha com sabor adocicado, então é maçã. Sei que dois atributos não são suficientes para explicar nenhuma instância. Depois de aprender o OOP, você pode definir todos os outros atributos se tiver tempo e paciência Agora, para fins de aprendizado, duas instâncias são boas o suficiente. Da mesma forma, eu defino outra instância, fruta laranja. A cor dessa fruta é laranja, igual ao nome, e o sabor é azedo. Defini duas instâncias com dois atributos cada para a classe de frutas para extrair qualquer atributo de qualquer instância imprimir o sabor do ponto laranja. Da mesma forma, cor de ponto de maçã. Você obtém os detalhes da sobremesa. Vamos definir uma função para fazer a introdução da fruta. A introdução e o parâmetro do nome da função DEF são self. Eu é um termo muito importante em OP. Self é a palavra-chave usada no OOP para representar, indicar ou apontar a instância, qualquer que seja a fruta considerada neste exemplo Essa função usa o nome da instância que é maçã ou laranja para o exemplo da fruta como argumento. No corpo, estampa, esta fruta é em cor de latão ondulado e colchetes encaracolados no sabor, o formato de cor autodidata, que se traduz em, por exemplo, cor firme e sabor autodidata ou sabor ensinado A função está definida. A solicitação de uma introdução à função para introduzir o laranja. Você obtém a saída. Esta fruta é de cor laranja e sabor azedo. Se você verificar a Apple, ele imprime que esta fruta é vermelha e de sabor doce. Essa função é chata e algo que já sabemos. Precisamos aprender algo novo. Você está pronto para ver uma mágica? Usando a mágica, eu converto essa função em um método, notação de pontos Mova a mesma função dentro das frutas da classe. Uma instrução importante é cuidar adequadamente dos recuos. Diga-me pessoal, precisamos passar a palavra-chave agora? Saímos daqui porque Class Fruits estava passando pela solidão Agora a turma tem corpo, então não precisa do passe. Ele pode ir para casa agora. Essa etapa mágica converte a função em método. Agora, introdução não é função, é método. Execute-o novamente e escreva introdução ao apple dot sem a necessidade de nenhum argumento interno. Self não é parâmetro agora, mas representação da instância, mas é obrigatório usar self. Execute isso. A saída será a mesma da função. Então você entendeu como definir uma instância, atributos e método de classe. Essa é uma forma de definir a classe do objeto. Depois de usar o mesmo método por alguns dias, nos sentimos entediados e procuramos novos métodos Portanto, há mais um método para definir a classe. Isso é chamado de método construtor. O nome parece ser lindo. Nas duas últimas sessões, comemos frutas suficientes. Vamos parar com o jejum de frutas. Neste exemplo, trabalharemos com os números inteiros na classe para dar a mesma chance e oportunidade aos números Não, o construtor não é tendencioso para números inteiros. Você também pode tentar com os outros tipos de dados. Neste exemplo, usei o retângulo do meu velho amigo. Agora, você me diz quais são os atributos ou propriedades que definem o ctangle retângulo é sempre definido por seu comprimento, largura ou largura, então eles são os atributos Vamos começar a construir a classe do objeto usando o método construtor Definimos o nome da classe com o retângulo da classe de declaração Isso é o mesmo que fizemos antes. Agora precisamos definir os atributos do vidro. Para isso, usamos DEF underscore underscore init underscore underscore Ou seja, estou inicializando os atributos com os parâmetros primeiro e muito importante, self, que indicam a instância seguidos pelo nome, comprimento e largura dos atributos No corpo, atribuímos que o comprimento autodidata é igual ao comprimento e a largura autodidata é igual à largura. Sei que essas linhas parecem um pouco estranhas, mas há uma lógica por trás disso Conforme definimos durante a inicialização, usuário fornece dois parâmetros ao definir a instância O próprio self é uma instância, portanto, o comprimento e a largura são fornecidos pelo usuário como parâmetro ou argumento. Em algum lugar assim , na ordem primeiro comprimento e depois largura. Estamos dizendo ao Python que o usuário, ao definir a instância, fornece dois valores como parâmetro Isso será na ordem de comprimento e largura. O que você, quero dizer, não o Python, precisa fazer é atribuir o valor do comprimento do parâmetro fornecido pelo usuário ao fazer é atribuir o valor do comprimento do parâmetro fornecido self, ou seja, atribuir o comprimento do ponto e parâmetro à largura do ponto próprio Você entende, ótimo. Se você não fizer isso, então não bagunce sua cabeça Eu explicarei quando eu definir a instância. Terminamos de definir a classe do objeto e seus atributos. Agora eu defino instâncias chamadas plot. Na verdade, vários gráficos que pertencem à classe retangle. É assim que a instância é definida no método construtor. Pode parecer um pouco confuso, mas quando você entende, é muito fácil O gráfico um, o gráfico dois, o gráfico três e o gráfico quatro são quatro instâncias do retângulo de classe Os dois valores que eles têm são os atributos na forma de parâmetros na ordem, comprimento e largura. Definimos três parâmetros, mas self is instance enhance passa dois parâmetros, comprimento e largura. Agora me diga, isso está claro? Certifique-se de entender isso. Se sim, como prometi, deixemos claro para o público a confusão sobre o que a duração autodidata é igual à duração. Você pode entender isso agora. Cada retângulo é definido por dois parâmetros, ignorando o comprimento e a largura próprios De acordo com essa definição, por exemplo, gráfico um, três é comprimento e quatro é largura. Concordo. O que essas duas linhas significam é que, estamos dizendo ao Python, usuário forneceu dois valores Você atribui o primeiro valor, que é de acordo com o comprimento da inicialização , a self at length Atribua um segundo valor à largura autodidata. Os valores três e quatro fornecidos pelo usuário como parâmetros são atribuídos aos atributos comprimento e largura. Não é simples? Agora, definimos quatro instâncias de plotagem pertencentes à classe retangle, definidas por seu comprimento e largura Agora eu defino uma função para calcular a área do gráfico. Com um argumento, eu o chamei de ground, que é um identificador para a instância do vidro retangular A área é calculada multiplicando o comprimento e largura do solo da instância pertencente ao retângulo Como de costume, retorne a área. Então, nossa função está definida. Agora calcule a área para todos os gráficos definidos pertencentes à classe retangular Ao executá-lo, você obtém a saída desejada. Eu não quero área funcional. Em vez disso, crie para mim a área do método. Isso não é grande coisa para você agora. Você aprendeu a mágica de converter a função em método. O mesmo que fizemos antes. Mova a função dentro do retângulo da classe. Mas deixe de lado o identificador e substitua-o por eu. Ao definir o método, sempre use self para representar a instância. Não há mais nada a fazer. A mágica acabou. Agora você está pronto para dar o show de mágica de stand up. Execute o código e aproveite o uso da área do método. Vou verificar a área de um ponto do gráfico. Ótimo. Como os conceitos desta sessão podem criar confusão, estamos levando um pouco a sério. Se você entendeu até agora, podemos voltar para mais um. Vamos tentar aprender apenas um conceito fácil antes de encerrarmos esta sessão. Você dominou a arte de criar funções, eu não me preocupo muito e vou criar uma função básica, definir ad ACAB, e no corpo escrever A mais B. Aqui está um programa simples que soma dois números Eu criei o programa e você o assistiu, então sabemos o que essa função de adição fará e quantos argumentos a função de anúncio usará. Mas pense no usuário. Ninguém virá em seu sonho, como ouvimos nas histórias para explicar como usar a função e quais parâmetros ela tem, ou mesmo quantos parâmetros ela tem. Porque para o front-end ou a interface do usuário, o programa não estará visível. Quando não sabemos como usar funções integradas, a função de ajuda costumava vir em função de ajuda costumava vir nossa ajuda, como mamãe e explicadores Vamos pedir a mesma função de ajuda para nos ajudar com a função definida, help add. A função de ajuda ajudará você, mas a função de ajuda apenas escreveu os argumentos ou parâmetros. Essa é uma refeição muito simples, sem sal e especiarias, e isso é óbvio. O que mais você espera? Acabamos de ensinar o Python a preparar a receita. Como, no mundo, uma linguagem pobre sabe exatamente o que pretendemos fazer? Não é um leitor de mentes. Novamente, é nossa responsabilidade tornar as informações obtidas com a ajuda agradáveis e facilmente compreensíveis Isso é obtido usando a string doc. Até agora, você já deve ter percebido que termos complicados não precisam ter um significado complicado. Em termos simples, podemos dizer que fornecemos mais informações. Mas quando usamos o termo docstring, as pessoas vão pensar que essa pessoa tem muito conhecimento técnico Em vez disso, se você disser fornecer mais informações, parece normal. É por isso que usamos um termo complicado para conceitos simples, e doc string é algo que já usamos, mas agora o torna mais útil. Você já aprendeu a comentar usando os códigos triplos. Você se lembra disso? Então você não tem nada de novo para aprender aqui. Doc string, o termo interessante nada mais é do que usar o código triplo para explicar o que uma função faz dentro da função. Para o exemplo, adicionarei a declaração, esta é a função que retorna a soma de dois números. Dependendo da sua função, você pode adicionar qualquer informação. Pegue várias linhas, se quiser. Escrevi quase as mesmas coisas em linhas porque não tenho mais nada a acrescentar. Agora vá e verifique a função de ajuda novamente. A função de ajuda agora ajuda muito bem, assim como seu nome. O mesmo conceito de string Dx é usado ao definir classes Adicione o fio Dx à classe de frutas dizendo que classe de frutas define a cor e o sabor de várias frutas Ok, agora verifique as frutas de ajuda. Portanto, ele fornece algumas informações para o usuário. Não é fácil e simples de entender? Para concluir, a string doc é a informação de texto deixada para o usuário do programa explicar o que uma função ou classe faz e como usá-la, e pode ser acessada por meio da função de ajuda. Como Opie está se saindo com você? É fácil ou confuso? Minha sugestão neste momento é praticar a criação classes de objetos com seus próprios exemplos antes de passar para a próxima lição. A próxima sessão é uma bela floresta. Se você prosseguir com a compreensão adequada, desfrutará da serenidade da floresta Se você optar pela metade do conhecimento, é fácil se sentir perdido na floresta. Entre na floresta com uma preparação adequada. Vamos nos encontrar na floresta de Opie. 40. Herança: Bem-vindo à bela floresta de conceitos de OOP. Você pode ver animais selvagens aqui e ali, mas eles são muito amigáveis. Você experimentará uma variedade de conceitos aqui. Depois de passar pelas duas aulas de OOP, espero que criar qualquer objeto tenha se tornado um jogo à esquerda para você agora Deixe-me fazer você usar sua ferramenta da mão direita no OOP. Nesta sessão, aprendemos os principais conceitos de OOP. São herança, encapsulamento e polimorfismo, termos belos que são capazes de causar medo no público. Esses termos são mais horríveis de ouvir do que os filmes de terror Mas já superamos muitos desses filmes de terror anteriormente. Desenvolvemos uma espécie de poder nesta lição, convertemos esses filmes de terror em filmes românticos. Você está pronto? Não podemos consertar todos eles juntos. Vamos lidar com eles um por um. O primeiro conceito é herança. Espero que esse termo não seja estranho para você. Alguém já lhe disse que você herdou alguma característica do seu pai ou da sua mãe Não são necessariamente boas características, eu sei. Às vezes, também herdamos características ruins. O que fazer Não temos a opção escolher apenas as boas características dos pais e outro exemplo importante e empolgante de herança temporária Você pode ter a propriedade herdada de seus Como você pode esquecer isso? Isso significa que você já conhece a herança. São caras muito legais. Você facilita meu trabalho. significado da palavra herança está determinando a qualidade, as características, a propriedade ou o ativo dos pais ou ancestrais Mesmo em termos simples, todas as coisas boas ou ruins derivadas dos ancestrais são chamadas de herança. Tudo bem. Nós entendemos o termo. Mas o que a genética e a lei têm a ver com a programação? Estamos discutindo isso porque até mesmo a aula de Python tem pais e filhos, até eles merecem uma boa família amorosa Não se preocupe muito. Considere um exemplo simples. Temos a classe de manga e variedades de mangas como AlfonsHydn Atkins, Neelam, Neelam A diferença é que a manga tem pais e você não precisa fazer um teste de DNA para conhecer seus classe de frutas que discutimos na sessão anterior é a mãe da aula de manga. Um grande segredo aqui. Quando pensamos em frutas, pelo menos algumas características vêm à nossa mente. É cultivado em árvores, tem polpa, sementes, cobertura externa, é delicioso de comer. É repleto de nutrientes, benefícios para a saúde e muito mais Essas são as características das frutas, e a manga, sendo filha da classe das frutas, herda essas propriedades nela Assim como nós, a manga também tem algumas características únicas, juntamente com as características herdadas como cor e odor distintos, que diferenciam a classe da manga Sim, a aula de manga também tem irmãos e irmãs. Até agora, você já deve ter entendido seus nomes. Eles são classe maçã, classe laranja, classe morango e assim por diante Todas essas classes herdam algumas propriedades da classe das frutas e têm suas próprias propriedades únicas, e a classe das frutas também tem irmãs Talvez seu nome seja classe de vegetais. Eu não sei Eu não sou amigo da família deles. Vegetal é tio da manga. Não faremos relacionamentos tão complexos. Mas essas frutas e vegetais herdam os atributos da comida da classe ou de qualquer outra coisa. Há alguma dificuldade aqui? Nada Comemos frutas e vegetais diariamente, mas estamos encontrando uma relação invisível entre eles. Espero que esteja claro para você agora. Vocês aprendem muito rápido. O que você come para se tornar tão inteligente? Frutas e vegetais? OK. Você já entendeu a herança. Agora vamos aprender como aplicar a herança em Python. No exemplo atual, definimos veículo de classe. Qualquer um entusiasta de automóveis aqui, você pode dizer, sim, eu não te faço uma pergunta sobre isso porque eu não sei muito Se você não sabe, posso falar com mais confiança. Tenho uma isenção de responsabilidade para especialistas em automóveis. Isso é apenas para fins educacionais. Todos os veículos, digamos, caminhão, ônibus, motocicleta, carro, são classes individuais de veículos infantis de acordo com a definição de herança Não me pergunte mais tarde, quando cada uma dessas crianças nasce, tudo é assunto pessoal delas. Quando dizemos classe de veículo, elas são definidas por centenas de atributos. Acho que você conhece melhor. Eu defino dois atributos entre eles. DEF underscore underscore init underscore underscore self, que é anexado a todas as classes e eu defino dois atributos Um é o combustível, definindo qual combustível é usado para obter energia, gasolina, diesel, bebida energética e outra coisa que eu não sei O segundo atributo é a transmissão. Se for manual ou automático, ou você pode mencionar especificamente qual tipo de transmissão automática. Dependendo do seu tempo, você pode definir outros atributos. Vamos seguir os rituais de explicação dos atributos que fazemos para todas as classes É uma das coisas mais fáceis que se pode fazer neste mundo. O combustível autoponto é igual ao combustível e a transmissão automática é igual à transmissão. Existe algo mais fácil do que isso? Os atributos da classe her são definidos. Defina um método para a classe Wehle. Quando há um veículo , ele precisa ser ligado para usá-lo. Caso contrário, é apenas um brinquedo ou uma sucata, ligue-o. Defina começar por si mesmo. Quando o usuário dá o comando de partida, o veículo deve começar. Eu não sou engenheiro automotivo, então não posso ligar o carro apenas programando Acabei de ligar o motor de impressão, pronto para funcionar. Você deve presumir que o motor foi ligado e está pronto para funcionar. Definimos o método para vidros de veículos. Agora é hora de definir o filho da classe mais fraca. Embora existam dezenas de crianças em classes mais fracas, não consigo definir todas elas. Eu defino um que é carro. Este é o filho mais popular do gel. Etapa muito importante ao definir um carro de classe infantil. Não se esqueça de mencionar o nome do pai no gel entre parênteses Op agora sabe que o carro é filho legal da classe Weicer. Sendo filho legal, o carro de classe tem o direito de herdar todas as propriedades e métodos do vidro mais fraco Ninguém pode questionar isso. Quando tem o direito legal, carro de classe pode até mesmo receber todos os atributos da classe mais fraca A classe mais fraca tem apenas dois atributos e carro tem acesso aos dois atributos do veículo Mas se uma criança quiser considerar uma, é muito bem-vinda. Mas quando temos a opção de dois, por que devemos considerar um? Defina os atributos da classe car, mesma forma que você faz para todos os atributos. Defina sob o escopo int under sconoc self, combustível e a transmissão que seu pai tinha junto com aquele carro têm atributos únicos com Com teto solar, defina se o carro tem teto solar ou não. Se o carro tiver teto solar, o valor é. Quero dizer, agora é responsabilidade do programador dizer ao Python que o combustível e a transmissão O OOP já sabe que o veículo é pai do carro sort super dot underscore underscore init underscore underscore , combustível e transmissão Agora que a OOP entendeu, o CR está obtendo os dois atributos de sua classe de veículo principal Então, e quanto ao teto solar? O teto solar é uma característica única do carro, então defina-o como outros atributos. O teto solar Self Dot é igual ao teto solar. Embora a classe de carros tenha herdado atributos e métodos de seus pais, todo mundo sonha em ter algo próprio Vou definir um método para a classe do carro. Nem todo veículo tem ar condicionado. Temos ar condicionado na motocicleta, mas o carro tem um método definido para ligar o AC, que imprimirá que o AC está ligado agora. Novamente, você assume que o AC está ligado. Aproveite a brisa fresca do AC ou imagine que sim. O carro tem acesso aos atributos e métodos de seus pais. Além disso, ele também tem seus próprios atributos e métodos. É uma classe privilegiada. Vou definir uma instância do meu carro, que é um carro com atributos, combustível, gasolina. Transmissão automática e com teto solar, sim. O combustível é propriedade herdada do veículo da classe. Deixe-me imprimir mycar dot fuel e vou tentar os dois métodos, car dot SAT Esse é um método herdado de seu veículo de classe principal Além disso, usarei o próprio método do carro, o interruptor de pontos do carro no AC. Agora, tanto o motor quanto o AC estão ligados ou assumem. É assim que os atributos e métodos são herdados da classe pai para a filha Se você quiser saber como herdar as propriedades de sua classe parental, você precisa consultar o advogado mais próximo O Python não pode ajudar nesse aspecto. Convertemos um filme de terror em um passeio romântico e alegre Espero que você tenha sentido a herança muito fácil. mesmo acontece com o próximo conceito que discutiremos na próxima lição. 41. Encapsulamento: O segundo conceito que estamos explorando nesta lição é o encapsulamento A palavra chique soa como um encapsulamento Não, não é tão complexo quanto você pensa. É um conceito fácil que você conhece muito bem. Suponha que você tenha algum documento ou nota confidencial com senhas, como você lidará com isso? Se fosse eu, eu me manteria em um lugar tão seguro que, mesmo que eu o procure mais tarde, quando necessário, não os mantemos abertos em locais públicos. Quando você tem algum documento ou informação particular, primeira coisa que fazemos é embrulhá-lo na tampa ou no verso para que as informações não fiquem facilmente visíveis fora e depois trancá-las dentro da gaveta de segurança Isso significa que você o mantém coberto ou encapsulado para se esconder do público Somente você ou sua pessoa confiável autorizada, talvez seus pais ou parceiro de negócios, saibam como acessar esses dados Isso é algo que estamos fazendo desde a infância. Costumávamos esconder coisas dos irmãos ou dos mais velhos. O que você costumava esconder difere de pessoa para pessoa, mas o fato é que fizemos isso. Esse conceito simples que estamos fazendo desde infância tem o termo sofisticado chamado encapsulamento Em termos simples, o encapsulamento está se escondendo do público e dando acesso somente a uma pessoa autorizada Em termos de VOP, encapsulamento está controlando o acesso da classe de objeto Não importa o quanto falemos sobre isso, você entenderá quando o usarmos como exemplo. Vamos ver como fazemos isso em Python. Para esse conceito, deixe-me definir uma conta bancária de classe. Os detalhes da conta bancária são algo que você não grita. Esse é o número da minha conta. Isso é equilíbrio, e essa é minha senha. Não há necessidade de manter o saldo privado, mas ninguém gosta de se inserir mostrando o equilíbrio. Todas essas informações precisam ser privadas e acessadas somente por você e outra pessoa autorizada. Vamos definir dois atributos, número da conta e saldo, e esses dois detalhes devem ser ocultados do público e acessados forma privada por você ou por uma pessoa autorizada Portanto, esses dois atributos precisam ser encapsulados. Existe uma maneira de dizer secretamente ao Python que o atributo é confidencial e Forneça sublinhado duplo antes do atributo. sublinhado com ponto próprio é igual ao número ac é igual ao número ac Agora, OOP, nenhum número de conta é confidencial e também não pode divulgar seu saldo. A balança autodidata também precisa ser encapsulada, portanto, portanto Definimos a instância e a encapsulamos. Agora, o encapsulamento faz seu trabalho tão bem que nem mesmo revela os detalhes Você não pode acessar ou modificar os valores a qualquer custo ou influência. Se você não confia em mim, verifique você mesmo. Eu defino uma instância, minha conta, que é uma conta bancária de classe. Preciso inserir o número da conta e o saldo. Isso é ultrassecreto. Ninguém poderia dizer isso, mas estou compartilhando isso em público. O número e o saldo da minha conta estão definidos. Eu suponho que você não tenha assistido. Você pode assumir por si mesmo qual é a moeda. Agora acesse minha conta dot Balan. Python diz que esse atributo não existe. Verifique o equilíbrio do sublinhado se achar que isso pode funcionar Não, apenas dando um sublinhado duplo, Python entendeu muito bem que os dados são confidenciais e que o Python é Diz que não existem tais atributos. Bom trabalho, Python. Hoje, eu entendi até a mentira do Python, mas por uma boa causa O Python não permite que ninguém veja os detalhes e ninguém pode modificá-los, nem mesmo O que devemos fazer é permitir que o VOP acesse os detalhes de forma controlada Eu defino um método, crédito. Quero creditar uma quantia na conta. Autoquantie e adicione o valor ao saldo, você precisa usar estritamente o sublinhado duplo sublinhado autodidata é igual ao saldo do sublinhado autodidata mais o valor do sublinhado Quando você adiciona o valor, deve haver uma maneira de até mesmo retirá-lo. Da mesma forma, outro método de débito para sacar alguma quantia. Mas e se um cara tentasse ser esperto demais e tentar sacar mais do que o saldo? Para isso, coloque a condição If, se a quantidade for maior que ponto próprio sob o saldo do escronoscópio, você precisa informar o saldo insuficiente, caso contrário, deduza o valor do saldo Está tudo bem. Mas Python, não me permita nem mesmo verificar o equilíbrio . Como posso verificar isso? Você precisa criar um método privado para verificar isso. Defina o saldo de verificação sem nenhum argumento, somente self, e retorne o saldo no estilo de encapsulamento O ponto automático sublinhado sublinha o equilíbrio. Isso é chamado de acessar e operar de forma controlada se você tem medo de ouvir esses termos Agora eu defino minha conta com saldo de 2.000 unidades e, em seguida, creditarei 1.000 unidades a mais. Posso adicionar qualquer quantia apenas digitando valores aqui, mesmo em milhões, mas não quero fazer piada comigo mesma Agora, qual deve ser o equilíbrio? Funcionou bem? Vou tentar sacar 4.000 unidades e quero verificar o saldo Python diz que há equilíbrio insuficiente na minha frente. Não sei como reagiu por dentro. Nenhuma alteração é feita no débito, portanto, o saldo deve permanecer em 3.000 Agora me digam, pessoal, existe alguma coisa chamada dificuldade nesses conceitos? Eles estão apenas criando pânico usando palavras de alto padrão, herança, encapsulamento, mas são Vamos passar para o próximo conceito? Ele está encapsulado no próximo vídeo. 42. Polimorfismo: O último conceito que estamos aprendendo em OOP, que também é muito simples, mas horrível de ouvir, é Não parece algo usado por médicos ou biólogos Se você se sentiu assim, você tem uma intuição muito boa. Sim, isso é um termo de biologia. acaso, existe alguém formação em biologia na platéia, então essa pessoa conhece muito bem o significado desse termo se frequenta as aulas, e presumo que sim. Se não houver ninguém aqui, posso falar com mais confiança. Em biologia, polimorfismo é o estado em que um organismo pode existir em diferentes formas, que não parece legal para quem não é Não torne isso desnecessariamente complexo. É a tarefa simples que fazemos quase todos os dias, exceto aos domingos. Você já foi multitarefa? Às vezes, precisamos ser multitarefas quando estamos equilibrando a casa e o escritório Você pode estar cozinhando ou fazendo outro trabalho em casa enquanto atende à chamada do escritório. Sim, eu sei, e eu não conto esses segredos para seu chefe ou professor. Além disso, até eles fazem essa multitarefa. Você não acha que eles são seres humanos? Você desempenha vários papéis em sua vida todos os dias? Você é um programador quando se senta na frente de um computador, chef quando está na cozinha, rigoroso com repórteres, marido obediente na frente da esposa, monstro adormecido Nós interpretamos todos esses personagens sendo apenas uma pessoa. Esse conceito simples é chamado de polimorfismo. Em Python, o polimorfismo está usando a mesma função ou método dentro de uma classe diferente para retornar saídas diferentes ou método dentro de uma classe diferente para retornar saídas diferentes. Vamos ver como fazer isso agora. Como o termo polimorfismo é derivado da biologia, consideramos o exemplo da biologia, precisamente da Eu sei que você odeia remédios, mas nos dias modernos, as pessoas começaram a consumir mais remédios do que alimentos. Esses medicamentos têm classes diferentes. Usamos diferentes classes de medicamentos para problemas diferentes, como na tecnologia, até mesmo eles usam termos sofisticados e difíceis de digerir até mesmo para conceitos simples Vou definir alguns da classe de medicamentos. Comece definindo a classe de analgésicos. Eu não defino nenhum atributo aqui. Já aprendemos como definir atributos. Eu não quero repetir isso de novo e de novo. O escopo desta sessão é aprender polimorfismo. Eu defino diretamente um método, o que ele faz, para definir o que ele faz, como diz o nome. O que os analgésicos fazem é aliviar a dor. Eu imprimo isso. Se você sentir dor de cabeça depois de aprender algum conceito, pode optar por analgésicos, mas somente depois de consultar seu médico Definimos um medicamento, definimos outra classe de medicamento, antibióticos. Mesmo que tenha um método, o que faz com que a impressão trate infecções bacterianas. O método, o que ele faz, não é propriedade privada dos analgésicos, até mesmo os antibióticos o usam Isso não acaba aqui. A próxima classe de antipiréticos também usa o que faz O que ele faz é reduzir a febre. Finalmente, os anti-histamínicos que tratam reações alérgicas também têm um método, o que fazem Agora temos quatro turmas. Agora, fornecerei uma instância para cada uma dessas classes que são comumente usadas. Você pode definir mais se for farmacologista. Para analgésicos, eu atribuo ibuprofeno. Azitromicina para antibiótico. Para antibióticos, vamos tomar paracitomol e finalmente esta não é minha receita propósito, esta não é minha receita para nenhum problema de saúde. No polimorfismo, o método é o mesmo. Isso é, neste exemplo, o que ele faz. O mesmo método é usado por várias classes. O método, o que ele faz, é como um multitarefa. Se você perguntar ao parasitamol dot o que ele faz, o Python primeiro verifique a qual O acetamol é um antibiótico, por isso devolve o método dos antibióticos, que é um favor reduzido Se eu perguntar o que a azitomicina faz, ela responde que trata a infecção bacteriana porque é um antibiótico ela responde que trata a infecção bacteriana porque é O método é o mesmo, mas aplicável para classes diferentes. Esse estado de método existente para classes diferentes é chamado de polimorfismo Novamente, fiz a mesma pergunta: há alguma dificuldade aqui? Nenhum conceito neste mundo é difícil. Nós o tornamos desnecessariamente complexo. Quero concluir uma coisa para você. Um termo de aparência complicada pode ter um significado muito simples. Como está sua jornada de aprendizado? Chegamos ao fim do curso, mas no novo começo de sua jornada em Python, vemos na festa de despedida 43. Última nota: Bem-vindo de volta. E essa não é uma sessão normal qualquer. Esta não é a sessão técnica como as anteriores. Mas aquele em que vamos celebrar seu compromisso de aprender, você chegou ao fim. Essa é a hora de colocar o chapéu de festa. Mas, falando sério, sinta-se à vontade para se mimar mais tarde, porque você mereceu. Em primeiro lugar, dê um grande tapinha nas costas. Você realmente merece isso. Você percorreu todo esse caminho percorrendo tipos de dados, conquistando loops, domesticando funções e eliminando bugs Como foi a viagem se você olhar para trás? Espero que você tenha gostado de aprender coisas novas. Agora que você chegou ao final do curso, você pode estar se perguntando: o que vem a seguir? Você terminou o curso. Isso significa que você acabou com isso? Na verdade, isso é só o começo. Pense nisso assim. Você terminou o primeiro nível do videogame e, como recompensa por desbloquear o novo nível, recebeu uma espada Essa é sua habilidade em Python. Tenho uma arma nova. Antes de criar o próximo Instagram ou Netflix, você precisa aprimorar sua nova habilidade Mas como você pode fazer isso? Há um segredo para aprimorar sua habilidade de programação que não é mais um segredo. Aqui está a chave para levar sua habilidade de codificação para o próximo nível. Pratique nas plataformas online, sugiro que você pratique a solução de problemas em plataformas de codificação competitivas, como HackerRank, code chef, Hacker Earth ou qualquer outra Se você estiver particularmente interessado nos desafios da ciência de dados, pratique em Cagle Essa etapa é muito importante. Essas plataformas de codificação on-line são como academias para os programadores É onde você pode flexionar seus músculos de programação e aprender a resolver problemas do mundo real Além de competir com outros. Não se espera que você mantenha a ótima classificação desde o primeiro dia. Não se trata apenas de vencer, trata-se de aprender, crescer e subir de nível Cada problema que você resolve, cada erro que você corrige é como subir de nível no jogo Você fica mais forte, fica mais rápido e fica melhor. Isso melhorará sua habilidade de resolução de problemas, aumentará a velocidade e a eficiência de sua codificação, aumentará a confiança e, por último, mas não menos importante, ajudará você a superar os desafios de programação do processo de recrutamento. Mas eu quero que você se lembre de algo que é realmente importante para um programador. Não se apresse. Programar é uma maratona, não um sprint. Tudo bem se você cometer erros. Tudo bem se você ficar preso aos problemas. A chave é continuar. tenha pressa, aprenda no seu próprio ritmo e, acima de tudo, não se esqueça de se divertir. O que quer que você faça, aproveite. E quando se trata de Python, não é apenas uma ferramenta, é também seu playground Você pode brincar, experimentar a ideia estranha que você tem e aproveitá-la ao máximo Vamos falar sobre comunidade. Até isso é importante porque, sejamos honestos, às vezes programar pode parecer um pouco solitário Você sentirá que é só você, seu computador e aquele bug irritante que simplesmente não vai embora. Às vezes, pode ser frustrante. Vou sugerir que você encontre um corpo ou grupo de pessoas. Você não está sozinho neste mundo movido pela tecnologia. Existem milhões de programadores por aí, talvez perto de você Eles são como você, aprendendo, lutando e comemorando suas vitórias Encontre-os, participe de fóruns, encontre grupos. Depois de obtê-las, faça perguntas e compartilhe o que você sabe. Você elevará seu nível de habilidade enquanto ajuda outras pessoas a resolver seus problemas O que quer que venha a seguir, esteja você começando seu próprio projeto, enfrentando desafios de codificação ou talvez até mesmo entrando na ciência de dados, quero que você se lembre programar não é apenas escrever linhas de código Trata-se de resolver problemas, ser criativo e ter a coragem de continuar tentando mesmo quando fica difícil. Espero fortemente que você brilhe como um encanto no mundo da programação. Sempre empolgado em ver seu sucesso. Se este curso estabeleceu pelo menos uma pedra na base do seu sucesso, isso cumpre o propósito deste curso O mundo digital é pequeno e nossos caminhos podem se cruzar novamente. Talvez no próximo curso, ou talvez eu ouça sobre algo incrível que você construiu. Até lá, continue criando e, acima de tudo, continue se divertindo. No final do dia, você deve aproveitar tudo o que está fazendo. Muito obrigado por estar comigo nessa jornada. Agora vá lá, faça um pouco de mágica e lembre-se da citação como se ninguém estivesse assistindo. Amo todos vocês e adeus por enquanto.