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.