Transcrições
1. Apresentação: Olá, meu amigo,
meu nome é Tony e tenho trabalhado em
Python há algum tempo. E também acontece de ser
o, até o ano passado, eu trabalhei no Internet Venture
Accelerator em Boston, onde trabalhei na codificação de projetos
relacionados com o objetivo de começar onde as empresas do zero e almoçá-las para
o mundo real. Foi um trabalho empolgante, mas estou ainda mais animado em dizer que recentemente me diverti com esse trabalho para buscar o que estou genuinamente animado para
acordar todas as manhãs, o que é aprender a aprender e ensinar aos outros
como fazer o mesmo. Isso é o que me traz
aqui hoje e também para o meu canal do YouTube neste curso de
programação funcionará inteligente e não mergulhe profundamente no
mundo e se concentrará por apenas 15
minutos por dia. Por 30 dias, haverá exercícios
diários para você
aprender fazendo mais, até mesmo ter dias de descanso a cada quatro sessões para você
internalizar por que está aprendendo. E, finalmente,
teremos nosso projeto final no qual seu código e seu
próprio aplicativo Python. Você aprenderá as
habilidades necessárias para escrever seu próprio código Python. Algumas das coisas
que analisaremos nossas variáveis e tipos de dados, como cadeias de caracteres,
números e listas. Também
analisaremos funções, condicionais e até mesmo programação
orientada a objetos e muito mais. E mesmo além do Python, abordaremos uma
das principais técnicas e conceitos relacionados ao aprendizado
acelerado, como recuperação ativa
e repetição de espaço. E tudo isso pode não
fazer muito sentido agora, mas aprenderemos o que são ao longo do curso
e você será capaz conectar os pontos no projeto final
neste curso é destinado
a qualquer pessoa que
nem tenha uma pista sobre qual programação ou codificação mesmo, ou qualquer um que tenha aprendido a codificar no passado
e simplesmente precisa de uma atualização
estruturada e
se você estiver procurando aprender como codificar para eventualmente
obter empregos com alto salário. E o desenvolvedor está
procurando automatizar tarefas
repetitivas para
ganhar mais tempo, ou está aqui apenas por curiosidade e procurando aprender algo novo apenas por uma questão de aprender, então este é o curso
certo para você e as únicas
ferramentas que você precisará nosso computador e
vontade de aprender como
a ilha Python era muito mais
difícil do que deveria ter sido, principalmente porque eles tinham sem estrutura e
fiz tudo por conta própria. E o discurso é
exatamente o que eu desejo. Eu teria tido isso
no dia em que tentei
escrever minha primeira
linha de código, um
processo passo a passo estruturado ensinado por alguém que não só
sabe codificar muito bem, mas o mais importante, alguém que sabe como o
cérebro funciona e como usar técnicas
cientificamente
comprovadas para acelerar o processo de aprendizagem. Você escolheu uma excelente linguagem de
programação
para começar porque Python é uma linguagem de
codificação muito popular em todo o mundo, como eu mencionei
ao longo deste curso, você construirá seu
próprio aplicativo Python no projeto final no qual o aplicativo usará todas as ferramentas que aprendemos
ao longo do curso. E ele irá questioná-lo sobre qualquer
tópico que você queira estudar. E isso manterá
suas pontuações para que você saiba o quão bem você está
indo em cada tópico. E quando você
volta, você sabe, quais são os pontos fracos em
que você precisa trabalhar. O produto final
será fundamental para conectar os pontos
e o que você aprendeu. E é por isso que é
realmente importante você se mantenha consistente e tome medidas pequenas, mas entregues,
para completar os 30 dias. Porque cada dia será como
pegar um pincel e
pintar bem
pensado e entregue ponto no Canvas. Não fará
todo o sentido quando você
voltar atrás e olhar para a
tela imediatamente. Mas com o tempo, simplesmente
voltando e pintando cada dólar
adicional
na Tela deliberada
e consistentemente, você eventualmente recuará e
ficará surpreso quando você finalmente ver com clareza para o que
ele vinha trabalhando. Todos os únicos. Como
Steve Jobs disse uma vez, a dose só
se conectará em retrospectiva. Então lembre-se de que ele continua
voltando sem
mais nada para adicionar hoje. Eu realmente espero que você
decida dar
uma chance a isso e ter um bom
pressentimento ou ver você muito em breve.
2. Boas-vindas!: Bem-vindo programador para
aprender Python em 30 dias. Estou tão animado por tê-lo aqui na codificação EOB
e você sabe, hora. Então você provavelmente está se perguntando
como isso vai funcionar com mais detalhes
neste curso, teremos
30 aulas diárias que demorarão cerca de 15
minutos para serem concluídas. Nós até temos aulas de descanso e recuperação do
dia 74 nestas, não
haverá nenhum material novo e eles devem
dar a você a chance recuperar e revisar as sessões
anteriores que
você acha que
pode valer a pena revisitando. Temos um ritmo diferente. Então você pode até
achar que funciona melhor para você quando você
faz duas lições por dia. E isso significaria que você
terminaria o curso em 15 dias em vez de 30
dias na metade do tempo. E isso é totalmente bom
se isso funcionar para você, só garante que você
não esteja aglomerando o
conhecimento e que está tomando seu tempo para internalizar e digerir o que está aprendendo. É por isso que eu não
recomendaria fazer mais de duas
aulas por dia. Há um provérbio chinês
que diz y aqui. Esqueci o que vejo. Eu me lembro, mas o que
faço, eu entendo. É por isso que este curso está
focado no aprendizado prático. Eu quero que você experimente máximo que puder com
tudo o que você aprende todos os dias que você vai
conseguir
acompanhar o que eu faço na tela. E no final de cada lição, temos até exercícios
para você fazer e começar a codificar imediatamente
o que aprendeu naquela época, você verá em algum lugar
sob a tela, provavelmente à direita, uma lista de todos os vídeos claramente rotulados e numerados com cada data devem ser tirados. Também deve haver, na
parte inferior, uma seção de mensagens onde
você pode postar mensagens comentários ou perguntas para que qualquer pessoa veja para que possamos nos
ajudar uns aos outros. Há também ferramentas que
você verá no vídeo ao redor
da tela que
funcionam de forma semelhante a outras plataformas de vídeo
que você já usou. Um dos mais
úteis pode
vencer o botão de velocidade de reprodução. Isso permitirá que
você acelere ou diminua o vídeo conforme desejar. Você também pode descobrir
ao longo do curso que
falo em um ritmo relativamente lento isso de propósito, porque
esse botão lhe dá a flexibilidade de mudar a velocidade para o que
funciona melhor para você. E, finalmente, eu
queria pedir que você jogasse completamente fora nisso e se comprometesse a
concluir o curso, pegar um calendário e reservar
algum tempo todos os dias. Portanto, você terá maior probabilidade se sentar e
concluir cada lição. Já coloquei metade do esforço criando
este curso para você, mas isso não funcionará para nada a menos que você coloque na
outra metade do trabalho. Por isso, convido você a
voltar e ter um estado engraçado, pronto para se concentrar e
pronto para aprender sem mais
delongas. Vamos fazer isso.
3. Dia 1 Instale Python (Mac): boas-vindas ao meu amigo para aprender Python em 30 dias,
e hoje é o primeiro dia Hoje temos alguns objetivos e o principal deles
será a instalação. Este vídeo é especificamente
para a instalação do Mac OS. Verifique se
você está usando um Mac. Se você quiser assistir a este vídeo, se tiver um computador Windows, acesse o
vídeo equivalente que você verá
na lista de vídeos que diz
instalação Olhando para os outros objetivos, temos que examinar o
maior obstáculo ao aprendizado Precisamos entender
qual é o maior obstáculo para o aprendizado,
podemos enfrentá-lo Também vamos entender como são nossas perguntas, a resposta. Em seguida, vamos começar a
instalar o Python e o que precisamos
para facilitar nossa vida Então, algumas outras coisas
que precisaremos instalar. E, finalmente, vamos terminar verificando
a instalação e imprimindo nossos primeiros comandos
na tela Vamos passar para a seção
de aprendizado. Ok, então o maior obstáculo para o aprendizado é a crença de
que você já sabe disso E isso é um sentido dizer que, uma vez que diminuímos a barreira de pensar que
já sabemos alguma coisa, abrimos nossas mentes para
aprender coisas novas. Em seguida, precisamos saber que
precisamos ter a mente aberta
para aprender Porque a mente só funciona quando está aberta.
É como um paraquedas É muito importante que
continuemos fazendo perguntas. Se você tiver dúvidas
durante o curso, escreva-as,
pois é muito provável que respondamos a essas perguntas mais
tarde durante o curso. Outra vantagem de fazer perguntas é que, ao
fazer uma pergunta, você prepara sua mente para
buscar as respostas. Sempre que as respostas surgirem, você estará muito mais
preparado para absorvê-las. Pense nesse elefante. crença limitante
é que ela não consegue soltar Sua crença limitante
é que ela não consegue soltar a perna porque falhou
quando era pequena, mas nunca mais questionou
essa crença Mesmo depois de ter se fortalecido
o suficiente para se
libertar fazendo perguntas constantemente em vez de nos contentarmos com respostas, é mais provável que
quebremos as crenças limitantes Se você já pensou que
não consegue aprender a codificar, esse é um bom momento para começar a
questionar essa crença, porque o que acontece com seu cérebro quando você faz uma pergunta? Ele se envolve com a
pergunta imediatamente e começa a pensar em possíveis respostas naquele momento Isso significa
que podemos pensar nas perguntas como respostas ao vivo
no momento presente. Por outro lado, depois de
atribuir uma resposta a uma pergunta e considerá-la
pelo valor nominal a partir de então, a resposta fixa
pode
impedir que você veja mais
da imagem completa. É por isso que as perguntas
são a resposta. Tenha isso em mente e vamos
prosseguir com a instalação. Então, a primeira coisa que
vamos
fazer é acessar
nosso navegador e fazer o download do Python no Google Estamos tentando acessar o site Python.org. E quando você chegar aqui, você entrará na seção de
downloads. Você clicará em
baixar para macOS. Em seguida, você
abrirá o arquivo que foi baixado e
abrirá o instalador. Você
clicará em Continuar e concordará com tudo isso. E depois de clicar em Instalar, ele será instalado
no seu computador e você verá a pasta que acabou de instalar com
o software Python Em seguida, você aguardará
a conclusão da instalação
e, em seguida, fechará e moverá o instalador para a lixeira Parabéns, você acabou baixar o Python
em seu computador A próxima coisa que
vamos fazer é abrir nosso terminal. Vou usar o espaço de comando
e depois digitar o terminal. O terminal é muito útil quando queremos interagir com nosso computador por meio do
uso de comandos escritos. Aqui, podemos operar com
arquivos e navegar pelas pastas da mesma forma que
usamos o Finder, por exemplo Podemos usar nosso
terminal para isso. Uma coisa para a qual podemos
usar o terminal é verificar se você
instalou o Python corretamente Para isso, simplesmente executamos versão espacial do
Python três e pressionamos Enter, e você pode ver que o
Python três está Outra coisa que
você pode fazer com seu terminal é
executar o Python Para fazer isso, basta digitar
Python three e Enter. O que isso faz é
simplesmente
abrir o interpretador padrão do Python Esse intérprete
é chamado de Repl, REPL, que significa ler,
avaliar, imprimir loop Isso significa simplesmente
que o ambiente lerá e avaliará nossos comandos e, em seguida, os
imprimirá na tela.
E faça isso em um loop. A primeira função e o
primeiro comando que aprenderemos em Python é
a função de impressão Para isso, basta
escrever a impressão aberta, colchetes
redondos e
depois entre aspas E você pode usar aspas simples ou duplas,
como preferir. Aqui você escreve um texto. Nesse caso, estamos
escrevendo Hello World. E então você fecha a cotação e depois fecha
o colchete redondo Ao pressionar Enter,
você verá hello world ou qualquer texto que você colocar
na função de impressão
impresso na tela. Finalmente, quando queremos sair do
interpretador padrão do Python no ambiente, simplesmente escrevemos quit
e
arredondamos os colchetes
e pressionamos e
arredondamos os colchetes
e A próxima coisa que
vamos instalar será o Python Python é simplesmente outro Repl
e outro Python Muito semelhante ao ambiente
padrão do Python, mas tem mais
funcionalidades e
é uma versão aprimorada
desse ambiente padrão Para instalar o Python,
vamos usar o pip. O comando é o seguinte, será o pip
three, instale o Python Se isso não funcionar, talvez você tenha outra versão do pip. Então você pode usar o Pip sem os três e depois instalar o
Python e isso O que Pip é é que ele é
um gerenciador de pacotes Python. Ele gerencia módulos que podemos baixar da Internet
para o nosso computador. E analisaremos os módulos posteriormente no curso. Então, quando pressionamos Enter, vemos que ele é
baixado em nosso computador. E para mim, no meu caso, eu
já o baixei. Portanto, sua tela pode parecer um pouco diferente e
demorar um pouco mais, mas deve funcionar bem. Agora, para executar o Python, basta digitar Python no terminal
e pressionar Enter,
e isso abriria o e isso abriria E agora temos outro ambiente de repelência que é semelhante a um
ambiente padrão, como mencionei E podemos usar a mesma função de
impressão de antes. Então, detalhe,
imprima hello world, Enter, veremos hello world
impresso na tela. Em seguida, para sair do Python, basta digitar
Quit e Enter E isso o levará de
volta ao seu terminal. A próxima coisa que
queremos baixar
e a última coisa que
estamos baixando é o código
VS ou o código do Visual Studio. Para isso, basta baixar
o código do
Visual Studio no Google que deve
levar você ao site. Você vai baixar
a versão para Mac. O código VS
é simplesmente um editor de código. Da mesma forma que você pode usar o Microsoft Word para escrever seus ensaios ou qualquer coisa que
queira escrever Você usaria o código VS
para escrever seus scripts. Ele tem funcionalidades
que serão muito úteis quando
estivermos escrevendo nosso código Assim, você baixaria o código VS como faria com qualquer
outro aplicativo. No momento, temos esse
arquivo zip que, quando o abrimos,
ele leva o aplicativo
para minha pasta de download. Eu simplesmente movo isso para minha pasta
Aplicativos e estou
pronto para abrir o
código do Visual Studio usando o espaço de comando. Aqui podemos clicar em Abrir. Isso abriria
o aplicativo, tornaria a tela cheia. E podemos fechar essas guias, podemos prosseguir com a
criação de um novo arquivo No arquivo. Novo arquivo. E então é simplesmente um arquivo de
texto agora. Assim, podemos escrever o
mesmo comando que fizemos no interpretador Python.
Imprima olá mundo. Podemos fazer o arquivo, salvar como
e depois salvá-lo como. Vou
chamá-lo de Hello World. E vou mantê-lo na minha área de trabalho e me certificar de adicionar a extensão
que informa ao computador que
é um arquivo Python Permita que
o código VS acesse a pasta em que você está
tentando salvá-lo. Agora você tem um script
Python salvo. Um recurso muito legal que VS code tem é que
ele tem extensões. Para o nosso caso,
vamos querer baixar
a extensão
Python Eu já o baixei. Mas, no seu caso,
você pode ter visto uma mensagem pop-up sempre que
tentar salvar o arquivo py, recomendando que você
baixe a extensão Ou você pode simplesmente acessar a seção de
extensões pesquisar a do Python
e baixá-la E isso se aplicaria automaticamente aos seus arquivos
Python. Ok, então digamos que
temos nosso arquivo que salvamos nosso script que
salvamos e que devíamos
abrir o código VS e estamos
tentando encontrar esse arquivo. Agora, neste caso, podemos
ir aqui a seguir, tentaremos abrir uma pasta. Eu movo esse arquivo para
minha área de trabalho e depois para a pasta devel
na minha área de trabalho, que significa desenvolvimento E eu vou simplesmente
abrir essa pasta. Podemos ver que temos
essa guia de introdução, que podemos fechar, mas teremos a pasta
aqui à esquerda. E podemos simplesmente clicar
no arquivo que salvamos,
que é o nosso script. E abrirá
no editor de código. Agora, se quiséssemos
executar esse script, poderíamos ir ao nosso terminal. Então, vou fazer um terminal de espaço de
comando para abrir meu terminal. Então, teremos que
aprender alguns
comandos antes do terminal , que
serão muito úteis. O primeiro é
o comando PWD, que significa imprimir diretório de
trabalho O que isso faz no
terminal é que ele nos
diz exatamente onde estamos. Podemos ver que esse é o caminho
do arquivo até onde estamos. Estamos sob o nome de usuários Antonio Alamo e, em seguida, na pasta
desktop agora Depois, há também o
comando LS, que significa lista,
e lista os arquivos que
estão na pasta atual. Aqui podemos ver tudo o
que está embaixo da nossa área de trabalho. Isso seria o
equivalente a
entrar no Finder e dizer,
ok, vamos entrar no Finder e dizer,
ok, ver o que está em nosso E então vemos que
temos todos esses arquivos. Podemos ver o mesmo
em nosso terminal. Agora, outro comando útil
é o comando C D, que significa
alterar diretório. Para este, fazemos CD, depois criamos espaço e
anotamos o diretório para
onde queremos ir. Nesse caso, imagine que queremos entrar
na pasta devel Poderíamos dizer que os usuários
Antonio Alamo, desktop e depois devel, estou usando a guia para o
preenchimento das pastas Agora podemos pressionar Enter. E quando imprimimos o diretório de
trabalho, podemos ver que estamos
na pasta de desenvolvimento agora, quando fazemos LS for list, podemos ver os arquivos
que estão pasta atual e o diretório de
trabalho em que
estamos agora. Um comando ainda mais útil
para aprender é o CD. E então, em vez de
anotar o caminho absoluto do arquivo, que é isso, podemos
imprimir um comando relativo. Podemos dizer ponto final, ponto final. E, em seguida, pressione Enter, e isso significa ir para a pasta anterior. Agora você pode ver que, quando imprimimos
o diretório de trabalho, demos um passo atrás Agora estamos na área de trabalho
em vez da pasta devel, agora fazemos LS e
vemos a mesma coisa E então podemos voltar, mudar diretório para a pasta
devel e começar agora, porque você não precisa realmente
anotar o arquivo absoluto Você também pode gravar a pasta dependendo se ela estiver
no diretório atual Agora que estamos
na pasta devel, podemos fazer LS e
ver que
temos o script hello world Se quisermos executar esse script, basta executar o
seguinte comando, que é Python three space, e depois o script
que queremos executar E então, quando
pressionamos Enter, vemos que estamos
executando o script. E os comandos ou as linhas que estão sob esse
script são executados. E podemos ver o Hello world
impresso na tela. Na verdade, o Visual Studio
fornece esse serviço para nós. Podemos ir ao terminal
e clicar em Novo terminal e podemos
ver a mesma coisa. É um código VS do terminal quatro executa
especificamente o mesmo comando. Podemos imprimir o diretório de
trabalho e podemos ver que estamos
na pasta devel agora Se quiséssemos voltar uma etapa, poderíamos mudar o
diretório para o acima e ver
que estamos no desktop. Se fizermos o LS, podemos ver tudo o que está
embaixo da nossa área de trabalho. Poderíamos
voltar ainda mais se quiséssemos, mas também podemos
voltar ao nosso desktop, alterar o diretório e depois mudar o diretório novamente
para nossa pasta devel Outro comando útil é
limpar o comando simplesmente para limpar o terminal para
que possamos limpá-lo completamente. Em seguida, podemos executar o comando LS
novamente para ver se estamos em nossa
pasta devel e podemos ver nosso script hello world Do Se quisermos executar esse script, podemos simplesmente executar o Python novamente Três, olá mundo. E podemos ver o hello world
impresso na tela, tudo dentro do código VS. Finalmente, a última maneira que
veremos sobre como executar esse arquivo é usando
uma função de código VS, que é apenas clicar no botão
play aqui na parte superior, no canto superior direito da tela. E você pode ver que o script
hello world é executado. Podemos tentar isso de novo, limpar a tela e
dizer o botão play. E então podemos ver
que o script é. Então, isso servirá para a seção de
aprendizado de hoje e estamos prontos para prosseguir
com a recapitulação Aprendemos que precisamos ter mente
aberta se
quisermos aprender rápido uma mente
aberta se
quisermos aprender rápido
e que precisamos fazer muitas perguntas e entender
a importância
das perguntas
e como as perguntas são a resposta Também instalamos o Python three em nosso computador, e também o Python e o Visual Studio
Code O Visual Studio Code
é o editor de código. Por fim, executamos nossos
primeiros comandos em Python usando a função print Agora vamos passar para
a seção de compreensão. A seção de compreensão de
cada dia será onde aprenderemos
de forma prática. Vamos fazer
perguntas aqui, vamos ter
alguns exercícios podemos fazer com nosso Python E agora, por hoje, a primeira é como as
perguntas são respondidas. Então, eu quero que você
responda a essa pergunta e pense sobre ela. Em seguida, quero que você imprima a
versão do Python que você
instalou na tela
usando o terminal Em seguida, imprima seu nome usando o interpretador
padrão do Python Isso seria usar
a função de impressão
e, em seguida, imprimir seu nome e
outras palavras usando Python Por fim, imprima seu nome
executando um script com
a extensão py. Eu recomendaria usar o código
VS para isso e
salvar esse arquivo. Isso vai ficar por hoje, pessoal. Muito obrigado a todos por assistirem. Lembre-se de que, se você
tiver alguma dúvida, publique-a nos comentários abaixo para que a comunidade possa ajudar. E te vejo de
volta aqui amanhã.
4. Dia 1 - Instale Python (Windows - Novo): boas-vindas ao meu amigo para aprender Python em 30 dias.
E hoje é o primeiro dia. E hoje temos
alguns objetivos e o principal deles
será a instalação. E este vídeo é
especificamente para a instalação do
sistema operacional Windows. Assista a isso se estiver
trabalhando no Windows e se tiver um sistema
operacional Mac, você pode assistir ao
vídeo equivalente que você verá na
lista de vídeos que diz
instalação Então, olhando para os
outros objetivos, temos que examinar o
maior obstáculo ao aprendizado Precisamos entender
qual é o maior obstáculo ao aprendizado para que
possamos enfrentá-lo E também
vamos entender como são nossas perguntas, a resposta. Em seguida, vamos começar a
instalar o Python e o que precisamos
para facilitar nossa vida Então, algumas outras coisas
que precisaremos instalar. E, finalmente, vamos terminar verificando
a instalação e imprimindo nossos primeiros comandos
na tela Vamos passar para a seção
de aprendizado. Ok, o maior obstáculo para aprendizado é a crença de
que você já sabe disso E isso é um sentido dizer que, uma vez que diminuímos a barreira de pensar que
já sabemos alguma coisa, abrimos nossas mentes para
aprender coisas novas. Em seguida, precisamos
saber que precisamos ter a mente aberta
para aprender Porque a mente só funciona quando está aberta.
É como um paraquedas É muito importante que
continuemos fazendo perguntas. Se você tiver dúvidas
durante o curso, escreva-as,
pois é muito provável que respondamos a essas perguntas posteriormente
durante o curso. Outra vantagem de fazer perguntas é que, ao
fazer uma pergunta, você prepara sua mente para
buscar as respostas. Sempre que as respostas surgirem, você estará muito mais
preparado para absorvê-las. Pense que a crença
limitante desse elefante é que ele não consegue soltar a perna porque falhou
quando era pequeno, mas nunca mais questionou
essa Mesmo depois de ter se fortalecido
o suficiente para se
libertar fazendo perguntas constantemente em vez de nos contentarmos com respostas, é mais provável que
quebremos as crenças limitantes Se você já pensou que
não consegue aprender a programar, esse é um bom momento para começar a
questionar essa crença Porque o que acontece com seu cérebro quando você faz uma pergunta? Ele se envolve com a
pergunta imediatamente e começa a pensar em possíveis respostas naquele momento Isso significa
que podemos pensar nas perguntas como respostas ao vivo
no momento presente. Por outro lado, depois de
atribuir uma resposta a uma pergunta e considerá-la
pelo valor nominal a partir de então, a resposta fixa
pode
impedir que você veja mais
da imagem completa. É por isso que as perguntas
são a resposta. Portanto, tenha isso em mente e vamos
prosseguir com a instalação. Para baixar o Python,
abriremos nosso navegador e
procuraremos o download do Python Estamos procurando o site
Python dot.
Aqui está, logo abaixo
da seção de downloads Vamos clicar aqui embaixo, abaixo de Baixar para Windows E isso fará
o download de um arquivo, que abriremos
assim que terminar de carregar Isso iniciará
a instalação. Vamos marcar
essa caixa onde diz Add Python two path Vamos clicar em Instalar. Agora, uma maneira de carregar isso. E então podemos fechar isso. E agora temos o Python
instalando um computador. A próxima coisa que vamos
fazer é
abrir nosso aplicativo de
prompt de comando. Este aplicativo funciona como um terminal entre
nós e o computador. O terminal é muito útil quando queremos interagir com nosso computador por meio do
uso de comandos escritos. Aqui podemos operar com arquivos e
navegar pelas pastas. Podemos usar nosso
terminal para isso. Uma coisa para a qual podemos
usar o terminal é verificar se você
instalou o Python corretamente Para isso, vamos executar
a versão Python, e isso imprimiria a versão do Python que temos Outra coisa que
você pode fazer com seu terminal é
executar o Python Para fazer isso,
basta inserir Python. E insira o que isso
faz é simplesmente abrir o interpretador
padrão do Python E esse intérprete
é chamado de repelir REPL, que significa ler,
avaliar, imprimir loop Isso significa simplesmente
que o ambiente lerá e avaliará nossos comandos e, em seguida, os
imprimirá na tela.
E faça isso em um loop. A primeira função e o primeiro comando que
aprenderemos em Python é
a função de impressão Para isso, basta escrever a
impressão entre colchetes redondos abertos e depois entre aspas E você pode usar aspas simples ou duplas,
como preferir. Aqui você escreve um texto. Nesse caso, estamos
escrevendo Hello World. Em seguida, você fecha a cotação e, em seguida, fecha o colchete
redondo Ao pressionar Enter,
você verá hello world ou qualquer texto que você colocar
na função de impressão
impresso na tela. Finalmente, quando queremos sair do interpretador padrão do Python
no ambiente, simplesmente escrevemos quit
e
arredondamos os colchetes
e pressionamos colchetes
e A próxima coisa que
vamos instalar será o Python E o Python é simplesmente outro Repl e outro ambiente Python Muito semelhante ao ambiente
padrão do Python, mas tem mais funcionalidades E é uma versão aprimorada desse ambiente padrão. Para instalar o Python,
vamos usar o pip. E o comando
é o seguinte. Será instalar o Python. O que é pip é que ele é
um gerenciador de pacotes Python. Ele gerencia módulos que podemos baixar da Internet
para o nosso computador. E analisaremos os módulos posteriormente no curso. Então, quando pressionamos
Enter, vemos que ele é baixado
em nosso computador. E agora, para executar o Python, basta digitar Python no terminal
e pressionar Enter E isso abriria o ipython. E agora temos outro ambiente Repl
semelhante a um
ambiente padrão, como mencionei E podemos usar a mesma função de
impressão de antes. Então anote print hello world, Enter e veremos hello
world impresso na tela. Em seguida, para sair do Python, basta digitar
Quit e Enter, e isso o levará de
volta ao seu terminal A terceira e última coisa
que vamos
baixar será o código do Visual Studio. Para isso, pesquisaremos, baixaremos o
código do Visual Studio ou o código VS. Em seguida, entraremos
no
site VisualStudio.com e
procuraremos Em seguida, faremos o mesmo que baixar
qualquer outro aplicativo. Simplesmente clicaremos
nesse arquivo que
baixamos e ele
iniciará o instalador. Clicaremos em Aceitar
o contrato. Clique em Avançar e, em
seguida, clique em Avançar. Em seguida, novamente e, finalmente ,
instale e aguarde a
conclusão da instalação. Agora temos o código VS
instalado em nosso computador. Depois de entrarmos no código do VS, podemos fechar a guia
Começar e clicar em Arquivo, Novo arquivo. Isso nos levaria a
um arquivo de texto padrão. E podemos simplesmente escrever o mesmo código que escrevemos
no interpretador Python Imprima olá mundo. Em seguida, podemos clicar e
dar um nome ao nosso arquivo. E certifique-se de
salvá-lo como um arquivo, o
que dirá ao computador
que será
um script Python Depois de salvar o arquivo, o
VS code
perguntará se você deseja baixar a
extensão para Python, vamos instalar nela E isso vai levar um segundo. Em seguida, você tem a
extensão instalada. Essa extensão será
útil para nós quando escrevermos código em
Python porque
você terá alguns recursos que facilitarão a gravação
de código Agora, digamos que
você esteja abrindo código
VS do zero
e queira
encontrar seu arquivo de pontos hello world. O que fazemos é abrir a pasta, clicar e abrir a pasta
e olhar a pasta onde a
temos para mim. É a pasta do diabo
para desenvolvimento. Eu abro essa pasta e
você pode ver à esquerda você tem o explorador com
essa pasta e o conteúdo. E à direita você
tem o editor. Agora que clicamos
em nosso arquivo hello world, podemos vê-lo no editor E se quiséssemos
executar esse arquivo? Uma opção é abrir
o prompt de comando e aprenderemos alguns comandos super úteis
para o prompt de comando. O primeiro comando é CD, que significa
alterar diretório. Se você inseri-lo sozinho, ele fornecerá o diretório
atual
ou imprimirá o diretório de trabalho. Mas se você abrir espaço no CD e
depois em uma pasta diferente
, você será direcionado para essa pasta. No meu caso, o arquivo helloworld está na pasta de desenvolvimento Eu
mudo o diretório para a pasta
de desenvolvimento dentro daquela em que
eu estava atualmente. Isso me move para a
pasta que eu quero. Outro comando seria
o IR for directory, que listará o conteúdo
do diretório atual. Aqui podemos ver que temos o arquivo helloworld e a pasta de arquivos de texto E é a mesma coisa
que vemos no código VS. Se quiséssemos ir para
a pasta de arquivos de texto, poderíamos alterar os arquivos de
texto do diretório e, em seguida, fazer DIR, podemos ver que temos
alguns arquivos de texto e é a mesma coisa
que vemos no código VS. Outro comando seria o CD. Ponto final. Ponto final. E isso o levará um passo atrás na estrutura do arquivo Você voltaria para
a pasta devel. Como sabemos que
o script que
queremos executar está nessa pasta, podemos usar o comando python space e depois o nome
do arquivo que queremos executar E pressione Enter, e podemos ver que isso
executará o script. Um último comando muito útil
é um comando CLS que
limpa a tela Também acontece que o
código VS tem um terminal embutido. Como recurso possível, podemos clicar no Terminal e
depois abrir o terminal. Isso funcionará exatamente
como o prompt de comando. Podemos usar o CD, podemos mudar o diretório
para a pasta de arquivos de texto. Podemos fazer DIR para
ver o que há nele. Podemos voltar uma pasta. Podemos fazer DIR para
garantir que voltemos. E então podemos usar
um comando Python para executar nosso script E, finalmente, há
uma maneira ainda mais simples de
executar o script, que é clicando no botão
Exibir no canto superior direito da E você vê que o script
foi executado na parte inferior. Isso servirá para a seção de
aprendizado de hoje e estamos prontos para prosseguir
com a recapitulação Aprendemos que precisamos ter mente
aberta se
quisermos aprender rápido uma mente
aberta se
quisermos aprender rápido
e que precisamos fazer muitas perguntas e entender
a importância
das perguntas
e como as perguntas são a resposta Também instalamos o Python three em nosso computador, e também o Python e o Visual Studio
Code O Visual Studio Code
é o editor de código. Por fim, executamos nossos
primeiros comandos em Python usando a função print Agora vamos passar para
a seção de compreensão. A seção de compreensão de
cada dia será onde aprenderemos
de forma prática. Vamos fazer
perguntas aqui, vamos ter
alguns exercícios podemos fazer com nosso Python E agora, por hoje, a primeira é como as
perguntas são respondidas. Então, eu quero que você
responda a essa pergunta e pense sobre ela. Em seguida, quero que você imprima a
versão do Python que você
instalou na tela
usando o terminal Em seguida, imprima seu nome usando o interpretador
padrão do Python Isso seria usar
a função de impressão
e, em seguida, imprimir seu nome e
outras palavras usando Python Por fim, imprima seu nome
executando um script com
a extensão py. Eu recomendaria usar o código
VS para isso e
salvar esse arquivo. Isso vai ficar por hoje, pessoal. Muito obrigado a todos por assistirem. Lembre-se de que, se você
tiver alguma dúvida, publique-a nos comentários abaixo para que a comunidade possa ajudar. E te vejo de
volta aqui amanhã.
5. Dia 2 - Variáveis: boas-vindas ao meu amigo no segundo dia, e vamos começar
com os objetivos de hoje. O primeiro será que
vamos examinar variáveis Python. Em seguida, vamos
examinar uma chave para aprender do que objetos Python. E, finalmente, vamos
conhecer nosso novo melhor amigo. Mas, por enquanto, esse salto
direto para uma seção de aprendizado. Neste gráfico, vemos um
gráfico de progresso ao longo do tempo. Podemos ver que nossas
expectativas tendem a ser lineares enquanto a realidade
é exponencial. No começo, a realidade pode ser mais lenta do que
nossas expectativas. E isso é o que estamos chamando o valor da decepção. E você pode ler
mais sobre isso no livro
James sente hábitos atômicos. Agora, a maioria das pessoas desistiu
nesta fase antes de perceber
que o aprendizado pode ser exponencial e que,
eventualmente, a realidade supera
drasticamente
as expectativas. A consistência é importante
porque sem ela, não
superaríamos o
valor da decepção. É por isso que um Q-learning é consistência sempre volta
porque os incrementos diários se
compõem ao tempo e levam a um crescimento
exponencial a longo prazo. Se cada dia você melhorou 1%, isso significaria uma melhora de mais de
37 x após um ano. E se eu dissesse que você
poderia criar hábito com esses esforços de tamanho mordido e fazê-los se sentir como uma cueca e até acabar desfrutando deles. E é isso que pretendo
fazer com este curso, para mostrar que
aprender pode ser divertido e que podemos crescer a cada dia
aproveitando o processo. O grande problema de não ser consistente é que, se você
decidir não voltar, você não colherá
as recompensas do que viu. Seria como
fazer todos os esforços para plantar e cultivar uma macieira. E agora voltando
para coletar as maçãs. No curso, estamos
começando lentamente propósito e
aceleraremos progressivamente a cada dia. Se você acha que isso vai devagar ou se está
achando muito difícil, lembre-se de que é pretendido
e que os esforços de tamanho mordido mais a consistência do paciente são iguais a um crescimento
exponencial a longo prazo. Sem mais nada a
acrescentar sobre isso hoje, vamos passar para variáveis. Agora, entraremos no tópico
Python de hoje. Vamos entrar em variáveis. Uma variável é simplesmente um local de memória reservado
para armazenar um valor. Isso é o que é uma variável. E nós damos um nome
amigável variável para nos ajudar a saber que tipo de valor elas
armazenam variáveis nos permitem
obter um valor e nos
referir novamente mais tarde,
apenas referindo-se ao nome
da variável para olhar para isso e
deixando o terminal deles aqui. O que eu fiz foi o Command Space e , em seguida, basta digitar o terminal e ele me leva a um aplicativo de
terminal. Ninguém faz o Command Plus,
Plus, Plus algumas
vezes apenas para
torná-lo mais visível, não linear,
vou para o iPython. Limpe a tela só para que
não tenhamos nada lá dentro. Incrível. Então, para declarar variável, usamos o sinal de igual. Se eu quiser dizer minha
variável, por exemplo, e eu quiser dizer, esse é o valor. Agora, sempre que me refiro, sempre que me refiro à minha variável, ela fará referência
ao valor que ela está nessa variável e
armazenará nessa variável. Digamos que eu queria encontrar
variável com meu jogador. Então, se eu fizesse isso, meu jogador, eu poderia imprimir Ronaldo
diria Rinaldo. Agora digamos que eu queira
atribuir o valor. Quero mantê-lo
na mesma variável. O que eu quero mudar o valor que tenho nessa variável. Vou simplesmente reatribuí-lo. Bagunçado. Vamos apenas dizer que
meu jogador está bagunçado. Então, sempre que eu imprimo
meu player novamente, então ele vai dizer confuso, que é o novo valor
anexado a essa variável. E se tentássemos fazer referência a uma variável que
ainda não definimos? Porque sabemos que no meu
jogador já está definido. Mas digamos que tentamos
algo como meu var. O que você acha que
aconteceria aqui? Sempre que tentamos fazer
algo assim, receberíamos um erro porque ainda não o
definimos. Isso é o que uma área, é
isso que quero dizer que você conheceria
seu novo melhor amigo. E estou dizendo que
seu novo melhor amigo nossos erros só porque
sempre que você recebe um erro, isso significa que você está empurrando sua zona de conforto e está
aprendendo algo novo. Você quer, você quer
falhar em dizer, para vir e dizer, Ei, você está falhando nisso porque você está tentando
aprender algo novo. É assim que lemos lá
e obtemos o tipo de erro, que é um
erro de nome neste caso. Em seguida, recebemos a
mensagem de erro que tem o nome MyVar não está definida. Então, é assim que
lemos esse erro. E analisaremos os erros mais
detalhadamente mais adiante neste curso. Mas eu só queria
apresentar-lhe o seu novo melhor amigo que
lhe diz que você está
empurrando sua zona de conforto, que você está aprendendo
algo novo. Mas outra coisa que
vamos analisar hoje. Que tudo em
Python é um objeto. Aprenderemos mais sobre isso
ao longo deste curso. Mas hoje, tudo o que você
precisa saber é que cada objeto tem uma identidade. Quero dizer, o objeto tem um tipo, haverá objeto tem um valor. O importante sobre as identidades que,
uma vez que um objeto é criado, a identidade não muda. Para examinar a
identidade de um objeto, usamos a função ID. Ou seja, geralmente é assim. Estamos olhando para o que é
uma função em um pouco e, em seguida, outro dia
ao longo deste curso. Mas a parte importante aqui é que vamos ver como
temos uma variável, variável uma apenas igual a uma. Queríamos ver o
ID da variável um. Nós faríamos, faríamos a
variável ID um e isso
nos daria o número
de id dessa variável. Podemos pensar nesse número como o endereço em memória
disso, dessa variável. Mas, por exemplo, se
digamos que quiséssemos
criar outra
variável, variável dois, e quiséssemos, poderíamos
configurar isso igual a uma variável. O que aconteceria
se fizermos referência à variável ID, variável dois? Nós obteríamos o
mesmo número mesmo se estivermos olhando para um nome de variável
diferente, ambas as variáveis estão fazendo referência
ao mesmo objeto que está localizado neste nome de
ID. As variáveis estão fazendo referência ao mesmo objeto. Podemos usar um operador
chamado operador. Por exemplo, em vez
de ter que verificar cada ID individual e ver se estamos recebendo
o mesmo número de volta. Poderíamos fazer a variável um. Variável dois. Vamos obter um retorno de
valor, o que será verdade se eles estiverem fazendo referência
ao mesmo objeto. Só queria ser
falso se eles
não estiverem fazendo referência ao mesmo objeto. Por exemplo, se eu
criar uma terceira variável dizendo essa string de encolhimento, e então eu dissesse que
uma variável é a variável três, nós ficaríamos falsos. Mais uma vez. Vamos examinar esses tipos de variáveis
mais adiante neste curso. Mas, por enquanto, a parte importante é esse operador
para entender que o ID é praticamente parecido com um número exclusivo
para cada objeto. E você pode pensar
no BID como sendo o endereço exclusivo na memória do objeto que
você está referenciando. Já sabemos como
olhar para a variável ID, como observar o valor
de uma variável como esta. Então, variável um, variável
dois, variável três. Agora vamos
analisar como
examinar o tipo
da variável. E isso é simplesmente
usando a função type. Nós fizemos a variável de tipo um
obteria qual é o tipo, o mesmo para variável
para o que
é o tipo e o mesmo para a variável
três, qual é o tipo. Agora vamos
investigar isso mais tarde. Por enquanto, podemos ver
que os
dois primeiros são int para inteiro, e a terceira variável
é STR, ou string. E novamente,
vamos investigar isso mais tarde
durante todo o curso. Mas, por enquanto, é
importante procurar
entender que
a função type retorna o tipo do
objeto que estamos passando. E, finalmente, vamos falar um
pouco sobre nomes de variáveis. Nomes de variáveis diferenciam
maiúsculas e minúsculas e, por convenção, todos
são min Eles devem começar com uma letra
e podem conter números, mas não como o primeiro caractere. Você também pode usar um sublinhado. Alguns exemplos de nomes de variáveis são os que já
usamos, ou digamos que o nome possa
usar esse nome var. Você pode ver o
valor de retorno que você pode usar também como sobrenome como um exemplo
de um nome de sublinhado. Você pode fazer animal, país 123, qualquer que seja, qualquer
número que você possa simplesmente, a única coisa que você não pode
fazer isso começa com um número. Por convenção, comece com letras e com pontuação mais baixa. Então, um aprendizado de Cuba
lembra é consistência. Sempre volte porque você
ficará surpreso se você ficar com ele. E queremos ter
certeza de que passamos por esse vale
de decepção. E a única maneira de fazer
isso é sempre voltando. Em seguida. Aprendemos que tudo
em Python é um objeto. E a ótica tem um tipo e IDs exclusivos e
um valor também. Você pode descobrir qual é
o tipo e qual é
a ideia com
essas duas funções. Útil, então as variáveis são simplesmente rótulos que apontam para um objeto que mora em
algum lugar da memória. E você pode usar o operador is
para ver se duas variáveis apontam para o mesmo objeto.
Isso é o que falamos. Se eles tiverem os mesmos IDs, isso significa
que eles são
o mesmo objeto, então você pode usar
o período de exaltação ou examinar isso também. Também aprendemos
que as variáveis diferenciam maiúsculas de minúsculas e todas
minúsculas por convenção. E eles começarão
com uma letra e podem conter um número, mas não como um primeiro caractere. E, finalmente, aprendemos que o
fracasso é seu melhor amigo. E se você não está falhando, isso significa que você não está
empurrando seus limites. Você quer ter certeza de
que está vendo que os erros vermelhos surgem porque isso realmente
significa que você está aprendendo algo novo e
isso é realmente ótimo. Seção de entendimento de hoje. A primeira é o que é uma chave para aprender? A segunda pergunta é definir variáveis
diferentes e
imprimi-las na tela. Terceiro é usar o operador is para ver se duas variáveis
são as mesmas. Então, finalmente, use as funções ID e type para obter o ID e o tipo de
objetos, respectivamente. E tente isso com uma
string como esta, e com um número como este. Essas são as quatro perguntas para hoje. E boa sorte com isso. E se você tiver alguma dúvida, não
hesite em perguntar
na seção de bate-papo e estaremos ativos lá
com uma comunidade lá. Boa sorte e te
vejo amanhã.
6. Dia 3 - Cordas: Bem-vindo ao terceiro dia. O primeiro objetivo para
hoje é olhar
para a curva de esquecimento e por que
fazemos sessões de tamanho mordido todos os dias. Em seguida, vamos
examinar strings, índices de
string,
strings e variáveis. E, finalmente,
vamos analisar como imprimir cordas
na tela. Acontece que
existem estudos que dizem que
esquecemos entre 70, 80% do que aprendemos dentro de
24 horas após o aprendizado. É por isso que fazer um exame, aprender tudo
naquele dia
antes, fazer uma noite inteira e depois dividir
tudo no exame pode parecer funcionar
para o exame. Mas você pode notar
que a maior parte do que aprendeu simplesmente desaparece depois. Felizmente para
nós, estamos aprendendo da maneira inteligente aqui, pois sabemos como podemos esmagar a curva de
esquecimento e fazer o que aprendemos ficar. Podemos aprender de forma muito mais eficaz revisitando
o conceito que
aprendemos várias vezes em períodos
cada vez mais longos. Isso é o que se chama repetição
espaçada, e é por isso que este
curso é estrategicamente projetado da maneira como
são 15 minutos de aprendizado
deliberado e focado a cada dia durante 30 dias é consideravelmente melhor do que o equivalente
7,5 horas em um único dia, o que seria abarrotado. Cramming não é eficaz porque seu cérebro
não absorve. E lembre-se de quase tanta informação
em comparação com
as sessões
espalhadas por um pequeno tamanho. Quando você revisita onde
aprende ao longo do tempo, seu cérebro considera
essa informação como importante e fortalece as conexões neurais
relacionadas a esse aprendizado com o objetivo de
facilitar o trabalho e reduzindo o trabalho. Da próxima vez que ele
aparecer, pense nisso. Neurônios que disparam
juntos, ligam juntos, mas isso só acontecerá depois de algum
descanso e recuperação de qualidade. Isso significa que se você aprender algo hoje
e depois voltar outro dia logo
depois de dormir bem, comer bem, relaxar
e se exercitar. Você notará como, quando
voltar, está fazendo as coisas consideravelmente
melhor do que da última vez. E agora vamos passar
para cordas. Strings são objetos destinados a
representar texto em Python. No exercício anterior, onde quer que as variáveis de texto
que atribuímos, aquelas que são todas strings. Para criar uma string, podemos usar simples
ou aspas duplas. Por exemplo, podemos dizer
string um igual a dois. É uma string. Isso seria com aspas
simples. Podemos ver que atribuímos essa
variável para transmitir uma. Poderíamos fazer força também. Esta é outra string com aspas duplas e podemos
usá-la da mesma maneira. Então, é a mesma coisa. ver os diretores
e outras cordas. Apenas certifique-se de
manter de tal forma
que, se você usar
algumas aspas simples, mantenha-as consistentes em seu código. Se você estiver usando aspas duplas, mantenha-o consistente
com o que se você quisesse usar aspas
dentro de uma string? Digamos que você queria
salvá-lo com a palavra seu. Você coloca STR, string um. Digamos que você faça isso. Você vê que isso não funciona porque as coisas que você está perto na string. Então, para evitar isso,
podemos fazer isso funcionar. Podemos simplesmente adicionar
o caractere de escape, logo antes de eu citar
nós Python e ele escapará, essa citação, não a
levará em conta. E então,
ele usaria como um literal de texto e
adicionaria à sua string. Sempre que
imprimimos uma corda, podemos ver que é Seu. Também poderíamos usar aspas duplas para evitar mesmo ter
que usar uma barra invertida. Então poderíamos dizer corda um, seu igual ao seu. E dessa forma. Você também pode obter o mesmo resultado sem precisar usar o caractere de
escape. Mas e se você tivesse uma
cotação dentro de uma cotação? Por exemplo, se você disser, eu disse, você é o melhor, então, neste caso, você
precisaria de um próximo e caráter. Você precisaria de uma barra invertida aqui. Então, quando você imprime uma string, você obteria a string que pretende obter. Ela disse: Oi, Você é o melhor. Agora vamos falar sobre
indexação de strings por um segundo. Isso é sim, Por
exemplo, você tem um país que tem uma string, Nova Zelândia. Nova Zelândia. Agora, você pode chamar
cada, cada letra da string será um
índice nessa string. Você disse país e
vai chamar o índice com o formato de
colchetes. Então, se você diz país. É 0. Indo referenciar esse índice Z com a
referência 0 nessa string. Nesse caso, é Dn porque
é um país de referência baseado em zero. Vamos fazer uma única amostra
acima de uma referência. Você obteria o próximo índice. Se você tiver terminado três, o próximo que é
um espaço, e assim por diante. Você também pode até usar índices de índice
negativos. Temos nossa variável,
país, que tem a Nova Zelândia. Bem, se
fizermos referência ao país, menos um,
o que você espera
obter daqui? Exatamente? Então, obteríamos o
último, o último número. Se fizermos menos dois, obtemos o segundo último. Portanto, é uma forma de
começar do final. Quando sabemos que poderíamos usar um 0 para obter o primeiro valor, então poderíamos ir
menos um e assim por diante. Onde poderíamos ir
mais um e ir. Pensei na próxima citação do início ao fim ou
do fim ao início. Também é útil
saber que podemos atribuir essas duas
variáveis se você souber, se você tiver país, digamos primeira letra. Essa é minha nova, minha nova variável. E então eu poderia
dizer, ok, país. Como estamos
procurando a primeira letra, queremos que ela seja, seja o índice 0. Então temos referências à letra, que é n. Quando
olhamos para o país, Nova Zelândia, perfeita, é exatamente
isso que
estamos procurando. Incrível. Então foi isso para a sessão de aprendizado de
hoje. Agora vamos fazer uma recapitulação. Aprendemos pela primeira vez que esquecemos maior parte do que
aprendemos quando acabamos aprender uma vez que mostrei
pela curva de esquecimento no
gráfico que mostrei a vocês. Mas podemos esmagar essa
curva de esquecimento implementando repetição
espacial
em nosso aprendizado. E é exatamente isso que
estamos fazendo neste curso. Em seguida, queríamos a força
interior. Vimos strings são objetos
que representam texto em Python. Você pode usar aspas simples ou aspas
duplas para
criar strings. Apenas seja consistente
para manter seu código. Em seguida, para adicionar
aspas dentro da string, podemos usar para
manter o caractere de escape, ou também chamado de barra invertida. Strings têm índices, começam
em 0 para o primeiro caractere. Você pode usar
índices negativos para escolher os últimos caracteres e a
partir do último e assim por diante. Você pode atribuir essas strings a variáveis e, em seguida,
você pode imprimir
essas variáveis na tela
usando a função de impressão. Doce. Então, agora estamos prontos para a
seção de entendimento para hoje. Agora, a primeira pergunta é como esmagarmos a curva de
esquecimento? Em seguida, atribua uma string
com o texto que sou programador a uma variável
chamada myString one. Atribua o mesmo Texas antes
à variável MyString para, mas alterne as
aspas usadas. Você usa single, usa um
duplo e vice-versa. A quarta pergunta é imprimir ambas as cordas na tela. Imprima o tipo e o
ID de cada string. Use o ACE operado. Descubra se a variável
aponta para o mesmo objeto. A quinta pergunta é criar uma variável
chamada myString três. Eu atribuo esse novo rótulo, o objeto dentro da variável myString um da etapa um. Dica que não há necessidade de escrever nenhum texto ou usar aspas aqui, apenas nomes de variáveis e
o operador igual. Em seguida, a pergunta final é imprimir todas as três variáveis
da etapa 124 para a tela e imprimir
seu tipo em ID e compará-las entre
si usando o operador. Anote todas as perguntas
que você possa ter e
que possa ter surgido e consulte-as
com seu travesseiro esta noite. Dez revisarão isso amanhã. Você também pode usar o bate-papo novamente. Você pode usar a seção
da comunidade para fazer qualquer pergunta e
estaremos ativos lá. Boa sorte e
te verei novamente amanhã.
7. Dia 4 - Funções (1/2): Bem-vindo ao Day para
os objetivos de
hoje são sobre aprender sobre funções
hifenizadas. Examinar as funções
internas do Python. Estamos procurando funções
definidas pelo usuário. E, finalmente, entrelaçado com tudo o que estamos olhando
para que código bloqueia nossa função é
simplesmente uma referência a algum código que será executado sempre que
você chamar essa função. Pense em uma função de
forma semelhante a uma variável. Depois de definir a função
e dar um nome a ela, você poderá usar esse nome posteriormente
para chamar essa função. Então, em outras palavras, você chama
uma função pelo nome deles, e isso executaria o
código dentro dessa função. Existem algumas
funções que
já foram incluídas no Python, e não precisamos definir
essas funções nós mesmos. E essas são chamadas de funções
internas. exemplo perfeito de
uma função incorporada é a função de impressão, que você passa em uma string e
ela a imprimirá na tela. Mas você precisará definir o que a
função printf fará. Isso significa que a impressão
é uma função incorporada. Outros exemplos de
funções internas são amostrados. A função Len. Deixe-me definir uma string primeiro. Posso usar a função Len para descobrir o comprimento de
tudo o que estou passando. Então você pode passar em
uma string, você sabe, passar isso lhe dirá sete porque
há sete caracteres. Indústria. Outros exemplos de funções
internas ou da função type. Já falamos sobre isso antes. Então ele me diz, ok,
É uma string de tipo, o objeto que está
nessa variável. Também podemos ter a função BID, como mencionamos anteriormente também. Isso informa o equivalente
à localização na memória dessa variável,
esse objeto, desculpe. Então também podemos ter
suas duas novas funções que podemos usar que
são úteis para depurar, que são a função
que significa diretório. Entenderá o que essa saída significa mais adiante neste curso. A função de
diretório querida e querida. E depois há também
a função de ajuda. A função fornece a
você, não lhe dá documentação. Portanto, neste exemplo
para essa variável, não
temos nenhuma
documentação para isso. Mas podemos, podemos usar
a função de ajuda
também para depuração para, você pode encontrar toda a função
interna do Python
simplesmente procurando essa documentação
on-line. Vamos ver as funções
internas do Python. E aqui vai você.
Aqui eu tenho uma lista do que eles são
e o que eles fazem. Então, por exemplo, se
fomos para a função de impressão, obteremos uma descrição detalhada do que a
função de impressão dólares. Podemos criar nossa própria função usando a sintaxe a seguir. Você pode usar DEF para definição de
def. E então você tem
o nome da função. E chamaremos essa
função de minha função. Em seguida, use os
suportes redondos e depois dois pontos. Quando você pressiona Enter, você verá que, se você estiver usando ipython, ele fará o
recuo para você, mas você precisaria adicionar recuo nesse
caso, é uma base forçada. E aqui, aqui seria o que o bloco de
código seria. O bloco de código de função. Então, sempre que faço referência a
essa função, esse é o código que seria executado. Nesse caso, estou usando a declaração passada porque não
quero que
a função faça nada. Eu só queria passar. Sempre que executo minha
função, esse código é executado. E simplesmente não
faz nada
neste caso porque
simplesmente passa função
não-quadrada que diz
oi e, em seguida, imprime o nome. Vamos fazer def. Diga impressão. Então, digamos que imprima. Corra para fora. Sempre que eu faço. Gravata de impressão. E você chama uma função
usando os colchetes redondos, você verá que
o código será executado. Nesse caso, você verá
que usamos os colchetes, mas não forneceríamos nenhum atributo para essa
função da mesma forma que
fizemos sempre que imprimimos
com a instrução print, fornecemos uma string. Para que ele imprima uma string. Podemos ver que sempre que
estávamos executando essa função que
definimos sem nenhuma, sem nenhuma variável, ela ainda executa o código
que a função possui. Opcionalmente, você pode adicionar fluxo de
documentos à sua função. Você faria isso assim. Você cria sua função. Então, logo abaixo,
você adiciona uma aspas triplas. Então essa seria
a string doc. Uma string doc. Considerando que para documentação. Se você usar sempre que criar funções dentro do seu código, seria útil
para quem tentar ler seu código para entender
o que a função faz. Isso funciona para
documentação novamente. Além disso, digamos que
quiséssemos usar uma função, mas queríamos ter
um valor que Garmin, que vá e vá
para essa função. Por exemplo, vamos colocar
um nome e um sobrenome. Primeiro, nome,
nome e sobrenome. E então vamos dizer
impressão. Vamos dizer oi. E depois primeiro, FirstName, LastName. Essa função fará o que
chamarmos Minha função. Podemos dizer, vamos dizer confuso. Então a função saberá que o FirstName é
um primeiro argumento, então o segundo nome é, o sobrenome é um segundo
argumento para essa função e você pode referenciar essas
variáveis dentro de sua função. Finalmente, como mencionei antes, você pode usar a
função de ajuda para ajudar uma função interna
a
examinar, examinar algumas das
variáveis que você tem. Nesse caso, é a função. Portanto, sempre que você usa
a função de ajuda, ela o leva a uma
tela e fornece o nome da função. O nome do atributo
é que uma função recebe. E finalmente, este
seria o fluxo de latido de cães,
a documentação. Se você tivesse alguma documentação
para sua função, não conseguiria vê-la através da função
interna de ajuda. E então, para sair daqui, você pressiona Q e ele o traz de
volta. Eu faço Python? Eu estava atrasado para a seção de
aprendizado. E agora vamos fazer uma recapitulação. Uma função é simplesmente
um bloco de código que será executado sempre
que essa função for chamada. E as funções são chamadas
pelo nome e usando colchetes redondos como este. Python tem funções integradas que estão sempre lidas
prontas para uso. Por exemplo, a função de impressão
é a primeira que aprendemos. Então temos a função
Len para obter o comprimento de um objeto. Você tem o
ID da função de tipo lá para o diretório. E, em seguida, a função de ajuda. Você pode ver a documentação do
Python para a lista completa de funções, que é o link que
mostrei antes. Podemos definir nossas
próprias funções
usando DEF e meu nome de função, colchetes
redondos e ponto-e-vírgula. E então o respectivo bloco de
código abaixo disso, onde você tem um bloco de
código recuado sob a função
f, que é um código que será executado. Também podemos apontar strings poderia essa função
usando aspas triplas. E então a função de ajuda, a função
interna de ajuda integrada nos
dá
informações úteis sobre diferentes objetos Python
que incluem funções. Então, para definir uma função
que recebe argumentos, podemos adicioná-los
à definição. Assim. Fazemos a definição
que você faz dentro do nome. E então, dentro dos
colchetes redondos, você adiciona os argumentos. E então você pode fazer
referência a esses argumentos dentro do bloco de código ou dentro da função
que você pode usar. Prateleira com você
entende seção. A primeira pergunta é usar uma lente e as funções
incorporadas de
impressão para imprimir o comprimento dessa string. A segunda é definida como
uma função chamada leitura que imprime qualquer
saudação na tela. Em seguida, defina uma função chamada add que aceita dois inteiros, adicione-os Princeton para excretar. E, finalmente, usado para ajudar a funcionar
incorporado em
suas duas novas funções. Se sua função
não tiver docstrings, docstrings students e execute a função de ajuda novamente
e veja a diferença. Mas incrível. Boa sorte com isso. E
se você tiver alguma dúvida, sinta-se à vontade para
perguntá-las no chat. E vamos nos certificar de estar
ativos na comunidade lá. Obrigado novamente e te
vejo amanhã.
8. Aula 5: Bem-vindo de volta. Meu amigo. Hoje é, na verdade, um dia de descanso. Estamos empurrando
nossos limites por alguns dias seguidos
hoje o que vamos
fazer é resolver o que aprendemos
e descansar um pouco. Quero que volte aos exercícios e tenha certeza que você internalizou
tudo o que aprendemos até agora. E, finalmente, eu só
quero lembrá-lo
das três chaves para um aprendizado
eficaz. Vimos até agora as
perguntas ou a resposta. Bem, sabemos que quando você
se torna radicalmente aberto, você começa a fazer
muito mais perguntas, o que começa a
levá-lo a respostas melhores, então é difícil ver o progresso
no início. Mas se você continuar
voltando e se for consistente
com a consistência, ficará surpreso com o que
você pode começar a alcançar. E, finalmente, vimos o
conceito de repetição de palco. Como podemos esmagá-lo
esquecendo a curva não apenas familiarizando-se
com os conceitos uma vez, mas agindo
sobre o que você aprendeu, espaçado ao longo do tempo. E dessa forma podemos fazer com que seja tomado, aprender de forma mais eficaz. Então é isso por hoje. Espero que você tenha um
bom dia de descanso para hoje e eu
te vejo de volta amanhã.
9. Dia 6 - Programação Orientada a Objetos (OOP) - Métodos: Bem-vindo ao sexto dia. Portanto, os objetivos de hoje
temos que ver o que é a mente do
iniciante. Sempre que
vamos examinar a programação orientada a
objetos, e
veremos que no Python tudo é um objeto. Em seguida,
veremos que os objetos podem conter dados, atributos e funcionalidades à medida que os métodos entram diretamente na sessão de
aprendizado. A mente do iniciante significa
abordar o aprendizado através uma nova perspectiva e ver as coisas como
um iniciante faria. Há uma sensação que
vai para a base. Obstáculo ao aprendizado é a crença de que você
já o conhece. Então, aproximar-se de aprender
com um novo par de olhos impede que você
enfrente esse obstáculo. Então, convido você a
voltar todos os dias a este curso com a mente de um
iniciante e assim você pode tirar o
máximo proveito dele. Também sabemos
antes que python é uma linguagem de
programação orientada a objetos. No Python, tudo
é um objeto, e os objetos podem conter
dados em todos os atributos e funcionalidades
por meio de métodos. Já vimos, sabemos
que objetos podem ter um tipo. Então, se criarmos uma
variável, uma que digamos, igual a essa string, podemos ver esse
tipo de variável um. Podemos ver que é uma
string porque é isso que atribuímos textos
dentro de aspas aqui. Se quiséssemos
imprimir a variável um, poderíamos ver o
valor desse objeto. Isso seria um
objeto e esses
seriam alguns dados
anexados a esse objeto. E é isso que a função de
impressão mostra, que podemos pensar nisso como
dados anexados a um objeto. Portanto, além dos dados
anexados a um objeto, podemos ver que os objetos também podem ter funcionalidade
por meio de métodos. Você pode pensar em um
método simplesmente como uma função que pertence
a um objeto para chamar um método que usamos a notação de
ponto combinada com a sintaxe que usamos para
chamar nossa função normal. Por exemplo. Por exemplo, seríamos
minha variável, meu método. Se tivéssemos, claro, definido uma variável chamada myvariable e um método
chamado meu método. Mas, para este exemplo,
vamos fazer isso, usar a variável um, que temos e sabemos
o que é uma string. Para a variável um,
poderíamos usar um exemplo de um método
de string chamado Upper. O que esse método faz é que
ele pega uma string e
retorna a string com
cada letra maiúscula. Outro exemplo é
o método title. Qual X maiúscula é apenas a primeira letra de
cada palavra na string. Finalmente, outro exemplo
é o método count. Há um erro porque
ele recebe uma entrada. Então, o método count
realmente recebe uma entrada, é o que queremos
contar nessa string. Então, neste caso, quero salvar
a letra I. E ela me diz um número dois. Número dois porque nossos
dois olhos e essa corda, esta corda, há dois olhos. Podemos ver a área que temos. Recebemos um erro de tipo com a conta, com a
mensagem. É isso. Count pega pelo menos um
argumento e 0 onde dado, foi assim que eu sabia que
precisava dar um argumento, assim
que eu mudei. E eu aprendi que o método count recebe
um argumento e ele retorna uma contagem de dois para essa entrada específica que
podemos usar para R1, podemos usar a função dir, que receberá um objeto e retornará uma lista de
todos os métodos que contém. Se fizermos isso
aqui para o VAR, podemos ver que temos
todos os métodos contidos nesse
tipo de objeto. Nesse caso, é uma string. Podemos ver a vacina, temos uma menor, que as mais baixas para
cada letra na corda. Temos a contagem quando
acabamos de usar também. Podemos ver maiúsculas também. Podemos ver todos os
métodos que ele possui. E, por enquanto, podemos ignorar
aqueles que começaram com dois sublinhados
examinarão isso mais tarde. Aqui podemos ver
todos os métodos que ele possui. Você pode usar como referência. Você pode usá-lo lá,
a função dir. Incrível. Então, agora vamos fazer uma recapitulação. Primeiro de tudo, aborde experiências com a mente de um
iniciante. Sempre haverá um
caminho que nunca percorremos antes e buscará esses caminhos e você nunca deixará de aprender. Em seguida, aprendemos que tudo
em Python é um objeto. Os objetos podem ter funcionalidade
por meio de métodos. Cada objeto tem um tipo, e podemos ver que usar a função type e cada tipo terá
métodos próprios. Os métodos são chamados
usando a notação de pontos. Então você tem o objeto
primeiro e depois o método com colchetes redondos D. Alguns métodos de string são capital
inferior, bom título, faixa
superior, lstrip, rstrip,
count, split, replace. Como mencionei antes, podemos usar uma
função dir para obter uma lista de todos os métodos em um objeto. Se tivermos alguma dúvida sobre
o que cada método ele faz, podemos examinar a
documentação do Python para eles. Mas vamos olhar neste
curso e o mais usado uma vez naqueles em que
você usaria mais, agora
temos a seção de
entendimento. O primeiro prompt é notar o que é aprender
Python pela primeira vez. E como você pode levar
essa perspectiva em suas
experiências do dia-a-dia? Próxima variável chamada MyVar e defina-a igual a
espaço, espaço. Descubra o que você
gosta de espaço, espaço, espaço e use a função type para obter o tipo de
objeto que ele é. Em seguida, você usa a
função dir para obter uma lista de todos os métodos disponíveis
para esse objeto. E use o
método de tira de pontos para remover os espaços em branco extras
da string e reatribuiu a nova
string ao meu VAR. Em seguida, use o método
replace para substituí-lo por espaços e
reatribua isso ao meu var,
geralmente títulos com letras maiúsculas inferiores e métodos
superiores para ver
as diferentes saídas. Incrível. Espero que você ache isso um pouco desafiador, mas
não muito desafiador. E se você tiver alguma dúvida, você sempre pode publicá-las
no chat e ele estará ativo
na comunidade lá. Obrigado novamente por assistir e te verei novamente amanhã.
10. Dia 7 - Concatenação de Cordas: Bem-vindo de volta. Hoje sete. Vejamos os objetivos de
hoje. Nós praticamente vamos
ver o que mais
podemos aprender com a
outra fonologia. Em seguida, vamos
examinar a concatenação de string e, finalmente, a formatação de string. Vamos entrar na seção de
aprendizado. Então, vamos voltar ao
ELF e à analogia por um segundo e lembrar que as
perguntas são a resposta. Então, toda vez que
você geralmente
se faz uma pergunta
com a mente de um iniciante, seu cérebro ganha vida
com novidade e você pode encontrar caminhos pelos quais
nunca percorreu antes. Você obtém uma
percepção mais precisa da realidade em comparação com a última vez que
você fez a mesma pergunta. Se você se contentar
com uma única resposta, então estamos fechando o toque no aprendizado porque as respostas
sempre serão um fragmento dessa
representação da realidade. Faça perguntas e
anote. Quando você faz perguntas específicas, você prepara sua mente para aceitar as respostas quando
elas aparecerem. Há uma parte
do cérebro chamada sistema de ativação reticular,
ou RAS, que atua como um
porteiro de informações. Sem isso,
ficaríamos sobrecarregados com a grande quantidade de informações que
temos ao nosso redor. Portanto, o RAS nos permite
concentrar nossa atenção. Então você pode pensar nessa
parte do seu cérebro como um dispositivo de exclusão e precisa dizer
o que procurar por ele. As perguntas vão
preparar seu cérebro para se concentrar nas respostas
quando elas aparecerem. É assim que você diz ao seu
cérebro o que procurá-lo. Ao longo deste
curso, você pode fazer perguntas como, por que estou aprendendo Python? E a resposta para isso
pode ser boa exercitar seu cérebro e fazer novas conexões
neurais, ou ganhar mais perspectiva
sobre como o mundo, o mundo digital que está ao nosso
redor funciona. Ou, eventualmente, encontrar
um emprego bem remunerado. Então, desenvolvedor,
são todos bons motivos. Então pergunte a si mesmo por que
você está aprendendo Python. Outra boa pergunta pode ser como posso usar esse novo
conceito que estou aprendendo hoje? Ou como posso aplicar
esses conceitos de
aprendizado acelerado a
outras habilidades na minha vida? Então, é bom ter
tudo isso em mente. E, por enquanto, vamos passar para
o tópico Python de hoje. Agora vamos olhar
para a concatenação de cordas. Isso significa simplesmente anexar strings umas às outras. Estamos adicionando cordas umas
às outras. Portanto, isso é simples como
apenas usar o sinal de mais. Por exemplo, você
pode usar essa string de
sinal de mais e, em seguida,
imprimi-la em uma string. Observe que não temos um
espaço dentro dele porque
não adicionamos espaços
entre as strings. Então, se
quiséssemos espaçar, precisamos adicioná-lo literalmente a uma corda para obter o espaçamento
impresso na tela. Você também pode ter variáveis impressas na
tela e concatenadas. Por exemplo, se
você tiver uma variável com um nome, você pode imprimir. E, em seguida, a variável, você pode ver como ela imprime. O que esperamos que isso aconteça. Também poderíamos usar
o operador estrela para imprimir a mesma
string várias vezes. Por exemplo, se
você fosse imprimir uma determinada string
várias vezes, você poderia simplesmente fazer o seguinte e você obteria
a string várias vezes. Uma coisa é notar
sobre a impressão de números inteiros, por exemplo, variável para, digamos que seja igual
ao número três. Se quiséssemos imprimir o número na tela concatenada com
outra string. Digamos que tentamos imprimir
isso, por exemplo, ele também satisfaz
isso. Digamos que tentamos
imprimir a variável na tela. Nós receberíamos um
erro, um erro de tipo, com a mensagem de que
só podemos concatenar string, não integer para uma string. Então está me dizendo que não podemos concatenar um int a uma string. Para o que isso significa é que
precisamos converter isso, esse inteiro em uma string
usando a função string. Agora podemos ver que o
imprimimos. Nós imprimimos dessa forma. Porque, por exemplo, sempre que
fazemos uma string de tipo, variável dois, vemos que é uma string de tipo porque a
convertemos em uma string. Seria equivalente a dizer tipo string para o número três. É uma string porque
convertemos a string
para o número três. Também podemos usar o método de string de
formato para concatenar strings. Por exemplo, vamos tomar essas
declarações como exemplo. Então, isso é uma string. E então, quando usamos o formato de ponto, chamando o método de formato, então dizemos formato.
Nós passamos isso. Passamos o valor para
o método de formato. Em seguida, o método de formato é
aplicado a essa string. E então, sempre que
executamos isso, vemos, ok, esta é
uma string formatada. Se eu tivesse dito aleatoriamente. Vemos que sempre que qualquer
método de formato inserido é inserido nos colchetes, também
podemos usar o mesmo. Você pode dizer que é
assim que você insere valor. Digamos qualquer valor, valor, outro formato de valor, e então podemos dizer 12. Vamos usar isso como exemplo. Isso imprimiria é
assim que você inseriria um valor um e o valor dois. Observe como não
precisamos mais usar o STR, a função STR
para transformar ou
converter a função STR
para transformar ou
converter o interior
em uma string, sempre que usamos uma string de
formatação, também
podemos usar referências dentro desses colchetes
dentro da string. Desta forma. Se dissemos que o segundo parâmetro
posicional é, se colocarmos um aqui. A primeira é, e
podemos colocar um 0 aqui, depois obter o formato e depois 12. Mais uma vez. Nós veríamos que o segundo
parâmetro posicional é dois. Eu tive um erro de digitação aqui, mas deve dizer se
T2 e o primeiro é um. Mais uma vez, podemos dizer primeiro. Dissemos aqui primeiro.
Segundo. dizer que o diâmetro é o
segundo e o primeiro é o primeiro. Então você pode ver, você pode fazer
referência por índices. Índices também se você especificar entre
colchetes, também
poderíamos usar um, o método de formato
para formatar o espaçamento. Então, pegue isso por exemplo, exceto impressão, e depois
passamos essa string específica. Em seguida, usamos o
método de formato e o passamos na string um, string dois. O que significa? Então, o primeiro número é o índice que vimos
no anterior. Então 0 significa que ele fará
referência a um. Então um aqui significa que
todas as referências aqui. Em seguida, usamos dois pontos. E temos nosso personagem aqui. Esse caractere significa que o alinhamento é o restante do alinhamento de referências. Se tivermos um código opcode como
este, isso significa alinhamento central. Temos uma seta para a direita aqui, significa alinhamento correto. E se tivéssemos uma seta para a esquerda, isso significaria alinhamentos à esquerda. Mas vamos ver o que essas saídas. Como você pode ver, a primeira coluna ou esta primeira linha de
espaçamento, o espaçamento ficaria 12345 porque
inserimos cinco aqui. Então, por outro lado, obteremos 12345678910 porque
isso suspeita que passamos e
passamos na transportadora. É assim que você pode usar
talvez se você tivesse uma tabela ou algo que
você quisesse inserir com uma tabela ou
algo que você obteria, você seria capaz de usar
esse tipo de formatação. Vamos mudar o exemplo agora
vamos dizer um em vez de dois e depois 0 em
vez de um. E digamos que aqui
vamos escrever espaçamento aqui, um espaçamento à esquerda. Mas, na verdade, não
gostaríamos de especificar que o espaçamento porque esse
seria o padrão. Mas vamos ver o que
recebemos aqui. Impressionante, sim, temos dois
em vez de um e depois conseguimos um e podemos escrever espaçamento com os dez
caracteres no total. Finalmente, provavelmente a
string de formatação mais útil e go ball, que é f strings. Vou
anotar o exemplo. Primeiro, minha variável e depois
aqui eu quero salvar uma. Porque essa é a
variável que acho que
tínhamos definido anteriormente. Exatamente. Então é assim que
imprimiríamos var one. Ronaldo. Então, como você pode ver, é
simplesmente a string, mas depois,
basta adicionar o f antes. É praticamente isso. Essa é praticamente uma maneira bastante
simples de escrever e formatar
strings como apenas usando o FBI logo antes da string
e, em seguida, usar as
variáveis entre colchetes dentro
da string real. Então, vamos fazer uma recapitulação. Transforme
pensamentos e crenças limitantes em algo empoderador, não
sei codificar para um
codificador melhor
impróprio a cada dia. Você pode concatenar strings e várias maneiras usando
o sinal de mais, usando o
método de string de formatação ou usando F Strings. F strings é praticamente a que mais
usaremos, já que é praticamente a maneira mais conveniente
de formatar strings. E, finalmente, a gravação é uma
das formas mais novas e legíveis de formatar strings. Finalmente, vamos pular. Você entende a seção? Eu quero que você pense em
uma crença limitada que você tem e como você pode transformar isso em crenças
empoderadoras. Em seguida, crie uma função chamada saudação que pegue um
nome como uma entrada e , em seguida, imprima hey lá nome de
entrada usando o mais para concatenar strings. Altere a função acima para usar o método de string de formatação. Alterar a função acima usa
a tensão S e, em seguida, use um método de string de formato junto
com o sublinhado, a notação de colchetes encaracolados, para criar uma tabela com
duas colunas em uma linha. Brinque com diferentes alinhamentos de largura
mínima e textos e
veja como isso funciona. Sim, boa sorte com estes. Faça quaisquer perguntas que você possa ter na seção da comunidade. E te vejo de novo amanhã.
11. Dia 8 - Entrada Do Usuário (Números, Inteiros, Flutuantes, Comentários): Bem-vindo ao dia oito. Então, vamos dar uma olhada nos objetivos de
hoje. Vamos ver o que
mais podemos aprender o valor da consistência. Também vamos analisar
como aceitar a entrada do usuário. Queremos analisar números
para números inteiros e carros alegóricos. Vamos
examinar os operadores numéricos. E, finalmente,
vamos analisar comentários e como usar
comentários em Python. Ok, então vamos usar nossa
imaginação por um segundo. Você estará em um mês se continuar aprendendo
nesse ritmo todos os dias? E quanto a três meses? E quanto a seis meses? E quanto a um ano?
E quanto a cinco anos? A verdade é que
você se tornará um codificador proficiente muito
mais rápido do que pensa. O problema é que geralmente não
mantemos uma taxa consistente de
novos aprendizados todos os dias. A grande notícia é que a
única coisa que está no caminho entre nós e dominando
uma habilidade somos nós mesmos. Lembre-se de que realizamos
no nível da nossa última recuperação. Devemos abordar a
recuperação à medida
que fazemos todo o resto com
a mente de um iniciante. É assim que aprendemos a ouvir o corpo
e nos mantermos calibrados entre treinamento e testes para evitar queimar, pense em aprender como um excelente exercício
para seu cérebro. Seu cérebro gosta de novidade, e é exatamente isso que estamos dando quando
aprendemos algo novo. Mas lembre-se sempre de
que o cérebro é como um músculo e o
resto do corpo, quanto mais
o usamos,
mais forte ele fica. Mas apenas enquanto encontrarmos um bom equilíbrio entre
esforço e recuperação, forçar-nos demais
poderia levar ao esgotamento. Ouça seu corpo
e mantenha-se calibrado. É por isso que temos dias de descanso
a cada quatro dias de aulas. E se você
sentir que está
se esforçando demais e
tudo bem. Basta adicionar um pouco mais de descanso, mas lembre-se de ficar
curioso e consistente. Portanto, tenha isso em mente e
vamos passar para o Python agora, obter entrada
do usuário é tão fácil quanto usar a função
de entrada. Seja o que for inserido
depois disso, depois disso
seria a entrada do usuário. Poderíamos atribuir
isso a uma variável. Digamos que, na verdade entrada
do usuário seja usada para entrada. E então, sempre que imprimimos a entrada
do usuário obteria o
que temos dessa variável. Também podemos ver que, com
o que for que passamos a função de entrada para
a função de entrada, será o
prompt para o usuário. Insira a entrada. Então essa seria a entrada. Também podemos ver que, como os
vimos um pouco
mais cedo no curso, poderíamos usar números em
Python também. Se você fizer isso. Podemos, podemos armazenar números inteiros, por
exemplo, números como este, como números inteiros,
qualquer número inteiro, 567, Vamos fazer sete. Ou poderíamos fazer meu flutuador, que seria qualquer tipo de
número com casas decimais. Você pode ver que
você pode ver isso observando o tipo
também, mas ele muda. Podemos ver um tipo de inteiro, mas depois tipo de
meu flutuador, float. A diferença é
que o fluxo tem casas decimais e os números
inteiros são números inteiros. Também podemos ter
operadores numéricos em Python. Então, vamos tentar isso
criando dois novos números. Vamos fazer o número
um igual a dois. Para o número dois, igual a dois. Em seguida, operadores diferentes
trabalham em Python. Podemos usar o
Python como calculadora. Você poderia fazer num1 mais num2. Isso seria igual
a seis mais normais. Podemos fazer alguns menos também
que seriam iguais a, poderíamos usar a estrela como multiplicador para
multiplicação, seria oito. Poderíamos usar a divisão também. Retornaria dois. Observe que essa
divisão sempre retornará um flutuador, independentemente de
esses dois serem inteiros, basalto
MD é um número inteiro, mas é, Python ainda retorna um flutuador porque a divisão
sempre retorna um flutuador . Finalmente, temos o quê? Também temos a estrela dupla
exponenciada, que é quatro vezes quatro. E finalmente temos o módulo que é quatro dividido por dois. E então, qual é o restante ou
quantos números permanecem? E isso é um 0 porque
quatro divididos por dois não tem restante.
Também vale a pena. Enfatizando o fato de que
sempre que você usa a entrada, por exemplo, você pede
ao usuário que insira um número que
retornaria uma string. Na verdade, é beber.
Não é um número. Se eu disse variável
um igual à entrada, insira uma entrada. Se eu dissesse Five, por exemplo, e
eu digitasse a variável um, eu obteria uma string. Portanto, é importante notar que você obteria
uma string em vez do que você poderia
esperar, que era um número inteiro. Para isso, simplesmente, poderíamos simplesmente fazer a variável
um é igual a variável um. Poderíamos fazer int variável um. Reatribuímos a variável a
uma versão int de si mesma. Agora, se você executar o
tipo de variável um, diríamos que é um número inteiro, mas somente depois de
convertê-lo em um número inteiro. E o mesmo se aplica
ao flutuador. Se você quisesse transformar a
variável um em um flutuador, você poderia usar a função
float. Então você veria o
tipo igual a um flutuador. Finalmente, vamos dar uma olhada nos
comentários em Python. Para fazer um
comentário de uma linha em Python, você usará apenas o sinal de libra para fazer um comentário de várias linhas. Você geralmente tem
aspas triplas. Então você também pode usar
aspas triplas e sinal
único que também
funcionariam. Então, comentários, você
pode usar uma libra para um comentário de linha única ou
aspas triplas, simples ou duplas. E isso funcionaria perfeitamente
para comentários em Python. Usamos comentários em todo o
nosso código patelar simplesmente para documentar nosso código e garantir que outras
pessoas que não o escreveram entendam o que está
acontecendo em todo o código e possam navegar no
funcionalidade do código. Doce, então vamos fazer uma recapitulação. Vimos que a
consistência a longo prazo leva a um progresso excepcional. Portanto, certifique-se de permanecer consistente, vindo, continue voltando. Em seguida, vimos que
a função do usuário, a função de entrada, é usada
para obter entrada do usuário. E você pode, opcionalmente, passar uma string que será
exibida para o usuário. Python também suporta números, números inteiros são números inteiros
e os flutuadores têm decimais. Os operadores disponíveis incluem o operador estrela mais menos
para multiplicação, lâmpadas de
divisão, estrela dupla
para exponenciado e módulo, que é o sinal de porcentagem. Você pode usar as funções int e float para
comparar dois objetos, dois inteiros e
flutuadores, respectivamente. Estes são úteis ao
usar a função de entrada, uma vez que leva dados em string, por padrão, a função de entrada
sempre traz uma string. Temos que transformar,
transformar isso. Temos que converter isso em um flutuador em um número inteiro para
um que seria um número. Finalmente, usamos a libra para comentários e aspas triplas
para comentários de várias linhas. E, finalmente, a seção de
entendimento. Incrível. Então, hoje, a
primeira pergunta é onde ela
estaria em um ano se você desenvolver o hábito
de aprender consistente? próxima pergunta é definir
uma função para solicitar que o usuário insira
um número e, em seguida, imprime o quadrado do
número definido na tela. Lá você tem uma dica,
pode ser útil. A terceira pergunta é definir uma função que solicita que
o usuário insira um número e, em seguida, imprime se o número
é ímpar ou par. Você também tem uma dica
que pode ser útil. E, finalmente, use comentários
em todo o código para
documentar o que acontece em etapas de
relevância do código. É isso por hoje, pessoal. Se você tiver alguma dúvida
sobre essas perguntas, certifique-se de perguntar a
elas na comunidade e eu te vejo aqui amanhã. Boa sorte.
12. Dia 9 - Condicionais (if/elif/else) e blocos de código: Bem-vindo Hoje Nine. Os objetivos de hoje que temos. O que mais podemos aprender com
a repetição espacial? Vamos
olhar para booleanos, estamos procurando condições. E então vamos
examinar os operadores booleanos. Então, vamos pular direto para
a seção de aprendizado. Uma excelente maneira de
aproveitar ao máximo a repetição do espaço é
através do recall ativo. recall ativo é o que
acontece quando você produz as respostas
sozinho sem qualquer material de suporte, fazendo
uma pergunta a si mesmo e fazendo
o esforço para
respondê-la
por uma pergunta a si mesmo e fazendo
o esforço para
respondê-la conta própria elimina
o ambiguidade entre estar vagamente familiarizado com algo em
realmente conhecê-lo. Essa é uma maneira extremamente
eficaz de mover informações da memória de curto prazo
para a memória de longo prazo. Isso também está diretamente vinculado à repetição de
espaço porque toda vez que estamos revisando um assunto, estamos nos envolvendo em recall ativo. As seções
de entendimento deste curso são uma ótima maneira de aprender por meio de recall
ativo, pois você tem
a chance de produzir
respostas por conta própria e fortalecer as conexões
neurais sobre o tema que você está olhando, desde que você não esteja usando o material de suporte, a menos que
seja completamente necessário. recall ativo é uma ótima maneira de
comissionar ou aprender
com a memória de longo prazo. Portanto, tenha isso em mente quando você estiver tentando
aprender algo novo. Por enquanto, vamos para Python. Agora vamos examinar declarações
condicionais. As
instruções condicionais são um
dos pilares mais importantes da programação pois permitem que
seu código siga um fluxo lógico especificado. As condições estão
em toda parte no nosso dia-a-dia. Se estiver com fome, vá pegar comida, se estiver com sono, vá para a cama e assim por diante. Para usar declarações condicionais, usamos um
tipo de dados específico chamado booleanos. Booleano pode
ser verdadeiro ou falso, e nós escrevemos o verdadeiro com uma letra maiúscula e falso com uma
letra maiúscula também. A instrução if avalia uma expressão booleana
e, se for, ela
é avaliada como verdadeira, então o bloco de código será executado. Então, neste exemplo, atribuímos valor
booleano de true, a variável chamada fome. E então dissemos que, se estiver com fome, então execute este bloco de código. Desde que faminto é igual a verdadeiro. E quando pressionamos Enter aqui, vemos a impressão. Imprima levando um
sanduíche em uma tela. É o que acontece e o que
passa pelo bloco de código. Acontece que também podemos usar junto com a instrução if, podemos usar uma instrução if else, if, um state else em 12. Então, vamos ver o exemplo de, sabemos que tínhamos a
variável faminta que é igual a verdadeira. Vamos adicionar uma variável preguiçosa
e atribuí-la a false. Agora, vamos usar uma declaração
if e vamos dizer se preguiçoso, preguiçoso. Então vamos dizer
impressão, não fazendo nada. Mas então vamos dizer L se,
senão, se perder o cólon, desculpe, deixe-me dizer dois pontos. Com fome. Imprimir, pegar sanduíche. Else. Você pode imprimir.
Digamos que se nada mais, nada Falso, Falso
através de qualquer um
desses, desses condicionais, então ele cairá
na declaração else. Podemos ver agora
que ele entra em LF porque diz que se preguiçoso, o que é igual a falso, então ele volta para os famintos. E então diz, ok, eu não sou preguiçoso e estou com fome. Vou pegar um sanduíche. E você pode ver
pegar um sanduíche. Objetos também podem ser
avaliados como verdadeiros ou falsos. Em poucas palavras, pense em
qualquer coisa que possa estar vazia ou não
avaliaria como falso. Tudo o resto seria
avaliado como verdadeiro. Se eu dissesse que não, isso o
imprimiria porque se nenhum. Mas se você disse Se uma string
vazia, por exemplo, imprima
isso, ela também será impressa
porque é uma string vazia. 0. Imprima isso. Nesse caso, também
não imprime porque
ele não fez 0. E finalmente se, mas se
tivermos, por exemplo, essa impressão de string que podemos ver que
ela imprime porque
é, é algo e está
cheio de algo. Então, praticamente tudo o
que é nenhum ou vazio ou 0, o que será avaliado como falso e tudo o mais
seria avaliado como verdadeiro. Há também o que
são chamados de
operadores booleanos que resultam
em um valor booleano. Esses operadores são iguais. O maior que,
maior ou igual a, igual a, e assim por diante. Então, executamos os exemplos. Então, vamos adicionar uma
variável um número, vamos fazer dois e, em seguida,
variável igual a cinco. Se eu dissesse que se a variável um é igual a variável para
impressão, vamos apenas dizer isso. Vemos que ele não imprime porque não é
igual um ao outro. E se dissemos que eles são
maiores que a variável um, maiores que a variável dois. Agora vamos ver que também
não é impresso porque dois não são maiores que
cinco, maiores ou iguais a. Sabemos que também não vai
imprimir. Então vamos dizer, bem, vamos dizer menos do que. Vemos que ele imprime isso. Também podemos fazer
menos ou igual a. Isso também imprimirá isso. E, finalmente, podemos
dizer que não é igual a, que é um
ponto de exclamação e um sinal de igual. Podemos ver que ele
imprime isso também. Outros operadores booleanos
AND OR e NOT. Para ver se olhamos
para estes e x2, se digamos verdadeiro
e verdadeiro, imprima. Digamos que imprima isso. Claro, subquadros
porque os dois verdadeiros e verdadeiros. Mas e se dissemos
se verdadeiro e falso? Não imprimiria nada porque precisaríamos que ambas
as condições fossem verdadeiras para que a quantidade da condição
externa fosse verdadeira. Digamos que se for verdadeiro ou falso. Imprima isso. E então
podemos dizer, ok, ele imprime para isso,
o
que é perfeito, o que faz sentido porque
queremos ou o outro, precisamos de um ou
outro para ser verdadeiro para avaliar como verdadeiro. Assim, podemos ver que
este é verdade para que, em vista da alternativa avalie
tudo é verdade. Finalmente, o operador NOT. O que isso faz é se você colocar o operador não
antes de qualquer valor, ele irá reverter
onde quer que avalie anúncios. Por exemplo, se eu
disser se não for verdadeiro ou falso, imprima isso. O que você acha que isso
avaliaria? Exatamente? Não imprimiria isso
porque se você pode pensar
nisso como dizendo falso ou falso, ambos são falsos, então
não imprime nada. Portanto, a ordem de operação é que o
operador NOT entra primeiro, avalie esta primeira
avaliação não é verdadeira. Em seguida, o operador final vai
e, em seguida, o operador OR vai. Também é útil
saber que o
final e os operadores OR, eles retornam o valor que
representa o que o
valor booleano deve representar. Por exemplo, se eu tivesse isso, digamos algo vazio. Ele retornaria a string vazia porque é
isso que ela representa. Ela representa falseia
ou um valor falso. Como essa expressão é
avaliada como false, essa expressão
retorna o valor que representa essa falsidade. Por exemplo, se eu
tivesse isso e aquilo, ele retornaria
isso porque é o último avaliado, mas retorna, mas ainda representa um
valor verdadeiramente no final. Porque, por exemplo,
se eu tivesse, por exemplo, isso ou aquilo representa isso, porque isso já, mas já
representa um valor verdadeiro. Então ele retorna, uh,
esse, esse valor. Mas se eu tivesse, digamos isso, ou digamos, vamos ter
um vazio para isso. Então ele representará, ele
retornará esse valor. Porque este é o
que representa o verdadeiro. Se eu tivesse ambos vazios, ele retornaria apenas uma cadeia vazia, uma string vazia, a vazia. Isso é útil em alguns casos. Você verá mais tarde
no projeto, usaremos isso em uma
das declarações que
podem ser úteis para saber. Você também pode usar uma
função booleana, a função bool, para ver se um argumento que passa no
que avalia o tamanho. Por exemplo, se eu fizer isso, você sabe que é verdade. Se estivermos referenciando um
dos outros exemplos que
fizemos isso e que podemos ver que é avaliado como verdadeiro isso e que
retornaria isso. Isso seria o mesmo que
dizer booleano disso,
que se avalia como verdadeiro. Há também uma forma abreviada de
escrever uma declaração if. Você escreve assim. Digamos que fogo. É verdade. Else. Você pode ver se isso é verdade. Você devolve bombeiros. Esta é uma maneira de
escrever uma abreviação. declaração abreviada se
pode ser
útil sempre que você
não precisar do outro. A maneira mais longa de
escrevê-lo. Fogo. Se for falso, outro, fogo falso, senão gelo, vamos
pegar gelo em outro lugar. Incrível. Então, vamos fazer uma recapitulação. recall ativo é a ação
de produzir ativamente a resposta você mesmo sem
nenhum material de suporte. Aqui está uma maneira extremamente
eficaz de
mover informações da memória de
curto prazo para a memória de longo prazo. Tipo de dados booleano que
pode ser verdadeiro ou falso. E lembre-se que isso
é k substituído. condicionais permitem que você crie um fluxo lógico de forma
lógica em seu programa usando
if, elif e else. Os operadores booleanos retornam
um único valor booleano. Assim, o
sinal igual, igual
maior que, maior ou
igual a, menor que, menor ou igual
a, não igual a. E então, AND, OR, e NÃO. Os operadores retornaram um
valor que seria avaliado como o booleano da linha inferior. Por exemplo, se você dissesse isso
e pensasse, por exemplo, se você dissesse isso e
uma string vazia, você teria retornado
a string vazia porque a string vazia
representa esse valor falso. E então você poderia usar
a função booleana, a função bool, para retornar o equivalente booleano ao que você
passar para ele. Finalmente, vimos como escrevemos declarações
abreviadas if. E podemos parecer
algo assim. Fogo, se verdadeiro, senão gelo e
isso retornaria fogo. Finalmente, aqui você tem
a seção entender. Então, os exercícios de hoje, não
vou ler sobre eles hoje, já que eles são muito longos e acho que esse vídeo já é
um pouco a oferecer hoje, mas não deixe de
olhar para o fã. Boa sorte com isso. Se
você tiver alguma dúvida, sinta-se à vontade para deixar essas perguntas no chat e estaremos ativos
na comunidade. Eles são tão boa sorte e te
vejo amanhã.
13. Aula 10: Hoje temos outro dia de descanso. Estamos empurrando
nossos limites por vários dias seguidos agora. Então, hoje vamos
internalizar o que
aprendemos até agora e descansar um pouco. Por hoje, vou pedir que você
volte às lições que
você pode sentir minhas necessidades, alguns revisitando e
olhem para quaisquer perguntas
que você possa ter. Aprendemos melhor por meio da ação. Portanto, certifique-se de fazer qualquer exercício que possamos ter perdido até agora. Mais uma vez, vou demorar
um segundo para lembrá-lo sobre a chave para
aprender que vimos. Para perguntas ou o não-sere, quando você se torna
radicalmente aberto, você começa a fazer
muitas perguntas. As perguntas são a
resposta se você for
lá , elas são sempre enriquecedoras. Superamos crenças limitantes fazendo perguntas
constantemente e testando-as de
estresse para o mundo real por meio de
ações para obter consistência. É difícil ver
o progresso imediatamente diariamente. Lembre-se de que é fácil
cair na ilusão de que você não está melhorando quando na realidade você
me melhora extremamente rápido. Se você continuar voltando, ficaria
surpreso com o que você consegue. E, finalmente, para a repetição
espacial, podemos esmagar a curva de
esquecimento não apenas familiarizando-nos
com os conceitos, mas também guiados pelo
envolvimento no que é recall
ativo e espaçamento aqueles ao longo do tempo.
É isso por hoje. Então tenha um bom dia de descanso e te
vejo de volta amanhã.
14. Dia 11 - Funções (2/2): Bem-vindo ao Dia 11. Vamos analisar os objetivos de
hoje. Primeiro. O que mais podemos aprender sabendo que
as perguntas são a resposta? Então vamos
olhar para o conceito DRI. Não se repita. Além disso, as funções são argumentos de
palavra-chave de
função e, em seguida, valores padrão de função e retornando objetos
de funções. E, finalmente, vamos
analisar argumentos e argumentos palavras-chave como
argumentos como uma função. Então, vamos direto
para a seção de aprendizado. Para a seção de aprendizado, temos que
as perguntas são poderosas. Lembre-se de que eles estão vivos, estão enriquecedores e lá para sempre no momento presente. A mesma pergunta, além da mente de
um iniciante,
é igual a novos conhecimentos. Lembre-se sempre de um
senso de dizer que o maior obstáculo ao aprendizado é a crença de
que você já o conhece. Então, vamos ficar curiosos que as
redes mantenham a mente aberta. Como vimos antes, as funções nos permitem usar o mesmo bloco de código várias vezes
em todo o nosso código. Isso é útil
sempre que precisamos
executar a mesma
ação várias vezes. Não queremos que ele se
repita a nós mesmos. Isso é importante, não
queremos nos repetir. E na programação, a
ideia de não
se repetir é chamada de seca, o que é chamado de codificação a seco. Então, queremos ficar
secos ao programar. Para esta lição,
vamos começar a usar o VS Code, visual Studio Code. Para abrir isso, basta examinar seus aplicativos e procurar
o Visual Studio Code. Eu fundei assim e
como abri assim? E eu vou abrir um arquivo, arquivo dot py. Nós tínhamos visto antes. Podemos definir uma função
da seguinte maneira. Certo? Assim, podemos definir minha
função e usá-la como passagem. E então você simplesmente chama
essa função dizendo minha função e chamando-a
usando os colchetes redondos. Também vimos como poderíamos
usar argumentos opcionais, são parâmetros opcionais
para a função. Em seguida, use-os
dentro da função. Poderíamos ter feito isso
em vez de usar o passe. Em seguida, execute minha função e
, em seguida, teríamos que inserir aqui alguns
argumentos que outros. Então poderíamos executar isso e
veríamos isso, aquilo e outros. Mas veja o que acontece se eu certamente não inserir
um dos argumentos, clicar em Salvar e, em seguida, executar
isso, receberei um erro. Diria que um erro de tipo. Minha função falta
um necessário, falta um argumento posicional necessário,
argumento três. Isso porque tínhamos
afirmado acima que precisávamos desse argumento para 100% uma vez
que ficaremos assim. Outra maneira de escrever
isso é dizer que o argumento três é igual a valor falso. Essa será uma maneira de
dizer como se,
se o argumento não for
passado para a função, atribua esse valor
padrão a ele. Então, sempre que executávamos isso, veríamos isso aquilo e,
em seguida, o valor padrão. Você também pode chamar a
função usando o que ela é chamada de argumentos de palavras-chave. Você pode especificar aqui em baixo. Por exemplo, você poderia dizer
Argh igual a isso. Então, digamos que
três iguais a outros. Finalmente, ganhou igual a isso. Então você poderia executar isso. Você pode dizer
isso, aquilo e outro, mesmo que tenha feito,
mas além disso, mas como usamos argumentos de
palavras-chave, que está especificando as
palavras-chave e os argumentos. Podíamos ver que recebemos a
ordem que queríamos. Outra coisa útil sobre
funções é que você pode retornar valores usando
de uma função. Por exemplo, digamos nums, e então você diz
núm um. Núm dois. Poderíamos retornar um valor
dessa função. E poderíamos dizer,
digamos núm um. Vamos realmente dizer resultados iguais a num1 mais num2. E então podemos simplesmente
retornar o resultado. Essa é uma maneira de usar uma função
para retornar um valor para nós. Então, se dissemos, Adnan ,
disse 510, então se
executarmos isso, veremos que não obtemos nada impresso
na tela porque o Quando executamos a função, ela não contém nada. Ele não imprime
nada na tela. Ele só executa isso e, em seguida, retorna esse valor para a tela. Mas se dissemos,
se dissemos print, o que é retornado
dessa função, então sempre que
executarmos isso, devemos obter o número 15, que é o que esperávamos. instrução
Return retorna um objeto ou uma série de objetos
de uma função. Você também pode criar
funções que
adotam argumentos arbitrários ou argumentos de palavras-chave arbitrários usando a seguinte notação. Então use uma estrela e, em seguida, args, estrela
dupla e uma
palavra-chave args dessa maneira. E o que isso faria
é que sempre que você, sempre que você chama essa função, digamos que minha função. Você poderia dizer o que
quer que seja, qualquer quantidade de argumentos que
queremos passar, ele vai assumir como argumentos,
como você pode ver aqui. Então, se dissermos palavra-chave
nossa ou o que for, digamos var 11, isso seria um argumento de
palavra-chave. E depois Val dois, este seria outro argumento de
palavra-chave. Então, sempre que passamos
esses valores arbitrários, isso pode ser um número arbitrário de argumentos nesse
número arbitrário de argumentos de palavras-chave, executamos essa função. A função que nos
levaria para Tuple para os argumentos e o dicionário para os argumentos das palavras-chave. E eu quero que você mantenha essa
pergunta em mente, ok, o que é uma tupla e uma
vez um dicionário, porque vamos olhar
para isso em breve. Mas, por enquanto, é a única
coisa importante saber é que você pode fornecer um
número arbitrário de argumentos. Bem, agora vamos tentar o
número de
argumentos de palavras-chave usando o seguinte. Notação de uma estrela e
uma notação de duas estrelas. Também tenha em mente que você
pode dizer esse acasalamento aleatório, você pode chamar isso de aleatório. Ainda funcionará. Mas ainda funcionará. Mas é convenção, digamos args e
hashtags de palavras-chave como esta. Incrível. Então, vamos fazer uma recapitulação. As perguntas estão vivas e sempre enriquecem para sempre
no momento presente. Precisamos dizer curiosos
com uma mente aberta, com a mente do iniciante. E dessa forma
continuaremos aprendendo. As funções nos permitem ficar secos. Que codificação? Não se repita. As funções não podem assumir
argumentos necessários. Argumentos posicionais
são argumentos opcionais. Ao adicionar uma palavra-chave
com um valor padrão. As funções podem retornar
qualquer tipo de objeto. Mesmo que suas funções. Podemos usar os args estrela e esta palavra-chave estrela dupla args. Notação 12 funções, exceto em número
arbitrário de argumentos e argumentos de palavras-chave
, respectivamente. Finalmente, vamos dar uma olhada na seção
de entendimento para hoje. Qual é o maior
obstáculo para o aprendizado? Wire questiona a resposta? Em seguida, defina
uma
função que aceite um argumento padrão
e imprima na tela chamada função, fornecendo o argumento e
não o fornecendo também. Defina uma função que use um número arbitrário
de argumentos, args e um
número arbitrário de argumentos de palavras-chave, argumento de
palavra-chave e
imprima o número. Imprime os dois
objetos resultantes na tela. E então não se preocupe se você não souber qual é a estrela óptica, aprenderemos sobre isso em breve. E, finalmente, crie uma função
que retorne um objeto, atribua o
objeto retornado a uma variável e imprima
o objeto na tela. Mas incrível, é
isso por hoje, pessoal. Essas são as
perguntas e, em seguida, se você tiver alguma dúvida sobre elas, então não hesite em perguntar
no chat e a
comunidade estará ativa. Eles são tão boa sorte e te
vejo de novo amanhã.
15. Dia 12 - Listas, Ranges, classificação: Bem-vindo ao Dia 12. Então, os objetivos de hoje,
temos que mais podemos aprender com a
consistência e empurrando nossos limites todos os dias? Em seguida, vamos
examinar a lista, dois métodos de lista
nessas fatias e,
finalmente, em intervalos. Hoje, o tema principal
será listas. Então, vamos direto para
a seção de aprendizado. Primeiro, eu queria
tirar um segundo para imaginar onde você não
estaria
daqui a um ano se você fizer
mordida sofreu todos os dias, o líquido de mídia 1%
melhor em Python, acontece que você pode fazer
esses esforços de hábito de tamanho mordido e, em seguida, acabaram
realmente desfrutando deles. Isso é exatamente o que
pretendemos que Amy faça com este curso, para mostrar que aprendizado pode ser divertido
e que possamos crescer cada dia onde realmente apreciamos
o processo do dia a dia. Em seguida, temos essa lista
em um tipo de dados
usado para armazenar
itens solicitados em uma variável. As listas são mutáveis, o
que significa que você pode atualizá-las adicionando ou removendo itens
individuais à lista. Os itens da lista
podem ser a extremidade mista de qualquer tipo de dados,
incluindo outras listas. Vamos dar uma olhada no que
estamos falando aqui. Para criar uma lista, simplesmente
usamos a seguinte notação. Usamos colchetes. Minha lista seria essa. E então, para adicionar itens a isso, simplesmente
adicionamos itens
e os separamos, uh, usando vírgulas, item dois,
etc, seria
uma definição de lista. Se eu disser imprima minha lista na
tela e, em seguida, clicar em Executar, veremos que a lista está
impressa em uma tela. Podemos ver isso
pelos colchetes e que isso seria
realmente uma lista. Se quiséssemos
definir uma lista vazia, simplesmente
criamos uma
lista e
a atribuímos a colchetes sem
nada dentro deles. Quando executamos isso, executávamos isso e
veríamos que ele retorna uma lista vazia. As listas têm índices. E da mesma forma que quando
falamos sobre índices
com strings que nos referimos a eles com colchetes e
o número do índice. Fazemos o mesmo com listas. E da mesma forma que uma lista, o primeiro item
seria o índice zeros. Eles são baseados em zero. E se dissemos essa afirmação? O que você acha que ele vai imprimir na tela? Vamos executar isso. E obtemos o item um exatamente porque estamos fazendo referência ao
índice 0 ou para
listar da mesma forma que com strings poderíamos dizer índices
negativos. E obteremos o
mesmo que esperávamos das cordas que
obteríamos o último número. Em seguida, vamos examinar
alguns métodos de lista. Primeiro, vamos dar uma
olhada no método de anexação. Se executarmos minha lista, adicione um novo item e o item imprima minha lista. Vamos ver o que acontece
quando executamos isso. Recebemos a mesma lista
com o item anexado. O que o método append faz
é que ele adiciona o item que você insere no
método append ao final da lista. Também podemos ter um, também
temos um método de
inserção, inserção. Primeiro informamos o índice, depois inserimos, inserimos o item, depois o item e, em seguida,
imprimimos a lista novamente. Vamos ver o que acontece. Vemos que ele é inserido
como o primeiro, como o item Número
Um da lista. O item com o
número de índice Um da lista. Então, obtemos o item, em seguida
,
o item incerto , o item dois, etc.,
e depois o novo item. Em seguida, também podemos
ver que
podemos excluir itens de uma lista usando a
instrução DDL, essa instrução delete. Podemos dizer que exclua minha lista. Mais uma vez,
teríamos que fazer referência a algum item com um índice. Então, quando o imprimimos, minha lista, veríamos o
item um e, em seguida, etc Sem o item dois,
há também o método remove, o método remove,
minha lista, remove. Então você pode pesquisar
um item pelo que ele é. Você pode ver remover, imprimir minha lista. Em seguida, execute isso. Em seguida, você pode ver que ele removeu
os itens dessa lista. Também temos o método prob. E o que este faz
é que ele exclui ou remove
o último item
da lista. Ele o retorna. Sempre que faço minha lista pop, imprimo minha lista. O que ele faria é que você
veria que ele não
teria o etc. Dod da última vez até isso, ele tem o item um e o item dois, mas não o último item. Se eu dissesse print, minha lista pop, eu
veria o etc. impresso e depois a lista, porque a primeira coisa
que estou pintando
aqui é um comando
da minha lista pop. E sabemos que esse método
o remove e retorna. E desde então, uma vez que ele retorna
o último item da lista, e ele retorna isso também. Quando tentamos imprimi-lo, vemos que o item é
impresso na tela. E então, quando
imprimimos a lista, vemos que a lista
foi modificada e
não tem o etc. nela. Também temos o que são
chamados de fatias de listas. Então, vamos executar o
seguinte comando. Minha lista, e temos
o devido de 0 a 22. O que isso faz é
que ele começa em 0, no índice 0 e
termina o índice dois. E isso é disso. Podemos ver que ele
começa e inclui um 0. Mas então ele adiciona também
com o índice de um. E então, quando ele chega
ao elemento com o índice de dois, ele não inclui. Por isso, inclui o primeiro, mas não inclui o número maior,
o número superior. Vamos fazer outro exemplo. Vamos ver o que se
nós imprimirmos isso, coloquemos três, por
exemplo, e depois um. Quando corremos isso,
ficávamos bem, começamos em um e depois terminamos em três sem
incluir os três. Os três seriam o etc. É assim
que o Lexus funciona. Então também podemos dizer que se não
especificarmos um número, ele apenas diz que vai
até o fim. Quando executamos isso,
vemos que ele começou em 0 e simplesmente vai
até o fim. Poderíamos fazer isso ao
contrário. Então poderíamos dizer, comece todo o caminho desde o
início e vá até o
número três, digamos. Então isso significaria
que começa a partir de 0, começa todo o caminho
desde o início. E então ele vai
até três com o polegar incluindo três porque lembre-se
três seria o etc., porque 012 e depois três
e não incluiria o etc. Isso é o que são fatias de
cordas. Você também pode usá-los. Digamos, por exemplo,
se você foi
obter os dois últimos números, então da nossa lista, você poderia executar o seguinte. Você pode pensar em maneiras inteligentes de usar essas maneiras diferentes. E, mesmo que você não
atribuísse nenhum número único, obteríamos a lista inteira. Porque é todo o
caminho desde o início, indo até o fim. Estamos vendo como as listas são objetos
mutáveis para que
possamos mudar nosso objeto. Vamos dar uma olhada na ideia
da minha lista por um segundo. Usaríamos o ID da minha lista. Então nós executamos isso e
conseguiríamos o que precisamos para imprimi-lo. Claro, imprima a
ideia da minha lista. Teríamos um número para
a ideia disso, minha lista. E se quiséssemos
criar uma cópia da minha lista e fazer uma alteração
na cópia da minha lista. Vamos fazer. Podemos pensar intuitivamente como se quiséssemos
criar uma minha lista, copiar, poderíamos dizer intuitivamente, ok, basta copiar minha lista e
torná-la igual à minha lista. E se você imprimi-lo? Minha lista, copie minha lista. Cópia. Perfeito. Certo. Estou recebendo o item 1203, item três e etc.
Então, estamos recebendo a lista,
a cópia da minha lista, ela funciona conforme o esperado. Mas agora vamos dizer que
queremos fazer uma mudança. Nós, em vez de
imprimir minha cópia, digamos que
iria imprimir a cópia da minha lista e
, em seguida, vamos bombear da minha lista de cópias. Estamos fazendo uma alteração na
cópia da minha lista. Então vamos dizer quando, quando nós, quando executamos isso,
obtemos et cetera, o que é o esperado. Mas então vamos imprimir minha lista. A minha lista original. Terminamos
imprimindo a minha lista original. Vemos que minha lista também
foi modificada. Menos a mylist original também
foi
modificada no etc. também
foi retirada
dessa lista. Então, como criamos
uma cópia sem, sem alterar as duas listas? Porque o que está acontecendo
aqui é que o imagine qualquer
ID que temos na minha lista, ele atribui essa variável, apenas atribui um rótulo
ao mesmo objeto. Portanto, temos apenas um objeto, que é essa lista. E quando tentamos
criar uma cópia, simplesmente
adicionamos um rótulo
ao mesmo objeto. Quando criamos a ação
pop aqui, chegamos a qualquer que esse
nível estivesse apontando. Ele apontou o
objeto original, que era este. A maneira correta de
fazer isso seria, há alguns desejos,
duas maneiras de usar
uma fatia de lista aqui. Nós o cortamos assim. Dessa forma, sempre que
corremos, executamos isso, obtemos a lista
inteira conforme o esperado. Nós gostaríamos
de fantoche da cópia, mas mantê-lo no original. Ou poderíamos usar a cópia. Copie esse método. A cópia, esse método. Lá vai você. Então é assim que você copia
uma lista para outra lista. E é aí que você
faz alterações em uma cópia sem
fazer alterações no objeto original. Lembre-se de que poderíamos usar
o método dir para obter todos os métodos são
todos os métodos de um objeto ou um tipo óptico. Nesse caso, quando o executamos, pelo
menos podemos ver todos os
métodos do tipo de dados da lista. Aqui temos como se tivéssemos visto
alguns desses já. Vimos a bomba,
vimos anexar, vimos a inserção. Agora vamos dar uma olhada em mais um. Vejamos o, vamos ver. Vejamos o método de índice
um índice. Se executarmos minha lista, digamos que imprima o índice da minha lista, então o que inserimos
aqui seria um valor. Digamos que eu, o item para o que ele retorna é o índice
onde esse valor mora. Se adicionarmos Apple, Apple, carro, elefante, etc. Se quiséssemos ver
onde o elefante estava, simplesmente
executaríamos
isso e ele lhe dirá o índice onde o elefante
terá valor. E se não houver nada, você tem um valor de entrada
que não está lá, você receberá um erro de valor. Nada não está na lista. Nós receberíamos um
erro de valor para esse. Então, e se olharmos, digamos que o
método de classificação, por exemplo. E se nós classificássemos? Não colocaríamos nada. Em seguida, ele não imprime nenhum porque esse método de classificação não
retorna nada, então não precisamos da função de
impressão para eles. Vamos fazer uma função printf
do que a mylist, como
é minha lista? Antes de fazer uma
ação na minha lista? Então, vamos financiar isso. E quando dizemos
Ok, estamos recebendo carro da
Apple, elefante, etc. Porque na verdade
este já estava classificado, a, B, C, D, E, F, G. Sim, já está classificado. Então, digamos, vamos
trocar esses dois. Adicionamos esse exemplo, então obtemos os mesmos
procariotos superiores e etc. Porque esse método de classificação
realmente o classifica. Este vale a pena notar
que é diferente
da função ordenada porque você pode imprimir minha lista ordenada. Você poderia imprimir a minha lista
classificada sem
classificar e com o método. E este
imprimiria a lista classificada. E então, quando você
imprime isso por si só, você pode ver que não está classificado. método classificado é diferente. O método de classificação é diferente
da função classificada. Também podemos ver que podemos usar a função Len para ver qual é
o comprimento da lista. Podemos ver que o
comprimento é quatro. E, finalmente, vamos dar uma
olhada nos intervalos. Alcance. Você simplesmente usará a função
range para criar um intervalo e, em seguida,
organizar simplesmente, digamos que façamos o intervalo cinco. Está organizado, eu
iria do número 0 para o número cinco sem
incluir o número cinco. Portanto, nossa gama é um
tipo por si só. Bem, poderíamos usar
a função list para transformar organize em uma lista. Isso nos daria
uma lista do intervalo 01234, excluindo os cinco. Laranja. Se inserirmos um, apenas um valor,
seria o limite superior. Se colocarmos dois valores, digamos que 15, seria o limite
inferior e superior. Vamos fazer uma lista. Isso varia de um
a dois a cinco. Então, o que você acha que isso
seria? Se estivermos fazendo um,
será diferente deste, certo? Sim. Onde gostaríamos
234 excluindo os cinco. E também temos uma última
maneira de usar um intervalo que está inserindo três valores. Um, vamos tomar cinco. E então digamos que um
terceiro valor, que é o Qual é quantos incrementos
o valor passa. Portanto, seria de um a
cinco incrementando em dois. Então ele vai de um para números depois é três e depois
para cinco com cinco. E se
dissemos até 20? Nós obteríamos 135,
todos os números como incrementar em dois até 20
sem excluir, sem incluir o número 20. Há também mais três funções
úteis que podemos observar que não estão
relacionadas a listas também. Temos a função Min,
a função max,
a função de soma. Então, eles são bastante intuitivos. E se, como se dissemos, digamos que minha lista seja igual à lista do intervalo 120,
incrementando em dois. Então minha lista seria
semelhante que fizemos acima. Mas e se
dissemos que o mínimo da minha lista obteria
uma como esperado? Se não tivéssemos no máximo da minha lista, teríamos 19. E então, se fizéssemos alguns
da minha lista, receberíamos um 100 porque eu seria a soma de todos os números nessa lista. Incrível, então vamos fazer uma recapitulação. Esforços de tamanho de mordida todos os dias levam 2% de melhorias que se
compõem ao longo As melhorias percentuais são exatamente o que leva ao crescimento
exponencial a longo prazo. Em seguida, vimos que uma
lista é um tipo de dados. Use os
itens solicitados armazenados em uma variável. As listas são mutáveis, o
que significa que seu conteúdo pode mudar para sua
ID permanece o mesmo. Definimos uma lista usando
a sintaxe a seguir. E eles podem conter uma
combinação de qualquer tipo de dados, índice de lista de
referência usando
a notação de colchete quadrado. E, em seguida,
índices negativos fazem referência itens voltados para trás a
partir do último item. Também vimos essas fatias. A sintaxe a seguir
seria usada onde quer que você quisesse
criar um novo objeto com uma cópia da minha lista. Então também vimos vários
novos métodos de lista,
incluindo os seguintes. Lembre-se de que poderíamos usar a função interna para ver uma lista completa de todos os
métodos no tipo de dados. Também vimos
as funções incorporadas usadas para isso, como terra classificada,
mínimo-máx e algumas. Também criamos intervalos usando
a função interna do intervalo. E vimos como podemos, podemos transformar intervalos nisso usando a
função integrada da lista também. Suécia, finalmente, aqui
temos a seção de entendimento. Lembre-se da importância
da seção Entendimento. Acho que a
parte mais crítica dos cursos. Se você pode fazer todos os dias
da seção de entendimento, você praticamente entende o que estamos completando
ao longo de cada dia. Então aqui você tem a seção de
hoje. Você tem alguma
dúvida para isso. Sinta-se à vontade para deixá-los
na seção da comunidade ou no chat e
estaremos ativos lá. Caso contrário, boa
sorte com isso e espero vê-lo de volta amanhã.
16. Dia 13 - Loops: Então, bem-vindo ao dia 13. Para os objetivos de hoje,
temos quais são os benefícios de aprender
e empurrar nossos limites, e como evitamos queimar? Então, vamos
olhar para loops bem
como loops while. E então o continuum, a declaração de quebra e,
finalmente, a declaração. Vamos pular direto para
a seção de aprendizado. Sabemos que o aprendizado
envolve novidade. A novidade é praticamente como
exercícios para nossos cérebros. Porque quanto mais
usamos nosso cérebro, mais forte ele fica
desde que formos calibrados. E por calibrar, quero dizer
que, porque se empurrarmos nossos limites e
nos esforçarmos demais, poderemos queimar. É por isso que
pressionamos estados cada cinco dias para que possamos recuperar e revisar
o que estamos aprendendo. E evitamos queimar. Para examinar for-loops,
sabemos que a sintaxe para criar um
loop for-é a seguinte. Quatro itens em terrível , em seguida, execute o
bloco de código. Dentro disso. Nesse caso, o
olho terrível pode ser qualquer tipo de objeto que tenha, que pode ser
iterado. Neste exemplo. Se, por exemplo, se
tivéssemos uma variável com
uma string nela, e pudermos dizer para o item
na variável do player, imprima, digamos que item de impressão apenas para ver o que isso faria. E se fizéssemos eu
iterasse cada item em
uma variável de string. Vamos ver o que acontece. Vemos que ela passa por
cada letra, que é praticamente onde
teríamos que eu
esperaria mais para cada letra e
imprime na tela. Também temos outro tipo de loop chamado loop while. E a sintaxe é a seguinte. Enquanto a condição passa. Essa é a
maneira mais simples de dizer enquanto alguma condição que é
avaliada como um valor booleano, seja verdadeira ou falsa. Embora seja verdade. Isso
será executado enquanto verdadeiro e, em seguida, o
bloco de código será executado. Então, vamos fazer um exemplo e dizer, vamos criar uma variável de contagem. Digamos que contador igual a 0. E digamos que, enquanto conte menor ou igual
a cinco, imprima. Agora, quando
executamos isso, também precisaríamos adicionar contagem
igual para contar mais um. Em Python, há uma
maneira mais simples de sintaxe para escrever isso. Uma sintaxe mais simples como esta, que é count
plus igual a um. Ele simplesmente adiciona um para contar. E representa o mesmo, que a mesma coisa que
eu digito um psicodélico, mesma coisa
que eles
digitaram há um segundo. Vamos executar isso e
ver o que acontece. Incrível, isso faz
sentido. Então você vai contar 0 e depois conta um. Então, enquanto essa
condição for verdadeira novamente, uma contagem é igual a uma. Em seguida, ele é executado novamente,
ele o executa novamente e será executado um total de seis vezes até que a contagem
seja igual a seis. E então é aí que
ele vai parar de correr. É assim que vamos
executar um loop selvagem. Mas agora vamos ver um
exemplo de se esquecemos de
adicionar a alteração
da variável count. Se fizermos isso e o executarmos, veremos que o código está sendo executado
infinitamente. Nunca fique preso. Agora ele vai parar de
funcionar porque sua condição sempre será
avaliada como verdadeira. Se este for o caso em que
isso acontece com você, basta executar o controle C. Ele fará uma
interrupção do teclado e
interromperá a execução
do seu código. Se você criar um loop infinito ou se quiser interromper
a execução do
código, basta
executar a
interrupção do teclado e o código
começará a ser executado. Há também dois
comandos que podemos
usar dentro dos loops while
e for. Esses comandos vão
escrevê-los em um comentário aqui em cima. Continue e continue e quebre. O que eles fazem é
que, por exemplo, se a contagem mais igual a uma, vamos adicionar, por exemplo, aqui, isso é triste, uma declaração
continue. E então vamos adicionar impressão, imprimir, contar. Você já pode ver
como isso está acinzentado. Ele não tem mais cores é porque a declaração continue, o que ela faz é que
ela pula tudo. Isso é mais suave, e simplesmente corre para o, o, o while, o while ou o for-loop
novamente a partir da próxima iteração. Simplesmente ele faz essa próxima
iteração imediatamente. Se eu fosse
anotar isso e depois executá-lo, execute um loop infinito com apenas Hayes porque ele nunca chega à contagem de impressões
e ele nunca chega
à contagem mais uma declaração. Então, vou
interromper o teclado. Sim, isso é o que a declaração
contínua continua faz. Ele vai para a próxima iteração. Se eu fiz isso, por outro lado, serão removidos o
continuum de lá. Ele vai rodar 0, ei um ou
o contrário. Ei 0, A1, A2, A3, A4, A5. E então, quando é
ódio seis, não, isso não é mais avaliado
como verdadeiro e simplesmente pára de correr e executar
continuamente
o resto deles. O código. Então vamos dar uma
olhada na declaração break. Isso é simplesmente adicionar uma declaração
aqui que diz se contar igual a
três e depois quebrar. que era isso?
O que a instrução break, o que ela fará é
simplesmente parar de executar o código selvagem ou o loop selvagem ou o loop
for-loop completamente. Se eu executasse isso,
esperaríamos que ele seja executado sempre que
chegar a três, onde quer que ele
conte e inconsistente chega a três, o código é executado, o bootstrap de bloco de código
em execução e ele irá break e o loop while
deixará de funcionar completamente. Isso é o que as declarações continue
e break fazem. Digamos que
tivéssemos uma lista definida com três valores ou
três itens na lista. Como isso também é iterável, podemos usar um loop for-loop duas vezes por meio de
cada item dessa lista. O que fizemos para o item na minha lista, item de
impressão, é
o que esperaríamos. Cada item ou nenhum luminoso e nome são
impressos na tela. Isso é incrível. Há também outra
maneira de usar
um loop for-loop para imprimir
itens, certo? Um item terrível é analisado, o que seria dizer
para o item no intervalo. Então, se quiséssemos criar uma
lista de números, por exemplo, variam de 0, ou podemos omitir
os zeros, tende a dez. Em seguida, diga o item no intervalo. Podemos dizer isso e
então isso imprimiria todo o caminho 0 a nove, como você pode ver
aqui embaixo, 0123456789029. E se quiséssemos imprimir? Deixe-me voltar para
quando tínhamos sobre isso. E se quiséssemos imprimir todos os
itens de probabilidades na lista? Deixe-me adicionar outros. Enquanto queríamos imprimir todos os outros itens
nesta lista, poderíamos fazer. Poderíamos usar a seguinte
sintaxe para o item no intervalo 0. Então minha lista também. Imprimir item, imprima o item da minha lista. Dessa forma, poderíamos
imprimir todos os outros itens pudéssemos escolher por
enquanto baixo e nomear todos os outros itens da
lista usando uma função de intervalo. Também podemos usar a instrução
insert para outras expressões booleanas. Por exemplo, se executarmos isso, se, digamos
agora, na minha lista. Sim. O que você
espera que isso funcione? Exatamente, sim,
porque se o item estiver na lista,
podemos imprimir sim. Portanto, a instrução n
também pode ser usada dessa maneira. E também se pudermos dizer o
contrário, se você quiser. Agora, porém, não na minha lista. Ele será impresso. Sim. Else imprima. Digamos que não na minha lista. Não, não na lista. Então, se não, podemos dizer que sim. O que você espera
que aconteça aqui para uma aldose e
lista ou se não, podemos ver que está
nisso porque é dito outro jogador. Se dissemos outra coisa, outro jogador, ele dirá que não está na lista porque
L não está na lista. Agora, e se quiséssemos
criar outro podemos criar
uma lista vazia. Pode criar uma lista vazia. E queremos adicionar a esta
lista cada item da primeira lista tem
o atende a
uma determinada condição, certo? Então podemos dizer para o
item na minha lista, vamos fazer
uma determinada ação. Então, antes de tudo,
vamos dizer, se o condicional
vamos tentar carne. A carne é se o item tiver
a letra e nele. Se item, digamos que se estiver no item, então vamos fazer, queremos adicioná-lo a esta lista? Em seguida, minha outra lista acrescenta item, porque o item é
aquele que estamos
recebendo dessa lista. Então, finalmente, queremos imprimir o resultado de minhas outras listas. Vamos ver como isso funciona. Ficamos bagunçados, pegamos
Neymar e
temos outros, recebemos cada item
desta mesa que tem um e nele. Este é um exemplo
que você pode ver. Estou usando um loop for-loop para item
nesta lista usando uma instrução
condicional. E então estou usando
um método de lista, que é o método de anexação, passando o item que estou fazendo loop pelo loop for. Este é um bom
exemplo de algo que você pode precisar que aconteça. Uma combinação de,
de comandos e de, de funções que
você não precisaria
usar ao longo de sua codificação. Excelente, então vamos
fazer uma recapitulação agora. Quanto mais usamos nosso cérebro para mais forte, ele fica
desde que estejamos
bem calibrados, porque se ultrapassarmos nossos
limites
demais, poderemos queimar. Isso é o que temos dias de descanso. Vimos como os loops são usados para percorrer
objetos de viagem. Existem vários tipos de
objetos de outubro em Python, e alguns que vimos até agora são strings, listas e intervalos. Enquanto os loops entrarão em loop, desde que a condição declarada seja
avaliada como verdadeira. Em seguida, vimos que a instrução
contínua mantém a iteração atual do loop e, em seguida, continuando o
aluno o próximo. E, em seguida, a instrução break
sai do loop completamente. O operador de índice
retorna um valor booleano, verdadeiro ou falso se o primeiro
objeto estiver no outro. Finalmente, vamos dar uma olhada
na seção de entendimento. Esta é a
seção mais importante do dia. Lembre-se, porque
envolve recall ativo e você realmente se envolver
em qual palavra aprende. Confira estes e
faça-os para amanhã. E se você precisar de ajuda, sinta-se à vontade para perguntar
no chat na comunidade
será útil lá. E caso contrário, boa sorte
e te vejo amanhã.
17. Dia 14 - Dicionários: Bem-vindo ao dia 14.
Os objetivos de hoje temos principalmente de
nos concentrar em dicionários. Eles devem examinar
dicionários, como encontrá-los,
como trabalhar com eles e, em
seguida, métodos de dicionário. Então, vamos direto para
a sessão de aprendizado. O ponto principal aqui é que um dicionário é
o tipo de dados que consiste em uma
coleção não ordenada de pares de valores-chave, também geralmente conhecido como
matriz associativa. Isso é o que é um dicionário. Agora vamos ver como
definiríamos um dicionário. Para criar um dicionário,
usamos a sintaxe a seguir. Então meu dict Gennari, isso seria um
nome de uma variável que poderia ser
o que você quiser, e então usar colchetes encaracolados. Isso definiria um dicionário
vazio. Podemos chamar isso de meu dicionário
vazio. Então meu dicionário pode
ser algo assim. Primeiro nome. Digamos que John. Sobrenome, digamos Smith. Este seria um exemplo de
um dicionário com pares de
valores-chave. E isso seria um exemplo
de um dicionário vazio. dicionários contêm itens que são compostos por uma
chave e um valor. Portanto, esse seria um item
sobre o dicionário, e então esse seria outro
item do dicionário. Existem separados por uma vírgula. Então a chave teria, teria um valor
atribuído a ela. E então estes seriam
separados por dois pontos. E fazemos referência a
cada item de um dicionário
referenciando a chave
da seguinte maneira. Então meu dict, semelhante a como o
usaríamos para list, firstname, poderia usar
meu dict FirstName. E se nós imprimirmos
isso e
executamos, poderemos ver OK, e é John. Você pode pensar sobre isso de
forma semelhante a como fazemos referência a índices em uma lista. Mas aqui fazemos referência à chave de um dos itens
do dicionário. Se fôssemos executar isso com uma chave que não existe
no dicionário. E digamos, por exemplo, a idade, receberíamos um erro, um
erro, erro de chave. Diz idade. Basicamente vai,
ele não existe. Mas há um método de dicionário que poderíamos usar que é
chamado de método get. Podemos fornecer a chave
para esse método GET. E o bom disso
é que, se não encontrar, ele não encontra a chave. Em vez de retornar um
erro, ele retorna nenhum. Se lhe dermos um método
ou se lhe dermos uma chave, desculpe que existe. Ele retornará a chave. Então, o método GET é
uma maneira de contornar o DR. E não conseguimos nenhum
se ele não existir. Além disso, você pode passar
um segundo argumento, que seria o valor retornado como padrão
se ele não existir. Podemos dizer que isso terá idade. E se
executássemos isso, veríamos, ok, ele retorna, não tem idade
porque não encontra a primeira chave que teste
ou é solicitado,
para adicionar um novo item
a um dicionário. Basta fazer referência como se você
estivesse referenciando a chave. Então, digamos h, neste caso, depois atribua um valor a ele. Digamos que 27. Então
vamos imprimir isso novamente. Depois de atribuir os
valores, veja o que acontece. É um terminal claro
e execute-o novamente. Vemos no início
e não tem idade, mas depois atribuímos um
valor à chave H. E então podemos ver, ok, ele tem uma idade
e na verdade imprime todo o dicionário. Só para ver como isso parece. Podemos ver FirstName John, LastName Smith, 27 anos. Para reatribuir um valor
a uma chave de dicionário. Basta reatribuí-lo
referenciando a chave. Como você fez, também, atribuímos ou atribuímos um novo valor. Se quiséssemos mudar
o nome, por exemplo, poderíamos dizer meu dicionário dict. Primeiro seriam colchetes, FirstName, e eu
simplesmente usaria o novo nome. Então podemos dizer Mike. Então, quando imprimimos isso, nós os
veríamos
neste dicionário. Primeiro nome Mike,
sobrenome é Smith, 27 anos. Então, se quiséssemos
excluir um item. Na lista, digamos que
vamos excluir o último nome. Então, simplesmente usamos uma instrução
delete, delete
e, em seguida, referenciamos o valor
como ele faria referência,
para reatribuí-lo para
criar um novo. Então, quando executamos isso, veríamos o final, o dicionário final sendo o
primeiro microfone, 27 anos. Assim como acontece com as listas,
os dicionários podem conter diferentes tipos de
objetos dentro das chaves. Portanto, isso poderia fazer
referência a uma string. Nós referenciamos
praticamente qualquer tipo de objeto, como você pode imaginar
dentro do dicionário. Até dicionários dentro de
dicionários também. Agora vamos analisar alguns métodos
de dicionário. Existem três métodos
que são úteis. São minhas
chaves de dicionário, o método de chaves, depois o método de valores
e, em seguida, o método items. O método de itens. Vamos ver o que eles fornecem. Tela novamente e execute-o novamente. Podemos ver que a chave está bem, obtemos as chaves que
são nome, sobrenome e idade. Vemos que os valores
são john Smith em 27. E então podemos
ver que os itens são praticamente
todo o dicionário, que é uma lista dos pares de
valores-chave em uma tupla. Para que possamos ver novamente,
novamente uma tupla. Veremos em breve como esse
tipo de dados se parece. Mas praticamente
retornará os pares de valores-chave, os itens no
item tipo de maneira. Então, se quiséssemos
ver se há uma certa chave dentro
do dicionário, poderíamos usar o método keys. Então, se digamos primeiro nome no meu dicionário, imprima, sim. Vamos executar isso e, claro, vamos imprimir sim, porque o primeironomeie
isso dentro das chaves. Agora vamos
examinar o loop
através de um dicionário. A primeira coisa que
precisamos lembrar é que eu não
percorreria um dicionário. Os dicionários não estão ordenados. Portanto, não garante que se analisarmos
esse dicionário,
ele passará por FirstName, LastName e mito denso. Então h, desculpe, nessa
ordem, especificamente, isso importante lembrar, eles não são encomendados, então o
pedido não é garantido. Ele olhou através
deles. Mas vamos analisar cada
instância do que
teríamos se fôssemos
percorrer o dicionário. Para o item no meu dicionário, dict. Aqui, nós
conseguiríamos, obteríamos, cada chave seria o mesmo
que dizer para o item no meu dict, Keith, isso seria coisa
equivalente a fazer. Nome, último nome e idade. Então, se fizéssemos valores, item para seus valores, obteríamos John Smith 27. Então, cada valor. Então, finalmente, se fizéssemos o item, meus itens de dicionário,
teríamos o primeiro nome John, sobrenome Smith, 27 anos. É uma maneira complicada de obter essa ótima maneira de
olhar para o semelhante, olhar para isso um
pouco mais tarde também. Mas seria dizer, já que para desempacotar a tupla, é
isso que, vamos
chamá-la de desempacotar tupla. Se dissemos quatro itens principais em meus
itens de dicionário e chave de
impressão, item de impressão ou este que
estrita melhor. Estirpe F. A tensão está dizendo que a chave KI é igual
a KI e, em seguida, valor do item. Valor. Porque isso, desculpe, isso seria igual ao valor. Então, se nós
salvássemos isso, podemos dizer, ok, valor do primeiro nome chave john key, LastName value Smith
key H value 27. Seria descompactar
as tuplas que obtemos do método dos itens. Ótimo, então vamos fazer uma recapitulação agora. A sintaxe para criar um
dicionário é a seguinte, usando colchetes curly
e atribuindo, atribuindo chaves a valores. Para criar um dicionário vazio, use colchetes curly vazios. Em seguida, para acessar o valor
de um dicionário faz referência uma chave usando essa notação de
colchete quadrado. E, em seguida, para reatribuir, basta reatribuir o valor
referenciando
a, a chave e atribuindo um novo
valor para excluir um item, referência a uma chave e
usar uma instrução DDL que delete
para excluir esse item. Também aprendemos novos métodos de
dicionário, as chaves GetMethod, os
valores e o método items. Finalmente, há login
na seção entender. Aqui você tem quatro
perguntas para hoje. Sempre lembrando dessa parte mais
importante do dia, certificando-se de que estamos
fazendo nossos exercícios
e, em seguida, estamos empurrando nossos
limites e aprendendo todos os dias. Se você tiver algum
problema com eles, há alguma dúvida com
eles, sinta-se à vontade para perguntar sobre tiro
na comunidade e
estará ativo lá. Caso contrário, boa sorte
e te verei novamente amanhã. Vejo você.
18. Lição 15: Bem-vindo a outro dia de descanso
hoje Vamos internalizar o que aprendemos
até agora e volte a todas as lições que você preencher
minha revisão de necessidade. Lembre-se de que os exercícios são a
parte mais importante de cada dia. Então temos as três chaves para aprender que vimos até agora
para perguntas no final. Então, sabemos que
mantenha a mente aberta, seja curioso e
abordamos o aprendizado com mente de
um iniciante
para obter consistência, sabemos que precisamos
voltar a cada dia e dar
tudo o que temos. Você começará a ver um
resolves e não se arrependerá dar seus cinco melhores
para repetição espacial, é tudo sobre recall ativo, já que é um ótimo exercício para o cérebro onde aprender e isso nos ajuda a mover as coisas da memória de curto prazo para a memória de longo prazo. Repetir os tópicos
após o descanso e a
recuperação nos ajuda a esmagar
a curva de esquecimento. Certifique-se sempre de ter um descanso e recuperação
em consideração. Mas obrigado por
voltar e ter um ótimo dia de descanso e te
verei novamente amanhã.
19. Dia 16 - Túmulos e Conjuntos: Então, bem-vindo ao Dia 16. Os objetivos atuais que temos consistência são fundamentais
para o crescimento a longo prazo. E temos que examinar tuplas, querer olhar para a atribuição de
tuplas, depois conjuntos e, em seguida, alguns
métodos para esses conjuntos. Vamos para a seção de
aprendizado agora. Lembre-se de que
os incrementos diários se compõem ao longo do tempo e crescimento de
longo prazo V2 E também lembre-se do gráfico de
crescimento e como
devemos procurar o
valor da decepção, tuplas ou um tipo de dados para
que nos permitem armazenar uma coleção ordenada de
itens em uma variável. tuplas são imutáveis, o que
significa que elas não podem ser alteradas. Os itens de uma tupla
podem ser misturados de fim de qualquer tipo,
incluindo outras tuplas. Para criar uma tupla, simplesmente
usamos os
colchetes redondos para criar minha tupla. Por exemplo, eu poderia fazer isso. Esse outro, e isso seria uma tupla
com três itens dentro dele. Se quiséssemos criar uma
única tupla de valor, faríamos, se fizéssemos assim,
isso simplesmente atribuiria
minha tupla à string. Isso. Isso não funcionaria para criar
uma única tupla de valor. Precisaríamos adicionar
uma vírgula para criá-la, para enfatizar que
seria uma tupla e isso criaria uma tupla de valor
único. tuplas são úteis sempre que você tiver dados que você sabe que
não mudarão e não devem mudar ao longo da
duração do seu programa. Por exemplo, se você
quiser incluir uma semana ou mês de
meses do ano, ou letras do
alfabeto serão usadas para dados que você não
gostaria de alterar ao
longo do programa. Assim como estamos fazendo com listas, podemos referenciar o
valor de uma tupla usando a notação de
colchete quadrado. Por exemplo,
se quiséssemos imprimir esse valor, execute isso e teríamos isso impresso na tela
que tem um segundo valor. Lembre-se de que este 00 com base
nos índices reimpressos 0, nós imprimiríamos isso. Também podemos fazer loop,
percorrer os itens de uma tupla. Com um loop for-loop,
conseguiríamos o
que esperamos , que é isso, aquilo e outro após a morte
que pintamos antes, para excluir uma
ou duas tuplas, podemos usar uma instrução delete. Isso excluirá toda
a tupla. Lembre-se de que não podemos excluir. Não podemos excluir itens vidas
individuais da tupla porque eles são imutáveis. Assim como temos
a função list, também
temos uma função tupla. Poderíamos transformar minha tupla, podemos transformá-la em uma lista. Poderíamos mantê-lo como uma tupla, seria redundante
adicioná-lo aqui, mas você entenderia
que funciona da
mesma forma que essa função faria. Vemos aqui como ele é
impresso em uma lista. Podemos transformar a mesma
coisa em uma tupla. Há também atribuição de tupla, seja, isso
seria uma tarefa de tupla. Temos o nome da variável
e, em seguida, temos
os itens das tuplas que
queremos incluir na tupla. Isso é o que se chama embalagem. Isso foi chamado de embalagem. Então também poderíamos usar essa sintaxe para descompactar, descompactar essa tupla. Desembalar. Isso pode ser útil
porque agora podemos fazer referência às
diferentes variáveis. As diferentes variáveis
que atribuímos simplesmente descompactando as tuplas. Você pode ver esse corante
outro porque atribuímos esse ponto e outro
descompactando a tupla. Apenas lembre-se da
desembalagem porque será útil para olhar mais adiante
, na embalagem. Podemos ver que ele funciona
para listas também. Portanto, esta embalagem e desembalagem também
é sustentada para lista. Aqui temos uma função que recebe dois
argumentos e simplesmente imprime os argumentos
um após o outro, separados por uma vírgula e um espaço que é literalmente tudo que
atualiza a função faz. Então definimos que minha lista tem
dois valores, isso e aquilo. Acontece que também
poderíamos usar o, como mencionei antes, a estrela e a
estrela dupla para descompactar listas e dicionários
, respectivamente. Se quiséssemos executar minha função, poderíamos executá-la assim. Por causa da estrela, descompactaria minha lista em dois argumentos separados e nós a passamos para uma função
como dois argumentos separados. Então, se eu executar isso, veríamos que funcionaria. Ele imprimirá este espaço de vírgula. E então, porque a estrela
trabalha para descompactar, da mesma forma, poderíamos usar a notação estrela dupla
para descompactar um dicionário. Se tivermos um dicionário e tudo estiver configurado para
retornar um dicionário. Nesse caso, não
funcionaria para este caso, é
claro, porque eu
não fui definido. E a função está corretamente
para isso, poderíamos usar uma notação de
dois fios para descompactar um dicionário. Também poderíamos usar a atribuição de
tupla com o que é retornado
de uma função. Digamos que essa função
receba dois argumentos e simplesmente retorne os
dois argumentos. Então eu passo como antes, atribuo algo a,
eu executo a função. Primeiro de tudo,
executo a função. Então, nos deparamos com a função,
eu a passo na minha lista empacotar minha lista em
dois argumentos separados. Que executar isso
retornará os dois
argumentos separados simplesmente, e isso é tudo o
que vai fazer. Mas o problema é que quando ele os
retorna dessa
maneira nesta sintaxe, que é o argumento um, argumento dois
separado por uma vírgula, isso retornaria uma tupla
dos dois argumentos. Então eu poderia dizer aqui minha tupla. Então eu poderia imprimir minha
tupla em uma tela. E então, quando eu corro isso, pudemos ver isso
e aquilo como uma tupla. Da mesma forma que estamos executando essa função que retorna
dois argumentos separados. Poderíamos executá-lo assim, valor
val um e valor dois. Então podemos dizer, ok, vamos tentar imprimir o valor um e o valor dois
para ver o que obtemos. Então podemos ver, ok,
estamos recebendo sim, estamos recebendo isso e
estamos recebendo isso também. Estamos vendo que podemos retornar
de uma função separar os diferentes objetos
separados por vírgulas. E isso criaria uma tupla
com os objetos separados. E então, com estes, poderíamos usar a
desembalagem de tupla ou podemos simplesmente mantê-lo embalado como uma tupla e, em seguida, podemos imprimir
esses valores separadamente. Finalmente, vamos analisar
os conjuntos também. Então, define como um tipo de dados
que permite
armazenar vários itens
em uma única variável. Eles são um dos quatro tipos de dados
internos no uso do
Python para
coleções de dados de armazenamento. Os outros três são listas,
tuplas e dicionários. Em seguida, os conjuntos não permitem que valores
duplicados sejam imutáveis
em ordenados e indexados. A parte relevante aqui
é que os conjuntos não permitem valores duplicados.
Para criar um conjunto. Usamos suportes encaracolados. Você pode dizer que meu conjunto
é igual ao valor um, valor de dois valores e,
em seguida, imprimir meu conjunto. Podemos ver que ele imprime valor
da tela de um a w. E você pode ver
que não está ordenado. Assim, pode ser em um
valor contábil de pedidos aleatório atendido e caiu. O importante é que eles não podem aceitar valores duplicados. Sempre podemos transformar um conjunto
em conjunto em uma lista. Usando a função list. Podemos sempre usar a função set também
para fazer o oposto, para virar uma escuta a um conjunto. Um exemplo disso seria, digamos que tivéssemos uma lista
com valor para o valor n, e vamos repetir o valor para. E se nós imprimirmos a lista. Em seguida, criei meu conjunto e
fiz o conjunto da minha lista, depois imprimiu meu conjunto. Vamos ver o que acontece aqui. Limpe a tela
abaixo e execute-a. Vemos que estamos
recebendo minha lista. É claro que sabemos que estamos
recebendo um conjunto porque o
definimos como um conjunto porque
havia colchetes encaracolados. Agora estamos lista de financiamento. Então agora ele deve
funcionar. Certo, estamos perdendo uma vírgula aqui.
Agora, ele funciona. Temos a lista que tem
valor uma maneira de valorizar dois e o valor n separado
por vírgulas e depois
ter feito uma lista. Mas, quando transformamos
essa escuta de um conjunto, nós também vemos esse valor, que é uma duplicata, removido porque é um conjunto duplicado, não
tem duplicatas. Então, sempre
que transformamos isso em um conjunto, vemos que o obtemos
nos valores únicos. Sem valores repetidos. Para examinar
alguns métodos, iríamos
analisar o método add. Assim, pudemos ver que poderíamos adicionar apenas outro
conjunto de valores quando o
executamos, veríamos, ok, adicionamos
valor ao conjunto de cima. Também podemos ver que podemos usar o valor do método remove para, digamos, por exemplo, remover. Então dizemos, ok,
vamos avaliar o valor
m um no conjunto. Há também um método sindical. Então isso seria se
tivéssemos outro conjunto, meu conjunto para digamos que o
valor de três. Certo, vamos ver
valor, valor, um. Valor para um exemplo. Então fizemos nosso sindicato. Meu conjunto para pensar que isso
retornaria exatamente. Acho que isso retornaria
comentários sobre este. Tela para maior clareza. Isso retornaria a união de ambos.
Ok, Então exatamente. Então, se tivermos dois conjuntos
diferentes, então temos um dos
conjuntos e, em seguida, fazemos uma união. Na segunda frase,
retornaria o valor
1234 e o valor n. Observe como os
valores repetidos dentro dos dois, os dois conjuntos, que
são o valor um, não
são repetidos
mesmo na união. A união é praticamente todos
os itens estavam todos nos valores que
estão em ambos os conjuntos. E aquele que você criou
usando a união e a
que você adicionou como entrada
para o método de união. Mas então não incluiria
os valores repetidos. Há outro,
outro conjunto chamado interseção que executa
algo semelhante a uma união, mas ele olha
para aqueles que são os valores comuns e, em seguida,
retorna valores comuns. Assim, podemos ver aqui que a
interseção comum de avaliação entre os dois conjuntos é o valor um, que está correto porque
esse é um valor um e valor, o valor coincide
nos dois conjuntos. Incrível, então vamos
agora fazer uma recapitulação. Vimos que
melhorias diárias levam ao crescimento exponencial a longo prazo. Você pode pensar em tuplas
são listas imutáveis. Eles não devem mudar
depois de serem criados. Crie uma tupla usando a sintaxe a seguir,
usando colchetes redondos. E pode conter qualquer
combinação de tipos de objetos. Crie uma tupla de valor único
usando a sintaxe a seguir. Acenando com uma vírgula no
final do primeiro valor. Faça referência
aos itens de tupla da mesma forma que isso usando índices baseados em zero. Por exemplo, minha tupla, estamos de volta às três. A instrução tupla
retorna uma tupla vazia ou retorna uma tupla de
outro objeto terrível. Da mesma forma que a
função list faz para essa atribuição de tupla funciona da
seguinte maneira. Se você quiser empacotar uma tupla, primeiro escreva o nome da
variável e, em seguida,
executa os valores separados por vírgulas
e entre colchetes redondos. E se você quiser descompactar,
anote os nomes das
variáveis
separados por vírgulas e, em seguida,
faça referência ao valor ou faz anote os nomes das
variáveis separados por vírgulas e, em seguida, faça referência ao valor ou referência a uma variável que
aponta para essa tupla. Objeto. Os conjuntos são tuplas semelhantes e lista as principais diferenças
que dizem, não alinhar, permitir valores duplicados e nossa data de
índice não ordenada e interminável em conjuntos indexados, como tuplas, são imutáveis. A instrução set function
funciona de forma semelhante à função list e
à função tupla. Em seguida, os novos métodos de conjunto serão
aprendidos ou os métodos de adição, união e interseção. Finalmente, vamos dar uma olhada
na seção de entendimento. Temos algumas perguntas
para hoje, seis perguntas. Mais uma vez, lembre-se de que essa
é a parte mais importante, apenas para ver que
estamos aprendendo e para garantir que estamos internalizando
o que estamos aprendendo. Boa sorte com essas postagens quaisquer perguntas que você
tenha na seção de bate-papo, na seção da comunidade
estarão ativas lá. E boa sorte e te
verei novamente amanhã.
20. Dia 17 - OOP - Definição de Classes: Bem-vindo à data 17. E vamos dar uma olhada nos objetivos de
hoje. Vamos analisar como as
perguntas são a resposta. Vamos examinar a documentação do
Python. Vamos analisar a Programação Orientada a
Objetos. Oop, e como tudo
em 500 é um objeto. A pergunta mais importante quando você está olhando para a de hoje, o que é uma classe em Python? Vamos pular direto para a seção de
aprendizado. Quero lembrá-lo de continuar fazendo perguntas
durante todo o curso. Como as perguntas apontam
sua atenção para respostas e as respostas
podem mudar o tempo. Lembre-se do elefante e como responder à pergunta
uma vez e, em seguida, manter essa incerta ao longo do tempo pode ser perigoso nos sensores
pode mudar com o tempo. Então, queremos continuar fazendo
perguntas constantemente. Ótimo lugar para
responder às perguntas é a
documentação do Python. As linguagens de programação tendem a ter uma ótima documentação com
todas as informações corretas. E mesmo programadores experientes que codificam há anos, usam constantemente
a documentação para atualizar seus conhecimentos. Mas ler a documentação às vezes
pode ser intimidante por causa de
quantos detalhes ela tem. É por isso que eu
geralmente iria
à documentação com perguntas
muito específicas eu queria responder. Para saber o que é
programação orientada a objetos, precisamos responder a uma pergunta
muito específica, que é o que nossas
classes em Python. Então, a questão que
vamos procurar é quais nossas aulas em Python. Vamos dizer
documentação. Tentamos obter a
documentação especificamente. Vamos procurar o link
python.org como a documentação
oficial. Agora você pode ver aqui
que é muito
pesado, pesado, porque
tem muitos detalhes em
muitas informações. E é por isso que estou dizendo
que é um ótimo recurso. Mas quando você tem
uma pergunta tão específica, assim como nós,
só precisamos saber
o que acontece se as aulas forem. Então, para este exemplo específico, vamos ver
o primeiro parágrafo da documentação. Vamos copiar este
parágrafo aqui. O que vamos fazer
é ver cada tópico específico referência de
dados aqui. Vamos investigar
o que são esses. Então, digamos que as classes
forneçam um meio para criar dados e funcionalidades. Funcionalidade em conjunto. Criando uma nova classe. Nova classe cria um
novo tipo de objeto. Novo tipo de objeto, permitindo que novas
instâncias, instâncias do tipo sejam
feitas desse tipo a serem feitas. Cada instância de classe
pode ter um atributo, pode ter um
atributo anexado a ele para manter
seus estados. Glass esta instância
também pode ter métodos definidos por sua classe
para modificar seu estado. momento, estou fazendo isso
para mostrar como quando,
quando dividimos as coisas
em etapas gerenciáveis e
de tamanho mordido, fica
mais fácil de entender. Então, agora vamos
analisar esses tópicos especificamente e
vamos começar a entender o que eles significam. Porque eu realmente acho que este parágrafo pode soar como uma língua estrangeira
para você e isso seria, faça todo o sentido agora por causa do estágio em que
estamos aprendendo em Python. Mas isso é
para mostrar que podemos transformar algo
que soa como uma língua estrangeira completa
em algo completamente compreensível,
dividindo-o em pedaços de tamanho mordido. Isso é o que vamos começar a entender o que
cada um deles significa. E isso nos fará entender completamente
esse parágrafo. Acontece que há
muitos programadores por aí e pessoas que escrevem
Python lá fora que nem entendem
quais são esses conceitos. E é por isso
que eles serão uma vantagem
para você entendê-los bem. Acontece também que,
uma vez que você entenda o que é
uma aula,
tudo o resto, todos
os outros assuntos dos outros tópicos serão
breves porque são, eles estão muito inter-relacionados com
o que é uma classe. E acontece que,
para entender o que é a programação orientada a
objetos, o que precisamos fazer é
entender esses conceitos, o que vou mostrar
como ser difícil de fazer. Vamos começar com um exemplo. Você pode pensar em si mesmo como um arquiteto e você tem
um projeto de uma casa. Você pode
construir essa casa usando o projeto em
quantas cidades diferentes ao redor
do mundo quiser. Você pode ir a Paris
e construir uma casa. Você pode ir para a Nova Zelândia e construir uma casa. Você pode ir para. Barcelona pode ir para o Havaí ou quantas
casas você quiser. No final, cada casa
seria sua própria casa. Mas todos eles teriam
muitas semelhanças desde que foram construídos usando
o mesmo projeto. Neste exemplo,
o Blueprint é a classe e as casas seriam as instâncias
dessa classe. Portanto, o blueprint
seria a classe e as casas seriam as
instâncias dessa classe. Você pode pensar em uma classe como um blueprint para um tipo
específico de objeto. Além disso, o termo classe e tipo são usados de forma intercambiável
em Python. Você pode usar esse blueprint para criar
instâncias individuais que terão semelhanças em
seus respectivos dados e funcionalidades. Acontece que temos
trabalhado com as aulas o tempo todo. lista é um exemplo. Se eu tiver minha lista, uma igual a C, podemos ver que quando
imprimimos o tipo minha lista, vemos que é uma classe,
classe chamada list. Se criarmos uma lista diferente, digamos que a lista dois. O tipo impresso NF, minha lista dois, obtemos a
mesma classe de tipo, classe do tipo de nome ou o
nome da lista de classes, que também é o tipo. Assim, você pode usar o tipo em
classe de forma intercambiável. Podemos ver que há
duas instâncias para separar em instâncias separadas
da mesma classe. Então, a classe é a mesma. Plantas são as mesmas, mas as casas são diferentes. As instâncias são diferentes. Em lembrar quando falamos
sobre a função list, chamamos de função tupla, essa função, todas
essas funções. Acontece que eles
não são realmente funções, mas na verdade são classes. Quando tentamos
imprimir o tipo de lista, por exemplo,
obtemos um tipo de classe. Lembre-se de que o tipo no switch
intercambiável na sala de aula realmente tem classe. Quando comparamos isso
com, por exemplo, imprimimos o tipo
da função de impressão,
vemos que é uma
função ou método incorporado. Assim, podemos ver que
a impressão é, na verdade uma função ou método e a lista não é um método de
função, mas na verdade é
uma classe de si mesma. Podemos criar nossas próprias classes usando a sintaxe a seguir. Nós ficamos na aula. Em seguida, o nome da classe. O nome das classes é, por convenção, em maiúsculas. Então podemos dizer que passe aqui. Então vamos imprimir o tipo da minha classe para ver o que
recebemos. Deixe-me ver. Ok, aqui estamos recebendo
uma classe do tipo de classe, o que tinha sido feito isso
porque está dizendo que é uma classe de si mesmo. Incrível. Então, quando
nós imprimimos o tipo disso, que foi o exemplo
que fizemos antes. Classe do tipo de classe. Impressionante, isso faz sentido. Isso nos diz que criamos nossa própria classe e é
equivalente ao que é a lista. Para criar nossa própria
instância de uma classe. Por outro lado,
correríamos algo assim. Minha classe, digamos que minha
classe um instância, uma, minha classe, minha classe, e então chame-a de um quinto. Da mesma forma como você
chamaria uma função. Vamos chamá-lo assim. E então, quando a imprimirmos, se fôssemos imprimir
o tipo da
minha classe, minha classe um, pudemos ver
que é uma classe do Maine. Minha classe principal simplesmente faz referência que é um script diferente que está sendo executado como
o script principal. E então minha classe é uma
classe definida
no script que é o arredondamento do script
principal. Isso é semelhante ao nos fazer
como se fôssemos fazer minha lista. Criaríamos uma lista. E então imprimiremos o
tipo da minha lista. Nós obteríamos como a lista de aulas
esperada. Agora fizemos muitos
progressos aqui. Temos, por exemplo, que classes ou são o
equivalente ao tipo. Portanto, podemos dizer classes ou tipo de objetos. Tipo de objetos
que são iguais
aos blueprints para
criar novas instâncias. Instâncias. Então agora temos
novas instâncias em nova classe, para que possamos movê-las. Em seguida, clique em
criar uma nova classe. Já mostramos isso também. Então, agora mantemos o seguinte. Temos em nossas classes ou
tipo de objetos ou igual
aos blueprints são usados para
criar as novas instâncias. E então ainda
precisamos entender
quais
atributos de funcionalidade de dados, são os métodos de datação. Mas já estávamos familiarizados
com um monte desses e você verá quando
entrarmos neles, mas por enquanto, isso é o que temos e
fizemos bom entre
uma boa quantidade de progresso para entender
o que isso significa que, que inicialmente começou como eles praticamente gostam de
uma língua estrangeira, estamos fazendo bons progressos. E isso será para a seção de aprendizado de
hoje. Incrível. Então, vamos fazer uma recapitulação agora. Vimos que as perguntas são as perguntas
são a
sua atenção para receber e absorver
respondidas de forma mais eficaz? Vimos que Python
é um ótimo lugar para encontrar explicações detalhadas. E a melhor maneira de usar a
documentação é ir com perguntas muito específicas com sua mente pronta
para absorver as respostas. Tudo em Python
é um objeto e , portanto, o que é Python. É por isso que o Python é uma linguagem de
programação de programas
orientada a objetos . Cada objeto tem
seu tipo ou classe. O termo classe e tipo são usados de forma intercambiável em Python. Exemplos com os quais temos
trabalhado ao longo
do tipo de string, lista, tupla,
dicionário e etc. Pensar que uma classe é um
plano de uma casa. E casas individuais construídas a partir disso para pintar como as
instâncias dessa classe. Por exemplo, uma classe
seria lista. Mas quando você cria
uma lista real, isso seria uma
instância dessa classe. Em seguida, e
veremos amanhã,
veremos como as classes podem
lidar com dados e funcionalidades, e você verá como estamos
trabalhando com isso o tempo todo. Finalmente, na seção de
entendimento. Eu tenho algumas
perguntas para você hoje em cinco perguntas. Então, boa sorte com eles e
certifique-se de fazer qualquer pergunta
que você possa ter. E se você estiver bloqueado
com qualquer um desses, não
hesite em
perguntar no chat e a seção da comunidade
estará ativa lá. Mas eu vou te ver. Boa sorte com isso e te
vejo amanhã.
21. Dia 18 - OOP - Atributos e Métodos de Classe: Este é o dia 18. Para os objetivos de
hoje, temos esmagando a curva de
esquecimento com repetição de espaço
e recall ativo. Você tem
classes, classe, dados, funcionalidade de
classe e métodos de
trovão ou mágicos definidos pelo usuário . Vamos pular direto para a seção de
aprendizado. Lembre-se de que esmagamos
a curva de esquecimento com repetição de
espaço
e recall ativo. Com o tempo, você notará como seu cérebro se torna
mais forte e você pode fazer outras coisas no
seu dia-a-dia com mais facilidade e foco. Voltando para
onde paramos, lembre-se de que isso costumava ser um parágrafo que soava como
uma língua estrangeira para nós. E agora estamos começando
a entender melhor. Temos as classes ou o
tipo de objetos são iguais a blueprints para
criar novas instâncias, temos que as classes podem
conter beta, bem como funcionalidades e
atributos que criam um estado e, em seguida,
também métodos também. E veremos como tudo isso combinou com os
entrelaçados. Agora que sabemos o que
é uma aula e como criar a nossa própria, vamos falar sobre como as aulas
podem armazenar seus próprios dados. Estamos armazenando esses
dados de forma semelhante ao que vimos até agora
com variáveis. Chamamos isso de atributos de
variáveis de classe. Podemos ter atributos de
classe
e atributos de instância. As diferenças que
um atributo de classe é o mesmo para todas as instâncias. E uma instância a atribuir
é exclusiva para cada instância. Quando você declara um objeto
mutável como um atributo de classe e o
altera em uma instância. Isso também mudará para todas as
outras instâncias. Mas quando você cria um objeto mutável como
um atributo de classe, o
NS reatribui o
atributo de classe em uma instância. Essa instância agora apontará para o novo objeto
atribuído a ela, mas todas as outras
instâncias manterão o atributo de classe original. Vamos fazer um exemplo aqui e dizer que
vamos criar uma classe que representará
uma casa. Isso também atribui
uma string de doc de ponto,
ou seja, classe
para representar house. Agora é aqui que criamos os atributos de classe dentro
da própria definição de classe. Digamos que o primeiro atributo que queremos
atribuir como a cidade, vamos dizer que a cidade onde a casa fica em Barcelona, vamos dizer quarto. Vamos dizer que
vai ser três quartos. E depois em um apartamento de dois
banheiros. Então podemos dizer
algo como chão. Digamos que você pode ter
azulejo, madeira, tapete. É uma lista com os
diferentes tipos de pisos de um piso que ele tem. E você pode ver até ter
um atributo booleano que diz ter pool e dizer igual
a true, ele tem que agrupar. Isso pode ser uma definição
da nossa classe de robôs. Então, mais tarde, podemos dizer: Ok, vamos atribuir, criar duas
instâncias desta casa de classe. Como faríamos isso? Bem, podemos dizer como
s1 é igual a casa, depois casa igual a casa. Isso criaria duas instâncias
separadas da mesma classe, o mesmo blueprint da casa, certo? Portanto, é um blueprint que
criou agora duas instâncias
separadas. Então, por exemplo,
agora podemos dizer, podemos começar a fazer
algumas alterações. Podemos dizer que
duas casa em cidade, vamos mudá-lo para Sydney. Em seguida, casa dois quartos diminuiu isso em
um menos igual a um. Casa duas casas de banho. Digamos que a mesma coisa
menos igual a um, apenas diminuindo por um. Estamos mudando, estamos mudando
a segunda instância
da casa ou criamos
para que possamos mudar os atributos e ver
o que acontece certo? Então vamos dizer que
casa, dois andares. Forçar a remoção. Bem, deixe-me vê-lo
exatamente. Pisos. Remova. Vamos remover o piso de
madeira dura. É incrível. Agora, vamos fazer o seguinte. Vou pular essa
parte, mas praticamente o que vou fazer é
imprimir todos
os aspectos de cada atributo de
cada instância para os aspectos de cada atributo de cada que possamos ver e compará-la
contra os dois. Aqui vamos nós. Imprimimos
uma linha em branco de mesclagem e, em seguida,
imprimimos uma descrição dizendo imprimir atributos de uma
instância. O próximo simplesmente fez. Imprima cidade, uma, cidade da casa1, todos com f cordas. E então eles fizeram um título com a cidade que o
capitalizaria. Então temos
quartos, banheiros, pisos, que devem
ser iguais ao piso. Tem um pool verdadeiro
ou verdadeiro ou falso. E então a mesma
coisa exata, mas
para casa em casa para exemplo. Então, vamos ver o que acontece
quando executamos isso. Recebemos o primeiro,
Barcelona três, quarto para banheiro,
azulejo e tapete. Isso já é estranho
porque deveríamos ter tapete de azulejos
na madeira. Então também temos a
casa da casa, quando temos onde
esperamos ter Sidney dois quartos, um por dois quartos,
um banheiro, tapete de azulejos, e tem uma piscina. Verdade. O que acontece aqui é
que quando fazemos isso, quando fizemos isso para a segunda, para a segunda instância, estamos realmente fazendo isso o mesmo objeto que
está contido aqui, e é atribuído
à classe saturada. É por isso que as alterações cada instância
criada com isso, com esse atributo de classe. Onde temos que
evitar que isso
aconteça é, na verdade,
o seguinte. Teríamos que dizer casa
em casa dois andares, andar igual a casa, casa a andar. Cópia. Teríamos que
criar uma cópia disso. Então podemos dizer casa em
chão, remover madeira dura. É assim que faríamos. Nós executaríamos esta casa perfeita, podemos vê-la estilo tapete de madeira
dura e, em
seguida, como tapete de azulejos
suis apenas baseado em não, vimos que os dados são realmente
através de atributos. Atributos. Funcionalidade. Acontece que para adicionar funcionalidade
às nossas classes, fazemos isso através do
método de mensagem, simplesmente dos métodos. Como fazemos isso? Bem, lembre-se de como falamos
sobre métodos para listas, cadeias de caracteres e outros
tipos de dados como, assim. Bem, acontece que
é realmente semelhante
ao tipo de objetos que estamos criando agora com classes. Porque sempre que quisermos
criar uma nova lista, digamos minha lista, execute a lista,
digite e imprima minha lista. Recebemos uma lista vazia
porque estávamos criando uma instância por meio do
tipo ou da lista de classes, estamos criando uma
instância e, em seguida,
imprimimos minha lista. Então também podemos obter o
diretório da minha lista, que retornaria para
imprimi-lo na tela, retornaria todos os
métodos que temos. Temos um método de cópia, temos que acrescentar índice do
método pop, o método de remoção. Já temos métodos. Esses tipos de
listas que temos, esse tipo de lista
nesta instância que
criamos uma instância, imprimimos o n já que
vimos que é uma lista vazia e vazia. Mas quando tentamos fazer o método direto ou
a função dir, vemos todos os métodos que
estão dentro dessa instância. Bem, o mesmo acontece com
nossas aulas. Podemos simplesmente criar
métodos em nossas classes que adicionarão funcionalidade
às nossas classes. A maneira mais simples de
definir um método dentro da classe que definimos
como a seguir. Se tivermos nossa classe chamada minha casa em uma classe
para representar uma casa, simplesmente a
definiríamos como
uma função dentro de um método. Meu método, vamos apenas
dizer que o método Grant foi executado. Então, se criarmos uma instância, digamos que Bem, criamos uma
instância da minha casa, da
minha casa e, em seguida, administramos minha
casa um, meu método. Vamos ver o que acontece aqui. Ele diz que nos dá um erro. Ele diz erro de tipo. Meu método usa 0 argumentos
posicionais, mas um foi dado.
Neste caso. Acontece que para uma classe
e eu **** métodos de classe, sempre
precisamos passar
no auto-argumento. Quando executamos isso. Por outro lado,
veríamos OK, método executado. Tenha em mente que
precisamos passar o auto-argumento por causa
de uma coisa especial sobre métodos é que
o objeto de instância é passado como o
primeiro argumento
da função
toda vez ele é executado. Pense no auto-argumento
simplesmente como a instância em si. Então ele está passando a instância em si para a função é,
é exatamente como
se eu dissesse aqui embaixo,
minha casa é igual ao meu método e
depois passar na minha casa um. Vemos que o método bronze novamente porque estou
chamando minha casa, que é um objeto, que é uma classe nesse
estado, neste caso. Então estamos chamando meu método, que é um método
dentro dessa classe. E então estou passando
a instância, que é a instância em si. Isso equivale a dizer isso onde
simplesmente queremos fazer isso
porque fomos, só
queremos
chamá-la de casa
em si para a instância em si, chamada a função em si, e, em seguida, faça com que a
própria instância seja passada para a função
automaticamente pelo Python. Isso é o que a
perda do Python e foi
aí que recebemos o erro antes. E foi aí que
funcionou depois que incluímos o auto-argumento dentro
do próprio método. Python também tem o que são chamados de métodos
mágicos ou dunder. Trovão para um sublinhado duplo, que são simplesmente
métodos que têm algum tipo de
funcionalidade especial para eles. E cada um tem um propósito muito
específico. Só precisamos lidar
com métodos de trovão sempre que tivermos um objetivo muito
específico em mente. E sabemos que queremos
usar esse método
dunder para lidar com isso. Vamos dar esse
exemplo por um segundo. Usamos as variáveis de classe ou atributos de
classe para atribuir todos esses atributos
a uma única classe. E usamos um
atributo de classe para isso. Mas e se quiséssemos
fazer algo assim? Minha casa, uma igual à minha casa, e depois diga Barcelona, três a quatro quartos
e banheiros. E então para o
azulejo passaria
na lista aqui, os pisos. Então é verdade. E
se quiséssemos passar isso pois
parece mais uma função, mas é simplesmente uma maneira de
iniciar uma instância de uma classe com os atributos
passados para eles porque não
queremos que todos eles Barcelona ou ter o
mesmo tipo de piso. Queremos
defini-los exclusivamente em cada vez, toda vez que
declaramos uma instância de classe. O que você acha que poderíamos
fazer por essa situação? Bem, acontece que existe um método
dunder muito específico chamado
método para inicialização. Digamos que inicialize a instância o que esse método dunder
faz ou qual o comportamento
específico que
esse método de trovão tem. O método init é que ele
será executado toda vez
que uma nova variável ou uma nova instância de
classe declarada, ou sempre que uma nova instância for executada, então isso seria executado. Por exemplo, se eu
inicializei a
classe ,
fiz aqui, vou comentar isso porque ainda não
queremos usar isso. Queremos dizer minha casa. E se fizermos isso? Podemos dizer, Ok,
classe inicializada. Vemos que sempre que
inicializamos a classe, criamos uma instância de uma
classe, ela é inicializada. E então esse códon lá
no método init de bronze, também é chamado
de método construtor. Construtor. O que faríamos para
esse exemplo específico, para que isso funcionasse,
simplesmente usaríamos o seguinte. A sintaxe a seguir
faria auto, auto cidade igual
a, igual à cidade. Em seguida, passe para dentro. Cidade aqui fora. Quartos independentes iguais a quartos de cama, quartos, banheiros, pisos e banheiros, e depois os
definem aqui. Flores florescem. Então, o self tem. Piscina igual a tem piscina. Agora, quando executamos isso, inicializaríamos essa
classe e, em seguida,
teríamos cada atributo
atribuído a essa classe por causa da
maneira muito específica como o método init funciona. Outro exemplo de
outro método, ou poderíamos criar
um método regular, pode ser um método de
descrição de impressão. E aqui está um exemplo. Definimos a instância,
um método de descrição
e, em seguida, simplesmente imprimimos descrição
de tudo da instância. Então, sempre que
quiséssemos executar esse método, minha casa uma
descrição de instâncias, salve isso. Poderíamos vê-lo imprime cidade
de épsilon e quartos, três banheiros para forçar o hospital de tapete de madeira
intitulado igual a verdadeiro. Podemos ver que é um exemplo de outro tipo de método
que poderíamos criar. É aqui que estamos agora. Vimos essa funcionalidade também. O que isso significa é que
isso significa que, através métodos, funcionalidade
através de métodos. E estes também podem
ser o que são chamados métodos de dunder
mágico
para sublinhado duplo. Então vimos esse estado, estado praticamente como
um instantâneo da sua classe. Então, afirme que podemos pensar que
o status é um subconjunto de dados
e os atributos. Se você fosse tirar uma foto da sua classe ou do que estamos fazendo com
seu objeto a qualquer momento, esse seria o
estado do seu objeto. Podemos dizer aqui
instantâneo do seu objeto. Então agora podemos ver
com mais clareza que o parágrafo
que inicialmente começou como língua estrangeira
agora faz muito mais sentido. Se fôssemos para
trás, leia de volta, eu não fiz. Neste momento, entenderíamos
conceitos que ele tem. Isso é bastante impressionante apenas para
transformar a língua estrangeira em
algo compreensível. Então, parabéns por isso. Doce. Então agora vamos fazer uma recapitulação. Vimos que cruzamos uma curva de
esquecimento com repetição de
espaço
e recall ativo. Nosso cérebro se fortalece
com o tempo e
se tornará mais nítido e mais
focado no dia-a-dia. Agora vamos ver o que,
onde estamos. Podemos ver que sabemos que
nossas classes ou tipos de subobjetos são iguais
aos planos. E, em seguida, novas instâncias
são iguais às casas. O equivalente a blueprints
e casas para classes são plantas e instâncias
são casas individuais. Em seguida, vimos que os dados
por meio de atributos nos
dão o estado por meio
do instantâneo do objeto. Em seguida, a funcionalidade
atinge métodos, que não podem ser métodos
mágicos ou dunder. Dunder para métodos de
sublinhado duplo. Vimos que as classes têm dados por meio de atributos e métodos de
funcionalidade. Podemos pensar em
atributos como variáveis que pertencem a um objeto e métodos como função
que pertence. Mesh admite isso como funções
que pertencem a um objeto. Métodos Dunder para sublinhado
duplo, também chamados de métodos mágicos, são métodos que têm funcionalidade
especial e só devemos
manipulá-los quando queremos trabalhar com esse específico
funcionalidade. O método init é o
método add dunder de uma classe que será executada toda vez que
criarmos uma instância da classe set. Então sabemos que eu se refere
a uma instância em si. Nós o passamos como o
primeiro argumento para todos os métodos dentro de uma classe. Você poderia usar outra variável, nome em vez de self, mas você pode usar qualquer
nome que quiser, mas é o que
usamos para convenção e tornar seu código mais
legível por outros programadores. E, finalmente, vamos dar uma olhada na seção de
entendimento para hoje. Temos para perguntas para hoje. Mais uma vez, leia-os, pause o vídeo agora mesmo
e depois passe por eles. Se você precisar de ajuda, sinta-se à vontade para postar
qualquer dúvida
no chat e a comunidade
estará ativa lá. E se não, você pode
se sentir livre para entrar e nós seremos
úteis,
por lá também. Boa sorte com estes e te
verei novamente amanhã.
22. Dia 19 - OOP - Herança: Bem-vindo ao Dia 19, o circuito dos objetivos de hoje. A primeira é olhar para outra vantagem de
ter uma mente aberta. E o segundo é
olhar para a herança de classes. Vamos analisar quais são as classes de
pais e filhos. Com isso, vamos direto para
a seção de aprendizado. Ter uma mente aberta
nos permite olhar para as coisas objetivamente e
onde quer que surja uma maneira melhor de
fazer algo, será capaz de
adotá-la e melhorar rapidamente. Uma mente aberta nos impede de ficar com nosso antigo caminho simplesmente porque pode ter sido a maneira que fizemos
em toda a nossa vida. Com a mente aberta,
podemos ver todas as opções e escolher
a que funciona melhor. Essa abordagem rapidamente faz você se destacar sobre todas
as pessoas que lideram opiniões
subjetivas
atrapalham a tomada de decisão. Há situações
em que queremos
criar uma classe com base em
outra classe. Uma classe herda de outra. A classe de nível superior é
chamada de classe pai. Aquele que herda dele
é chamado de classe infantil. Vejamos esse exemplo de uma classe que temos
como classe pai. Minha classe dos pais. Vamos documentar. Será uma cadeia de impasse. Em seguida, vamos definir um método
init para adicionar o auto inicializa uma instância da minha classe pai. Então vamos
dizer que eu mesmo é igual a. Vamos adicionar como
parâmetro nesse método. Então vamos dizer impressão. Vamos dizer f string de
e dizer que você acabou de inicializar, Misha, inicializou uma instância. Minha classe dos pais. Então
vamos dizer dizer print c igual a aqui em cima. Nós realmente não precisamos do
upstream colocado aqui em baixo. Nós fazemos argumentos
iguais a argumentos. Incrível. Agora vamos
adicionar mais um método, que simplesmente
será meu método pai. Passamos em si mesmos. Simplesmente, somos apenas isso
é simplesmente um método, um método da minha classe pai. A única coisa que vamos
fazer é
imprimir o método pai executado. É por isso que vamos fazer agora
temos nossa classe pai, temos o método interno e
temos meu método pai. Então vamos
definir outra classe, que será meu filho. Minha aula infantil. Então, quando
queremos herança, quando queremos herdar
de outra classe, queremos passar na minha
classe dos pais para a classe de filhos. Novamente, isso
seria uma string de documentos. Em seguida, definiríamos
o método init. Digamos que queremos dizer a si mesmo. Então as crianças
argumentam crianças argumentam criança. E então aqui em baixo simplesmente
dizemos igual a criança para criança. Então vamos imprimir
simplesmente algo para fazer login. Você diz, apenas
inicializado, inicializado. Nova instância da minha
turma, minha classe infantil. Vamos dizer a corda F com
o então filho Senhor. Finalmente, vamos ter
o método filho. Meu método filho
que vai tomar em si mesmo e simplesmente
vai imprimir. Mas vou adicionar
um método de string doc. Meu filho. Basta imprimir o método
filho executado aqui, você pode ver que
eu liguei em uma super, super função, que
é simplesmente chamadas e faz referência à instância pai. Então, ele vai fazer referência
à classe pai, vai inicializá-la
passando no argumento. Quando vemos aqui que
temos esse argumento, passaria para a função chamada na classe pai. E isso inicializaria
a classe pai. Se tivéssemos outros
argumentos aqui. Por exemplo, são R2 ou algo que
tivemos mais argumentos. Nós adicionaríamos esses
argumentos adicionais aqui também, R2, e então passaríamos isso em R2, simplesmente
replicaríamos tudo o
que está na classe pai e passaríamos isso para
a classe filho como bem. Mas neste caso, temos
apenas um argumento, então apenas um chamaria a super função
causará a classe pai. Inicializamos, passamos
o argumento e, em seguida, simplesmente o
executamos como qualquer outro método de construtor inicializado. E também adiciona alguma
documentação a essa instância da minha classe infantil. Incrível. Agora, quando o fizermos, quando fazemos meu filho, digamos que meu filho seja igual
à minha classe infantil. Eles vão passar no argumento um. Digamos que o valor um, valor dois. Então vamos
dizer Meu filho meu, e depois executar os métodos, meu método filho. Então
vamos vê-los. Meu filho também tem
meu método pai. Quando executarmos isso, vamos dizer, ok, você apenas inicializa
uma instância da minha classe pai
porque eles são super, novamente a super
função chamada sin, a classe pai, e
em seguida, inicializa-o. Quando você chama o
método init das super,
super referências,
da classe pai
e, em seguida, ele o inicializa com o argumento
que você transmite. É por isso que você diz que
estamos imprimindo aqui. Acabamos de inicializar a
instância da minha classe pai. Então você obtém o valor do argumento um. E então diz que você acabou de
inicializar na incidência da minha, minha classe infantil, você é argumento
valor um e valor dois? Então você vê que
nada mais aconteceu, que os métodos não foram executados. E isso fala simplesmente porque não os
chamamos
da maneira certa. Precisamos apontar que
passaria por
referenciá-los usando
os suportes redondos. Quando fazemos isso dessa
maneira, podemos ver, ok, método
filho executado, o método
pai executado. E ambos correram
usando a classe filho, que herdou
da classe pai. Alguns exemplos em
que podemos querer usar herança podem ser. Um não é. Por exemplo, se quisermos
criar um aplicativo para uma escola, temos uma aula pessoal. E então, como classe pai, a classe pessoa
seria a classe pai. E então poderíamos ter
algumas aulas para crianças, que podem ser alunos, turmas e professores. Podemos ter a pessoa que
pode ter muitos atributos para uma pessoa que pode se aplicar tanto aos alunos
quanto aos professores. Mas então podemos ter algumas aplicações
mais específicas para os alunos e
professores separadamente. Isso pode ser um exemplo. Outro exemplo
pode ser que você pode ter uma classe de pais se
estiver tentando fazer um NOP para algo
relacionado a cães ou animais de estimação. Você pode ter uma
classe de pais chamada cão. E então as aulas infantis para as diferentes raças são os diferentes tipos de cães
que você usa no futuro. Você pode ter apagado o cão, onde você pode ter um show dog
ou você pode ter um cão de estimação, dissuadir diferentes
aplicações que você poderia usar. Herança, herança
que pode ser útil. Grade. Então, vamos fazer uma recapitulação. Agora, ter a mente aberta nos
permite adotar as opções objetivamente melhores independentemente de qualquer
preconceito que possamos ter. Inicialmente. Podemos criar classes
filho que herdam de classes pai
adicionando a classe pai na definição
como Blackstone, seguindo a sintaxe como em
classe, classe filho e
entre colchetes redondos, a classe pai. A herança de classes funciona quando
queremos criar uma subclasse e não nos repetir
por ter que reescrever todos os
dados e funcionalidades transferíveis. Usamos uma
função super integrada para fazer referência
à classe pai dentro
da classe filho. Sempre que usamos uma classe filho, e a classe filho
tem precedência para quaisquer dados ou funcionalidades antes que o
Python pesquise
pela classe pai. E, finalmente, temos
a seção de entendimento. Você tem cinco
perguntas para hoje. Novamente, se você tiver alguma
dúvida sobre isso, sinta-se à vontade para perguntar e na comunidade porque
estaremos ativos. Eles não são que é ótimo e, em seguida, boa sorte com isso e nos
veremos novamente amanhã.
23. Lição 20: Bem-vindo a outro dia de descanso. Uau, parabéns por
chegar até aqui no curso,
a menos que eles incrivelmente empolgados
para tê-lo aqui, porque isso significa que
você foi capaz superar a parte mais difícil, que é a primeira
alguns dias, você conseguiu se manter
consistente até este ponto? É como um trem quando
está em ponto completo, entrar em movimento
é a parte mais difícil. Mas então fica mais fácil e
fácil ao longo do tempo se você for consistente antes de perceber, o trem está se movendo
em velocidade máxima e o esforço que você precisa
fazer é mantê-lo lá. Porque um objeto que
já está em movimento permanece em movimento, a menos que haja uma
força que trabalhe para detê-lo. Certifique-se de revisar todas as lições ou qualquer coisa que
possa ser útil. E vou demorar um segundo
para lembrá-lo sobre as três chaves para um
aprendizado eficaz para obter consistência. Basta voltar todos os dias e
dar tudo o que você tem. Parabéns por colocar
o movimento de treinamento. Agora eu
encorajo você a aproveitar esse impulso que você está
carregando e a terminar uma estratégia final
forte e mantê-la aprendendo após a repetição
espaçada. recall ativo é um
excelente exercício de trazer. Combine isso com recuperação
racional e você esmagará a curva de
esquecimento. Finalmente, para perguntas
ou respostas, mantenha a mente aberta. Seja curioso e aborde o aprendizado
com a mente de um iniciante. Há sempre um
novo caminho pelo qual não
percorremos . Tão incrível. Aproveite o dia de descanso.
Certifique-se de resolver quaisquer perguntas que você
tenha de dias anteriores. E te vejo de
volta aqui amanhã.
24. Dia 21 - Arquivos: Bem-vindo ao Dia 21, o circuito dos objetivos de hoje. Primeiro, queremos analisar
a importância de sermos consistentes. Vamos revisitar isso. Em seguida, vamos
examinar os arquivos. Vamos analisar
tudo sobre arquivos. Então, vamos direto
para a seção de aprendizado. À medida que
você continua voltando, você continua reforçando o
hábito de aprender
e novidade e está facilitando o
retorno a cada dia. Se você estiver aqui. Isso significa que você já
fez um ótimo trabalho nisso. Então, parabéns. Por que arquivos? Bem, acontece que
há uma ótima maneira de usar dados
já salvos ou salvar novos dados criados
pelo seu programa. Para abrir um arquivo, usamos
a função open. E a função open
retorna um objeto de arquivo. Então, vamos criar
uma variável chamada arquivo. E vamos
passá-lo no que é retornado do arquivo,
a função aberta. A função open
recebe o nome do arquivo, o nome do arquivo ponto TXT, por exemplo. Isso seria o que é chamado
de caminho de arquivo relativo porque pressupõe
que o arquivo
já está na mesma pasta em que estamos atualmente. Mas um caminho de arquivo absoluto
seria algo assim. Este seria um exemplo
de um caminho de arquivo absoluto. Você o passará em cada pasta
do diretório raiz? Este é um exemplo do que
um sistema Mac OS usaria. E se você tivesse
o Windows, adicionaria um C dois pontos antes que
os pontos arquivassem o caminho. Mas aqui estamos apenas, vamos usar apenas caminhos de arquivo
relativos. Neste exemplo, já temos um arquivo criado um arquivo de texto, que é este que diz
Esta é a primeira linha,
a segunda linha
e, finalmente, deixou arquivo TXT de ponto de
terceira linha, e já está em a mesma
pasta em que estou atualmente. Chama-se sample.txt.
E como ela, como não é uma pasta sustentada, poderíamos usar um caminho de arquivo
relativo. Então eu poderia dizer exemplo TXT. Isso abriria esse arquivo
nesse objeto de arquivo. A primeira coisa que
precisamos saber sobre objetos de
arquivo é que eles têm o que é chamado
de posição atual. E para ver qual é a posição
atual, simplesmente
fazemos o objeto de arquivo ou
esse objeto de arquivo e, em seguida,
fazemos a função tail, o método tail para esse objeto. E podemos dizer que está
na posição atual 0
porque começa na
terceira posição atual de zeros. Isso significa que a
posição atual está aqui atualmente. No início
do arquivo. Há outro método chamado, chamado método de leitura. E esse método retorna algo que
queremos imprimir na tela. Se fizermos objeto de arquivo, leia, esse método em que
ele vai fazer é começar
na posição atual, que podemos dizer
agora
olhando para o método tilt telling. É apenas 0 posição
começará
na posição atual
e
vai até o fim. Se não especificarmos
outro caractere aqui, se dissermos ao
objeto do arquivo para
lê-lo, ele
começará em 0 e terminará no final do arquivo. Assim, podemos ver que
há uma primeira linha, segunda linha e,
finalmente, a terceira linha. Isso é exatamente o
mesmo que estamos recebendo do nosso arquivo de texto que
criamos de antemão. Neste momento, se
dissemos o método de cauda do
pato do objeto de arquivo, poderíamos ver que ele está
na posição 58, V0, digamos $1 longe de 0 até o final, que acabou
sendo posicionado 58. Como vamos para
a primeira posição novamente? Bem, como mudamos a
posição desde o início ou para
outro lugar dentro do arquivo. Bem, há outro
método para isso,
que é chamado de método Seek. Se
buscarmos 0, voltamos para
a posição 0 novamente, o início do arquivo. Porque se fôssemos ler
o arquivo, por exemplo, livre para lê-lo e depois
tentar lê-lo novamente. Toda vez que ele
lê aqui e lê, e foi
até o fim. A posição atual
foi até 58. É por isso que sempre que executo o objeto de
arquivo lido novamente, ele não imprimiu nada
porque eles precisam executar o método Seek primeiro para tomar a
posição atual até 0. E então eu posso lê-lo novamente
desde o início. Sempre que abrimos um objeto de
arquivo em Python, podemos ver que ele
tem o objeto arquivo, o atributo fechado
igual a false. Então, quando você olha para
o objeto de arquivo, Fechado igual a false agora. E poderíamos usar a
função close ou o close, o objeto de arquivo de método de
fechamento, perto para fechar o arquivo. Dessa forma, sempre que
executamos o arquivo de fechamento, podemos ver que há
igual verdadeiro e
queremos fechar nossos arquivos
depois de usá-los. Depois,
terminamos de usá-los. fim de reduzir o uso
da memória do nosso script. Não há uma maneira mais
simples usar arquivos em Python, que é usando a largura, a instrução width
ou o bloco width. Nesse caso, usamos com open. E, em seguida, execute o nome do arquivo, que neste caso é o
exemplo bloqueios dxdy. Como objeto de arquivo. Então, aqui, executamos as
funções ou executamos
o código para o qual queremos usar
nosso arquivo de arquivo. Neste exemplo, vamos
usar uma linha for-loop. No objeto de arquivo. Vamos imprimir a linha. Veremos que ele imprime todas as linhas
do objeto de arquivo. Agora, porque o arquivo já
continha novas linhas aqui, sempre que faço isso, estou adicionando uma nova linha, um novo caractere, já que
já tem uma nova linha. E a função de impressão
toda vez que é executada, adiciona uma nova linha também. É por isso que está adicionando duas
novas linhas ao mesmo tempo. Então, para remover isso, podemos usar o método strip. E dessa forma, obtemos o arquivo sem as novas linhas adicionais. O bom da instrução width é que sempre que você
usar um bloco de largura, toda vez que o
bloco de largura terminar ou terminar, ele fechará o
arquivo automaticamente. Ele abrirá o arquivo
como um objeto de arquivo. Em seguida, você pode usar
o objeto de arquivo. Você pode usar um loop for para percorrer cada
linha no objeto de arquivo. Você pode imprimir cada linha. E quando esse bloco de código terminar de executar o
arquivo,
chegaremos, chegaremos perto automaticamente sem que precisemos
declarar isso explicitamente. Acontece que a
função aberta podemos
passá-la no caminho do arquivo
, bem como no modo. Até agora ainda não
passamos no modo, já que ele usa o
R tem um padrão. R é para leitura aberta um
arquivo somente para leitura. Então, até agora estamos afirmando
implicitamente que estamos abrindo o arquivo para leitura. Mas existem outros
tipos de modos que
poderíamos adicionar e poderíamos
usar, por exemplo, W é abrir um arquivo apenas
para gravação, e isso excluirá o
arquivo se ele já existir, ou criará um com isso nome. Se ainda não existir, então o x está quatro aberto
para criação exclusiva, falhando se o arquivo
já existir, então a é para
abertura para escrita, anexando o
final do arquivo. Então, um é para anexar. B é para o modo binário, usando isso ao longo da
leitura e escrita. E T é para o modo de texto, que é o padrão usando isso ao longo do modo de leitura que
estamos escrevendo. Então B e T, T é o
padrão e B seria, não
seria, nós não
gostaríamos muito brilhante para um binário, um arquivo binário. Então, mais é para abrir para atualização,
leitura e escrita. Alguns exemplos são plus, o que significaria
abrir um arquivo tanto para leitura quanto para escrita
sem truncar primeiro. E então w1 plus
que estão abrindo o arquivo para leitura e gravação. Truncando o arquivo primeiro. Para abrir o arquivo para leitura no modo
binário, podemos usar o RB, que tem leitura
e, em seguida, binário para anexar a um arquivo
binário usado AB. Os arquivos de texto contêm arquivos
binários de arquivo de strings contendo
séries de bytes. Dito de outra forma,
os arquivos de texto são legíveis por
humanos e os arquivos
binários não são. Alguns exemplos de
arquivos binários incluem imagens, vídeos e arquivos compactados. E, finalmente, poderíamos
usar o
atributo de objeto de arquivo mode para obter o modo
no qual o arquivo estava aberto. Então, como exemplo de como
criaríamos um novo arquivo, poderíamos fazer algo como
este exemplo, ponto TXT. Então vamos dizer
direito como objeto de arquivo. Então aqui podemos
usar o objeto de arquivo,
objeto , direito, método
para escrever um novo texto. Nesse caso, o que
acontecerá sempre que eu
voltar ao meu arquivo, esse era meu arquivo de texto. Sempre que eu volto a este arquivo TXT de ponto de
exemplo, ele não incluiria tudo isso. Se eu voltar e
tentar abrir esse arquivo. Este é o arquivo que
eu conseguiria se
voltasse para encontrá-la e
tentasse abrir esse arquivo. Porque o w o que
ele faz é que ele trunca o arquivo primeiro
e depois escreve nele. E o método de gravação é usado para gravar o suficiente
para anexar ao final do arquivo. Com o método direto,
há certas coisas que você
pode querer considerar. Por exemplo, as operadoras retornam a nova linha ou
os caracteres de terminações de linha para os textos que
você anexará. Como depende do final
da linha, você pode usar esses caracteres para cada um como um carro retornar a nova linha em finais de linha
tanto para Windows quanto para as unidades
para sistemas operacionais Mac. Doce, então vamos fazer uma recapitulação agora. Os arquivos são uma ótima
maneira de salvar dados fora da
execução atual do seu programa. A função interna aberta
aceita um caminho de arquivo, que pode ser caminhos relativos
ou absolutos, e retorna um objeto de arquivo. Você pode usar a função
aberta e , em seguida,
métodos de objeto de arquivo, como métodos ler ,
informar, procurar e fechar. Mas a
maneira mais conveniente de trabalhar com arquivos é apenas a instrução
width, usando a instrução width open file.txt como file
object tem a vantagem de que o
arquivo é automaticamente fechado após a execução do bloco ou
do bloco de código, mesmo que ocorra um erro ao imprimir todas as linhas
do arquivo que você pode usar para linha no objeto de arquivo e
dentro do bloco de largura
e, em seguida, imprimir cada um
dentro do loop for-loop. Depois, existem modos
diferentes e diferentes. Você não pode reabrir a função. O padrão é RT, que é leitura e texto. E um comum que você
pode usar como o r pluss, que abre um modo de arquivo. No modo de texto para
atualização e leitura. Um modo comum pode ser R plus, que abre no modo de texto para atualização, leitura e escrita. E, finalmente, um conjunto para
a seção de entendimento. Hoje temos três perguntas que têm a ver
com o manuseio de arquivos. Então, boa sorte com eles e nos
avise se você tiver alguma dúvida na seção da
comunidade, ele estará ativo lá. Se não, boa sorte com estes
e te vejo amanhã.
25. Dia 22 - Tratamento de Exceção: Bem-vindo de volta ao dia 22. Bom. Os objetivos atuais,
temos erros e exceções no
tratamento de exceções. Trata-se de exceções hoje. Vamos pular direto para a seção de
aprendizado. Existem pelo menos
dois tipos de erros. Temos erros de sintaxe e
, em seguida, temos exceções. Se fôssemos executar esse código, veríamos que
receberíamos um erro de sintaxe, sintaxe
inválida porque
essa sintaxe não é válida. Então, esse seria o
primeiro tipo de erro. E então, se tentarmos
executar algo assim, como uma divisão 0, obteríamos um erro de divisão 0 e isso seria uma exceção. O mesmo se executássemos
o código abaixo, receberíamos um
erro de nome porque Pam é uma variável indefinida não
está definida. Então, finalmente, se
tentássemos adicionar uma string
como um, como um inteiro, obteríamos um
erro de tipo só pode concatenar strings para strings. Nós receberíamos um erro de tipo, que é outro
tipo de exceção. Podemos ver aqui como as exceções podem vir
em diferentes tipos. Então, os exemplos
que mostramos antes, somos ZeroDivisionError, erro de
nome e par de tipos, podemos usar um bloco try e exceto exceto para lidar com possíveis exceções
que possam surgir. O que isso faz é que ele
tentará executar o bloco de código
sob a instrução try. E se uma exceção for levantada, ela parará de executar
o try-block e verificará o bloco exceto. Se a exceção gerada corresponder a
qualquer uma das exceções
no bloco exceto, esse bloco será executado. O que isso significa? Temos
uma tentativa e exceto bloco. Vejamos um exemplo
de um caso de uso real. Temos aqui um
loop while, embora seja verdade. Então isso continuará
infinitamente, a menos que algo aconteça nesse intervalo , onde
vamos tentar isso, vamos tentar UserInput. E vamos pedir ao
usuário que insira um número. E então vamos dizer número. Vamos transformar
isso em um número inteiro. E então vamos quebrar, exceto se obtivermos um erro de valor. Se obtivermos um erro de valor
em algum lugar ao redor deste bloco try, esse bloco exceto
será executado e, em seguida, imprimiríamos no número inválido
da tela. Por favor, tente novamente. Quando receberíamos um erro de valor? Bem, sempre que recebemos algo como se tivéssemos uma
letra como entrada, sempre que tentamos inserir uma letra, receberíamos um erro de valor
ou algo assim. Vamos tentar executar
isso como exemplo. Por favor, insira um número. Então, se eu fiz W, ele me dirá um número inválido. Tente novamente e
veja como o loop while, o while, ele é executado novamente. Como lidamos com
a exceção e em seguida, o tempo é igual a verdadeiro, e então o bloco de código é executado
novamente até que
eu tente novamente, vou continuar recebendo
algo da mesma iteração
da mesma iteração até que eu insira um número válido,
por exemplo, três. E isso significaria que o
código seria executado com sucesso. Ele será quebrado, ele sairá
do loop while e o código
será executado com sucesso. Se quiséssemos,
poderíamos adicionar mais tipos a serem capturados
pelo bloco exceto. Adicionaríamos isso
usando a notação tupla. Por exemplo, aqui, qualquer coisa que seria
levantada como um erro de valor,
um erro de tipo ou um Neymar
seria capturado por isso exceto bloco e, em seguida, esse
código seria executado depois disso. É assim que inseriríamos diferentes ou vários
tipos de exceção, exceções a serem
copiadas, exceto bloco. Há outra maneira de
podermos usar o bloco exceto. E dessa forma, sem
inserir nada ou nada, qualquer tipo de exceção, isso funcionaria como um curinga
e isso capturaria todos os tipos de
exceção que seriam levantados por esse bloco try. Isso não é recomendado,
necessariamente porque se uma exceção
imprevista, onde corremos aqui,
ela seria capturada por
isso, exceto bloco. E se isso fosse,
o código para lidar com isso seria executado mesmo se não estivéssemos esperando
essa exceção. O uso de um curinga
não é recomendado. Usar
um único valor ou um único tipo de exceção
é o caso de uso. Verei o mais frequentemente porque é isso que
tentaremos prever um único tipo de
erro e lidaremos com um único tipo de erro
na exceção. As exceções não
suportam apenas todas as exceções quando elas levantaram ou
acontecem imediatamente. E o try-block, se fôssemos referenciar
nossa função aqui, levantaria essa
suposição ainda ,
então
isso seria chamado, que seria tratado
pela exceção também. Por exemplo, se tivéssemos
isso como uma função, basta simplesmente retornar
int do argumento, então aqui usaríamos num igual num equal
turn in function. Em seguida, entrada do usuário. Se fôssemos executar isso e, em seguida dissemos que um número ficaria
envolvido, tente novamente até
inserirmos um número e, em seguida,
ele seria executado com sucesso. Mas aqui é
para ver que se você tivesse uma
referência de função em algum
lugar, em outro lugar no
erro aconteceu
na função em vez de
no código real diretamente. O ar, já que aconteceu
no mesmo bloco de código, seria levantado e
seria tratado menos esperado. Você pode definir suas
próprias exceções
herdando da classe de exceção
base. Aqui estamos criando nossa própria
classe ou exceção própria, que é chamada de ar. E está herdando da exceção
base daqui. Portanto, nós inerentes à exceção que seria a classe
pai e essa seria uma classe filho. E neste caso,
seria uma exceção. A maioria é definida com
nomes que acabam com um erro. Isso é convenção. Você também pode encadear várias exceções. Então, se eu fosse criar
alguns erros lá, este herdaria desse ar,
do pai lá. E vou dizer aula. Segundo. Este herdaria
do primeiro erro. Então você pode ver como
há, há como uma árvore de herança acontecendo aqui. Agora eu diria que para a aula, vou dizer erro. Primeiro, o segundo deles lá. Quer tentar. Quero tentar usar
a declaração de aumento. Faça uma corrida em cada classe. Exceto, exceto o secundário. Impressão. Segundo. A maioria, exceto que você pode
encadear exceto blocos. Primeiro, eles
vão dizer impressão. Primeiro. Finalmente, aceite ar. E vou dizer impressão. O que acontece se eu executar isso? Nós receberíamos um erro OK, depois primeiro e depois segundo. Porque para o primeiro
erro, o primeiro, pudemos ver que quando ele tenta, quando abraça o ar. Então ele vai de quatro
classes em
estreito, começa lá, o
try-block e racista de ar. Em seguida, ele seguirá
cada bloco, exceto. Quando ele vai, exceto secundário, não cai no secundário. E se false segue
o próximo, exceto o erro, então ele cai no
próximo, exceto bloco. E diz que, se essa área é a primeira área,
já que não é, ela cai no terceiro exceto bloco e, finalmente, acaba imprimindo o ar porque cai por esse
erro final
exceto bloco. Então o primeiro salto é
o mesmo, O mesmo. O primeiro cairá
em primeiro e depois o segundo o
seguirá até o segundo. Mas se os blocos exceto
fossem revertidos, por exemplo ,
se este estivesse aqui, então este
estaria aqui. Nós obteríamos toda
vez a era do ar, uma era porque
cada erro
cai na classe aérea
desde os erros. E todas as classes herdam
da mesma exceção base
do mesmo erro raiz. É por isso que recebemos ar, ar, ar. Imprimimos toda vez
o primeiro, exceto o bloco. Isso acontece como vimos
no exemplo anterior,
a instrução de corrida
permite que o programador corra um tipo de exceção, A única corrida de argumento
indica a exceção a ser levantada e isso possivelmente seja
ou uma instância de exceção, lance uma classe de exceção. Uma classe de exceção
é uma classe que deriva
da exceção, a exceção
base, como vimos aqui, se as classes de exceção passaram implicitamente instanciadas
chamando sua construtor
sem argumentos. Portanto, isso significa que, por exemplo, essa classe de erro foi passada. Inicialmente,
instanciaria essa classe aérea. E se tivéssemos nosso
construtor nesta classe com um construtor
nessa classe, então esse construtor
funcionaria porque
seria instanciado. Olhando para trás neste exemplo
anterior, também
íamos ver
o que é a instrução L. Muito simples, é realmente uma declaração de
negócio simplesmente acontece sempre que o
try-block é executado com sucesso. Por exemplo, se quiséssemos
adicionar essa parte de quebra, poderíamos adicioná-la
à instrução else. Poderíamos imprimir
sucesso, sucesso também. Dessa forma, isso nos permite
garantir que estamos isolando linhas. Então, dessa forma, estamos
isolando essas duas linhas, duas para o try-block e não
estamos incluindo a instrução print e break
no try-block. Essa é uma boa maneira de isolar o manuseio de exceções para
algumas linhas menos. Em vez de geralmente se
ater a algo que pode não ser o que estamos
tentando mirar. Nesse caso, quando
executamos esse código, obteria o mesmo comportamento
que o outro código. Estamos tentando inserir
letras, isso não funciona. Os números nos deixariam. Não funciona até colocarmos
um número real. E então diz sucesso, o código termina de ser executado. Incrível, então é
aí que mantivemos agora. Existem dois tipos de erros, erros sintaxe e exceções. As exceções vêm em
diferentes tipos. Alguns comuns são ZeroDivisionError
Neymar e digitar lá. Podemos ver a documentação do
Python para que ela seja uma lista exaustiva. Podemos usar um
bloco try e exceto para lidar com exceções. Python, tentaremos executar o bloco de código dentro
da instrução try. E se uma exceção for gerada, possível verificar a instrução
except e executar esse código
se houver uma correspondência. Como todo o resto em Python, exceções são simplesmente
objetos de uma determinada classe. Eles são todos uma subclasse
da classe interna de exceção base. Se você quiser criar
sua própria exceção, simplesmente classe criativa que
herda da exceção, que já
herda da exceção base. E por
exceções de convenções e com erro. A declaração de corrida pode ser usada para criar explicitamente
uma exceção. Finalmente, vamos dar uma olhada
na seção de entendimento. Temos cinco
perguntas para hoje. Lembre-se que essas são, esta seção é praticamente a
seção mais importante porque é onde realmente aprendemos
o que estamos vendo
na seção de aprendizado quando agimos e, na verdade,
fazemos essas perguntas. Então, boa sorte com estes. E
se você tiver alguma dúvida, sinta-se à vontade para publicá-las na seção da
comunidade no chat, e estaremos ativos lá. Mas de qualquer forma, te
verei de novo amanhã.
26. Dia 23 - Módulos e Biblioteca Padrão Python: Bem-vindo ao Dia 23. E vamos dar uma olhada nos objetivos de
hoje. Primeiro, vamos
começar procurando quebrar
crenças limitantes. Então vamos começar a
procurar módulos,
a biblioteca padrão Python, apologistas como quadrinhos Python. E então, para olhar principalmente não reinventando a roda. Vamos pular direto para a seção de
aprendizado. Quero dar um segundo para que você saiba que
você está codificando agora, hoje é a última lição
de conceitos reais. E depois disso, você estará
pronto para dar um projeto para usar isso para conectar os pontos do que estamos
aprendendo até agora. Parabéns por
ter vindo até aqui. Eu realmente admiro o
compromisso de voltar e
chegar a este ponto. Se você costumava
pensar consigo mesmo, não consigo aprender a codificar. Essa foi uma de suas crenças
limitantes. Então você se
provou oficialmente, acho que é muito
emocionante provar que estamos errados quando
se trata de crenças limitantes. Então a pergunta
começa a se transformar em, em que outras crenças limitantes você
quer quebrar em seguida? Por enquanto, vamos nos sentar em nossa última lição conceitual que estamos
falando de módulos. O módulo é simplesmente um
arquivo que contém objetos
Python desde variáveis até
classes e funções. Você pode importar um
determinado módulo o script Python e, em seguida,
poder usar tudo nesse módulo em seu script
sem a necessidade de reescrever qualquer código ou ter que
reinventar a roda. Para começar, vamos analisar como
importar nossos próprios módulos sass de arquivo main.py. Vejamos esse exemplo. Temos esse arranhão para não pi, e então temos uma função. E temos algumas
aulas aleatórias aqui. E então temos algum código que bronze sempre que
um script é executado, e em vez de executar
scratch dot py. Então, se fôssemos executar esse código veria correr
riscado Pi. E então esse
seria o código inteiro. Acontece que podemos importar este é o conteúdo
desse arquivo para os objetos desse arquivo para um arquivo separado usando
a instrução input, simplesmente chamando o zero
o outro nome de um arquivo. Se estiver na mesma pasta, podemos importar o zero dois. E agora aqui podemos simplesmente chamar o conteúdo do Scratch para, por exemplo, ainda para funcionar. Poderíamos chamar isso e
depois dizer, por exemplo, imprimir zero dois em T2. E então vamos adicionar
dois ao número cinco, porque podemos ver que
a função U2 simplesmente retorna o argumento mais dois. Estávamos dizendo que
imprimimos o item que é retornado daquele
em duas funções que é chamado a partir desse
arquivo importado, importado. Vamos ver o que acontece
aqui. Quando executamos isso. Vemos correr zero a ponto py e vemos
o número sete. Então, basicamente esperávamos apenas um número sete porque se estivermos apenas
executando
esse código, esse travamento dois, só
esperamos que o número sete saia. Por que esse
ponto de arranhão t2 ou scratch to dot py surgiu quando executamos
esse código, apenas esse código. O problema é que sempre que
importamos um arquivo, esse arquivo realmente é executado. Esse arquivo realmente seria
executado onde quer que seja importado. É por isso que marca
e imprimiu sprint. Então ele imprimiu essa
frase que
tínhamos no arquivo Scratch
to dot py. Então, como lidamos com isso? Acontece que, por convenção, há
uma maneira de lidar com isso e entre digitá-lo. E então vou
explicar como funciona, mas é praticamente
da seguinte maneira. Então, se o nome for igual a principal, então, queremos executar o main. A função principal. Principal. Ele será igual a qualquer código que estamos
executando neste arquivo. O que isso significa? Estamos basicamente criando
uma função adicional chamada função principal. E estamos adicionando o
conteúdo principal do arquivo. Então estamos dizendo que se o nome é
igual ao principal, então execute main. O que é esse nome, coisa de nome? O que é isso? Acontece
que é um atributo do arquivo em si sempre. E isso é apenas um
desses, um exemplo. Vou executar este
arquivo e vou imprimir
o nome da impressão. Quando o executamos, vemos tudo bem, nome da
impressão, vemos
que é principal. Portanto, o nome é igual ao principal, então é por isso que ele imprime o nome sprints main e,
em seguida, ele executa o
surdo, a função de domínio também. Mas acontece
que quando executamos a função de
um arquivo separado, neste exemplo, quando
você traz daqui, quando executamos o scratch D2, vemos que não obtemos a função impresso
na tela, mas, em vez disso, ficamos
arranhados para imprimi-lo na tela porque foi isso que
essa declaração de impressão fez. Esta instrução de impressão
custa para este
ponto scratch t2 para imprimir porque
o atributo name será diferente se
executarmos esse script diretamente ou se o executarmos
a partir de uma instrução de entrada. Então, agora, se eu remover essa
declaração daqui. E deixo essa afirmação como esta como uma função principal def. E então, se o nome principal for
igual ao principal, execute main, então sempre que eu executar isso veremos
o resultado esperado, que é apenas o número sete. Mas apenas para manter a
convenção atualizada e garantir que estamos mantendo a convenção
do que estamos executando. Vamos executar
o nome igual ao principal novamente aqui porque também
queremos executar o main. Então, aqui em cima,
vamos definir o principal. E o que vamos fazer, o script real que estamos
tentando executar aqui. Ok, então agora se eu salvar
isso e
executá-lo, ele será executado com sucesso porque
sempre que eu executo diretamente, se o nome for igual ao principal e então ele
executará a função principal. E então ele chamará
o script importado, que também é riscado. Mas ele não executará o código
principal do Scratch porque o envolvemos
na convenção certa. Agora vamos dar uma olhada na biblioteca padrão
Python. Biblioteca padrão Python. Então, biblioteca de módulos que vem com a instalação do
Python. A biblioteca tem módulos
com código muito útil. Por exemplo, há um
módulo para analisar arquivos CSV, para registrar solicitações de URL, análise
JSON em muitos outros outros. Vamos começar com um exemplo
de um módulo chamado time. Depois de importarmos o módulo, temos tudo
disponível para nós através dessa importação. Podemos ver através
desse
preenchimento automático abreviado que obtemos
um monte de coisas, facilitá-lo para nós. Vejamos o exemplo
da função de sono. Vamos passá-lo
no número três. Em seguida, temos um
feno de impressão e depois imprimimos lá. Então nós executamos isso. Veremos que ele imprime, ei, ele espera por três
segundos e eles imprimem carimbar a função de suspensão como
uma função de exemplo que importamos o módulo de tempo e, em seguida, usamos a função de
suspensão para ter um código de suspensão
por três segundos ou quantos
inserimos na função. E então outro exemplo é uma função de hora local,
que quando executamos, quando
imprimimos o que recuperamos dela, quando a executamos,
obtemos algumas informações
sobre a hora local, para exemplo, no ano de 2021. E depois obtemos
mais informações sobre o horário localmente. Essa instrução, o tempo de importação, importaria todo o módulo. Para importar uma função específica
do módulo que usamos
desde o tempo de importação de
suspensão, por exemplo. Então, aqui, a vantagem
desse recorte de entrada é
que aqui não teríamos, não precisaríamos adicionar
a especificação de tempo. Então, poderíamos apenas dizer dormir imediatamente porque
temos isso disponível para nós. Agora, quando executarmos isso, veremos o que
recebemos um erro. Obtemos um tempo não definido
porque o tempo não está definido. Então, precisaríamos remover
a hora daqui, mas a hora local também
não está definida. Se fomos importar a hora
local também, várias funções diferentes
que poderíamos
usá-la assim
separadas por uma vírgula. Agora obteríamos o
mesmo resultado de antes. Outro exemplo de um
módulo é o módulo aleatório. E então vamos usar, o que não seria
do nanomolar, seria importar aleatoriamente. E então também podemos fazer
conjuntos Alia para o que importamos. Podemos dizer entrada aleatória
como Rand, se quiséssemos. Então agora temos essa abreviação
aleatória. Em vez de ter que
fornecer aleatoriamente. Por exemplo, podemos ter minha
lista através de um exemplo e dizer a, B, C. E então há uma função
no módulo aleatório
que é chamada shuffle. Assim, poderíamos fazer aleatoriamente
ou rand shuffle e depois passá-lo na minha lista. E então vamos imprimir minha lista e ver o que obtemos. Recebemos um cdb. A função shuffle
do módulo aleatório irá
embaralhar todos os itens na
variável que passamos. Nesse caso,
passamos em uma lista. Quando ela pega nessa lista, embaralha os itens e, em seguida, ele muda ou atualiza para isso, mas os novos itens embaralhados. Portanto, é HTTP em vez de ABC. Nós também poderíamos usar o LES da seguinte maneira que poderíamos fazer a partir de importação aleatória,
importar, embaralhar. Isso é um tiro. Então, aqui,
não temos definido aleatoriamente. Nem sequer temos nítido,
o shuffle definido. Vamos usar definido de forma
nítida. E então execute isso de novo
e veja o que recebemos. Nós obtemos a, b, c
porque descobriu-se que era uma saída aleatória, mas depois obtemos um CB, depois BCA, você pode ver como estamos embaralhando lista que
passamos na reunião. Há outra maneira
de importar tudo do arquivo aleatório. Podemos dizer a partir de importação aleatória, importar tudo, que é uma estrela de aleatoriamente
importante de todos. E isso significaria
que podemos fazer referência cada item no módulo
Random. Poderíamos
referenciá-lo imediatamente sem ter que fazer
referência a mais nada. Você pode salvar embaralhado porque
ele já foi importado, então poderíamos executar isso
e isso funcionaria bem. O problema com a declaração import all é que não
queremos usar, não queremos usar
isso e é perigoso, perigoso usá-lo
porque podemos ter conflitos com o que
temos já definido em nossas funções que já
temos em nosso código. Uma última coisa a
mencionar sobre módulos ou pacotes é que eles são pacotes que você
pode baixar online. Na verdade, uma das maiores vantagens
de aprender Python,
que, como
ainda é popular e poderoso ao mesmo tempo, muitos desenvolvedores em todo
o mundo escreveram incrível bibliotecas
com módulos que você pode baixar para fazer coisas
incríveis sem
ter que escrever o código pesado
por conta própria ou ter que
reinventar a roda. Assim, você pode realmente
procurar pacotes on-line, módulos que têm
muitas funções e funcionalidades que você poderia usar sem reabilitar para
reinventar a roda. Alguns exemplos ou alguns pacotes
de aprendizado de máquina são alguns pacotes de estatísticas
que você poderia usar. As
coisas realmente interessantes por aí, tenham acesso às bibliotecas
públicas. É tão fácil quanto usar
um gerenciador de pacotes para baixar essas bibliotecas e usá-las em seus scripts. Este exemplo,
vou usar o pip, que deve vir com
a instalação do Python. Então, no meu caso, você pode tentar
pip na minha cara é PIP3, para que você possa
percorrer por nós também. Vou dizer que pip3
instale pandas, que é um módulo de dataframe muito famoso
. Eu baixei pandas e
agora eles baixaram isso significa que posso referenciá-lo no meu script. Posso salvar pandas. E agora eu tenho todos os, todos os geralmente
usados como SPS. Posso dizer PS. E agora
tenho tudo a partir desse módulo disponível
para o meu script. Portanto, há um exemplo
de como você
baixaria um módulo público usando o Gerenciador
de Pacotes e, em seguida, usá-lo em
um de seus scripts. Mas suíte por enquanto,
vamos fazer uma recapitulação. Hoje foi a última lição
conceitual para o curso que você está codificando agora, você fez, você chegou até agora, então parabéns. Os módulos são usados em Python para aproveitar o código
que já foi escrito e evitar reinventar
a roda ou reescrever código ou ficar seco com uma codificação para que
não se repita. Você pode inserir
seus próprios arquivos dot py como módulos para importar qualquer módulo quando a biblioteca
padrão Python, que foi instalada quando
você instala Python ou três, você pode instalar módulos escrito por outros
desenvolvedores em todo o mundo e, em seguida, importe-os usando eles
em seus scripts. Cada script tem
um atributo name. Quando você executa um script diretamente, esse atributo será
igual à string main. E quando você importa um módulo, esse arquivo de módulo
estará sendo executado com o atributo name igual
ao nome do script. Como toda vez que importamos um arquivo dot py tem um
módulo, o arquivo é executado. Usamos o nome if igual à sintaxe
principal, conforme escrito
no código principal do
script sob a função que chamamos de main by convention, existem várias maneiras de
importar dependendo
da finalidade do que é
sendo importado, você pode importar o nome do módulo ou do objeto do módulo de entrada
do nome do módulo, ou do nome do módulo importar tudo o que o último não
é recomendado. Você pode usar aliases
usando como meu SUD ou usar o pip três para baixar módulos de instalação em
todo o mundo. Isso é o que eu mencionei antes. Então você obtém run pip em
sua linha de comando e diz pip instale o módulo
que deseja instalar, para instalar a partir da biblioteca. E, finalmente, olhamos para
a seção de entendimento. Fizemos três
perguntas para hoje. Sinta-se à vontade para fazer quaisquer perguntas
que você possa ter sobre elas na
seção da comunidade ou na seção de bate-papo, porque estaremos ativos lá. E se não, boa sorte
com estes de qualquer forma. E te vejo novamente amanhã para começar com o projeto.
27. Dia 24 - Projeto - Python Learning App (1/5): Bem-vindo de volta meu
amigo no dia 24. Vejamos os objetivos de
hoje. Então, hoje queria ser o
primeiro dia do projeto. Então, vamos começar
baixando o
projeto do GitHub. Em seguida, vamos
examinar mais alguns contextos dos arquivos
de projetos. E então vamos
ver algumas técnicas, algumas técnicas úteis do
conceito que já conhecemos, mas algo ou algumas novas maneiras que podemos aproveitar
esse conhecimento que já
temos algumas técnicas úteis para
o projeto especificamente. Portanto, nosso projeto final será um aplicativo Python, que será um aplicativo de teste, que estaremos executando através de nossa interface de
linha de comando, que também
chamamos de nosso terminal. É um aplicativo que
irá questioná-lo sobre o conhecimento que você
tem sobre o que quiser. E neste caso,
vamos fazer em nosso conhecimento Python, você será capaz de praticar nossas técnicas ativas de recall. Seremos capazes de praticar
nossa repetição espacial e tudo isso com o objetivo de lembrar tudo o que
aprendemos, o conceito da estrutura
do aplicativo
permitirá que você teste você mesmo com qualquer tópico sobre
qualquer pergunta que você vincular, e ele manterá uma pontuação para que
você saiba quais tópicos precisam mais atenção e o que você precisa examinar mais detalhadamente. Então, vamos examinar o
aplicativo por enquanto para baixar os arquivos que
precisaremos para o projeto. Vamos para o GitHub.com. Aqui. Aqui você vai procurar. Você olha para a busca do GitHub, você vai
procurar por magnético. Aprendizado Python. Github é simplesmente um lugar onde as pessoas podem compartilhar o código ou você pode pensar
nisso como um patriota. As pessoas podiam compartilhar seu
código em todo o mundo. Então aqui você pode ver que, se
você for para a facilidade cognitiva, meu repositório e, em seguida,
o repositório de aprendizado Python, que significa repositório. Aqui você pode ver há um README que com
uma descrição de como o projeto ou como
o script Python funciona. Então o que vamos fazer é que
vamos baixar o
arquivo como um arquivo zip. Então você vai
clicar aqui, isso vai baixar o zip. E então você vai
abrir esse SIP. O solo abre a pasta Python. E agora você verá que você tem três arquivos JSON diferentes. Um ponto p-y, o
arquivo principal, os scripts principais
e, em seguida, um leia-me, o arquivo README
mais simples que você está, que você está vendo aqui embaixo. Este é o arquivo leia-me, apenas uma página de boas-vindas e uma explicação do
que o script faz. Então você tem o arquivo principal, que é o
projeto principal com o qual
vamos trabalhar. E então temos esses
três arquivos JSON, que são os dados
que vamos usar para armazenar as perguntas, os tópicos e
o arquivo de pontuações
anteriores. Então, quando abrimos esse arquivo, o arquivo principal
ficará com isso. Quando executarmos este
Python três principais, veremos que nosso
aplicativo está sendo executado. Então, você verá bem-vindo ao seu novo aplicativo de aprendizado Python. Selecione um tópico para revisar e você será solicitado ao México
dez perguntas por corrida. Então, boa sorte. E este
é o aplicativo principal. Agora, como isso funciona
é que simplesmente você seleciona um número
do tópico que
deseja revisar. Vamos fazer um por enquanto. Então você gostaria, estaria selecionando
o tópico de strings que tem duas perguntas, será devido uma e Enter. Vamos ser perguntados,
seremos rápidos, ok, uma das duas perguntas e
o que não aprende a função? Eu sei por enquanto que a função Len retorna o comprimento de um
objeto passado para ele. Vamos ver,
vamos dizer C ou C. Isso está correto. Bom trabalho. E, em seguida, pressione qualquer
tecla para continuar. Vou pressionar Enter e depois continuar para
a próxima pergunta. Então, pergunto rápido também para explicar a
seguinte afirmação. Impressão. Ok, é auto-formato. É uma função de formato. Eu sei que vai ser, digamos que um salvaria
que está correto. Bom trabalho. Pressione qualquer tecla para continuar. E então me diz
inacreditável que você marcou 100% e, em seguida, digite sim, para executar o aplicativo novamente, insira qualquer outro q para sair. Vou dizer sim para
executar o aplicativo novamente. E vou ver que a pontuação
anterior para o tópico string, strings é
preenchida agora é 100% agora porque eu fiz isso da última vez no
Xcode um 100%. É assim que o
script está sendo executado. E agora você pode ver
que você pode correr e você pode brincar com
isso como quiser. Digamos, por exemplo,
agora seis, eu quero a seção tudo. Isso reúne perguntas de todos os tópicos e reúne um número aleatório
de dez perguntas. Então você pode ver, vamos
ver aqui que queremos
salvar o último item de uma string da lista
que seria B. Isso está correto. Bom trabalho. Eu só vou estar lá vai ser um
novo, está correto. Bom trabalho. Hum, haverá fazer algumas
cartas
aleatoriamente. Você quase conseguiu. A resposta correta foi, e ela me diz a
resposta correta quando faço errado. Você está quase protegido pela pergunta de
truque a resposta
correta. O que é o imutável? Certo. Só estou fazendo isso aleatoriamente aqui. Estou errando porque
estou fazendo isso aleatoriamente. E vamos ver, você marcou 40% e,
se eu fizer sim novamente, quero tentar novamente,
depois ultrapassou 40% aqui. E se eu tentar novamente no 100, isso repovoará isso em um 100 e como o acorde anterior. Mas agora você pode ver mais ou
menos como o aplicativo se ramifica, e isso é praticamente o que
pretendemos fazer. O que você vai fazer
agora é que você vai fazer, você vai olhar para
o script principal do Python, selecionar tudo e excluí-lo. Porque isso provavelmente é um
dobro vai estar trabalhando com. Então a pergunta é arquivo, você vai usar isso, vamos usar isso, bem
como o arquivo de tópicos e assim como
o
arquivo de pontuações anteriores, que no
início estava vazio, um string JSON vazia. O que eu pedi
para você fazer agora é brincar com os scripts antes de excluir o conteúdo,
brincar com o script. Então você sabe o que é, qual é a funcionalidade disso. Porque, por exemplo, uma
outra funcionalidade que
temos é que toda vez que você faz a
pergunta, por exemplo, se eu fizer um tópico
contra strings, essa ordem do ABC é aleatória. É sempre como um pedido
diferente. Esse é um bom
exemplo de algo que não funciona. E, em seguida, outra
funcionalidade que ele tem é que um máximo de dez perguntas. Por exemplo, uma seção tem mais de dez perguntas
, como a seção tudo. E fiz tudo o
que disse que fiz antes, só faria um
máximo de dez perguntas. Isso é outra coisa
a ter em conta, sempre aleatoriamente também, que seleciona sempre questões
aleatórias e sempre em uma
ordem aleatória de a, B, C e D. Então, leve algum tempo para
familiarize-se com o roteiro. Agora você sabe como funciona. E também passe pelo README, passa pelo arquivo README
ou no repositório, você pode vê-lo mais legível. Percorra o arquivo
Leia-me legível e, em seguida, você
entenderá mais sobre
a funcionalidade do código e onde estamos
tentando mirar. Então, antes de tudo, como
lemos um arquivo? Bem,
já falamos
sobre ler arquivos e agora vou
mostrar como
podemos trabalhar com um tipo de arquivo muito
comum na programação chamado JSON. Json significa JavaScript
Object Notation. E podemos pensar
nesses arquivos como se estivéssemos olhando para
um dicionário Python. Então, vamos dar uma olhada no arquivo
JSON de perguntas, por exemplo. Podemos ver como é muito
semelhante a um dicionário Python. Podemos ver agora que a chave seria
esse número um. Então, o valor dessa
chave seria tudo isso dentro dos colchetes. Então, dentro desses colchetes
encaracolados, que é um dicionário de si mesmo, teríamos chaves diferentes. Portanto, tópicos, opções de perguntas, responda como chaves diferentes
e, em seguida, cada chave com
um valor diferente. Portanto, esse valor seria lista. Por exemplo, esse
valor seria string. Esse valor seria
outro dicionário. Assim, podemos ver que temos um
dicionário dentro de um dicionário, dentro de um dicionário principal. Então, um JSON strings
que começa aqui e termina todo o caminho
aqui em baixo como um colchete encaracolado. Então, é
praticamente, podemos pensar
nisso como um dicionário Python. Nesta pergunta é arquivo, podemos ver que
uma pergunta tem os tópicos, cadeias de caracteres, listas, dicionários
e, em seguida, pergunta, a questão real que é uma não empresta função faz, e então as diferentes
opções que temos, as diferentes opções ABC. E então, claro,
precisamos da resposta. Precisamos da opção certa para a resposta certa,
que é a letra a. Mas no
programa real quando ele é executado, ele realmente embaralha
essas respostas e
entende a inteligência, que é a resposta correta. Bem, como
realmente melhoramos? Como realmente carregamos o conteúdo desse arquivo
em nosso script principal? O que fazemos aqui, o que fazemos ou o que usamos aqui
é a importação, a biblioteca JSON, que está na biblioteca
padrão Python. Portanto, não precisamos baixá-lo, o que simplesmente o
importa para o nosso arquivo. Portanto, para usar a biblioteca Import
the JSON, nós a usamos da seguinte forma. Se eu estivesse, por exemplo, na largura da pasta meu, meus arquivos que eu quero ler. Eu iria para esta pasta
e, em seguida, usaria na instrução importar JSON. E então eu faria com aberto como vimos na outra seção. Vamos fazer tópicos, por
exemplo, o arquivo de tópicos. Vamos dar uma olhada
no arquivo de tópicos. É simplesmente uma largura de dicionário, cinco chaves e valores phi. Dicionário muito simples. Vejamos os tópicos JSON, arquivo
JSON como objeto de arquivo. Em seguida, simplesmente usamos, vamos fazer as instruções de impressão e usamos a biblioteca JSON. Usamos a função load e a passamos
no objeto de arquivo. Vamos realmente chamar isso. Em vez de
imprimi-lo imediatamente, vamos chamar
esse arquivo de carregamento de JSON. Objeto de arquivo de carregamento de pontos. Agora, quando imprimimos, quando
imprimimos o carregamento do arquivo, vemos que ele tem o conteúdo do
arquivo como um dicionário. Porque quando imprimimos o carregamento do arquivo de
tipo, vemos que é um dicionário. Então, outro exemplo que
será útil para usarmos hoje seria a função de despejo JSON. Como este funciona
é que usaremos, por exemplo, com aberto. Vamos usar as pontuações
passadas neste curso, e então vamos
passá-lo na opção W, o W, que
nos permite escrever no arquivo. E então eu quero
dizer objeto de arquivo. E então vamos
dizer k JSON dump. Então vamos dizer que o carregamento do arquivo, que faz referência ao carregamento de arquivo
anterior que tínhamos, nós tínhamos afirmado. Em seguida, vamos
dizer objeto de arquivo. Então, quando lemos as pontuações
passadas para a linha. Na verdade, eu ainda
preciso fechá-lo aqui. E como objeto de arquivo para linha no objeto de
arquivo, imprima a linha. E inesperado, acho que
vai faltar parênteses. Claro, imprima o
objeto de arquivo que não está definido. Continue fazendo objeto. Podemos ver que ele tem
o conteúdo que
esperávamos porque
inserimos no arquivo. Também vamos
usar uma função chamada shuffle da importação do shuffle
da biblioteca aleatória, desculpe, aleatória. O que essa função faz? E nós vimos isso no
passado em uma seção de passagem. Mas o que essa função faz
é que, se
tivermos uma lista, temos B, C e D. Digamos. Então dissemos, dissemos aleatoriamente, embaralhamos minha
lista ou passamos na minha lista. Então, quando imprimirmos nossa lista
será embaralhada. Então BAC d, ele
toma um argumento como um argumento terrível
e retorna uma versão embaralhada
desse objeto. Outra função útil
para saber é uma da biblioteca do sistema operacional. Importamos a biblioteca do sistema operacional. E então, quando fazemos o sistema SO, isso é como se estivéssemos inserindo ou enviando para a
linha de comando ou instrução. Se nós limpássemos aqui, a tela limparia esta. O que essa afirmação faria é
que, se fizermos o sistema de entrada, ele passará em qualquer string que você passar para a função
do sistema. Ele passará para a
tela como se fosse,
como se estivéssemos chamando
isso nós mesmos. Se dissemos a função clara, ela limpará a tela para nós. Então, faremos o
equivalente a este. Veja se estávamos indo claro. Mas isso seria, isso
funcionaria para o sistema Mac OS. Se você tivesse um sistema
operacional Windows, usaria o sistema SO. Em vez de claro,
você usaria o CLS. No nosso caso, o comando
não foi encontrado porque isso não funciona em uma ópera
e em nosso sistema operacional. Mas se você tiver um
sistema operacional Windows, TLS funcionaria para essa opção. A última que
vamos examinar, a última técnica que
vamos examinar. Que se quiséssemos sair do
nosso programa, se
quiséssemos sair,
se estivermos executando um código e
quisermos sair ou sair do código, correremos Uma exceção de uma exceção muito específica
que é chamada de saída do sistema. Nesse caso, não funcionará. Ele não funcionará no ambiente do
iPython como esperamos. Mas quando você levanta um
sistema, saia do código. Por exemplo, vamos encontrá-lo. Então. Saia. Quando você o levanta em seu código, ele sairá do programa. Então, sempre que você vir
aqui, vamos executá-lo novamente. Sempre que você vir Q entrar, isso é realmente chamar
o sistema de corrida, a exceção de saída do sistema e está saindo do programa. Então é assim que isso está funcionando. Foi isso para as técnicas de
hoje. E isso deve ser suficiente para nos
levar a ir e nos controlar o que
estamos tentando chegar para o nosso projeto final. Impressionante, então vamos
fazer uma recapitulação agora. Primeiro, vimos que
baixamos o arquivo zip do GitHub e analisando o repositório de aprendizado
Python, repo significa repositório. Em seguida, vimos o arquivo README. Como as informações úteis sobre a
funcionalidade do projeto? E o projeto tem
três arquivos JSON de pontos, mas os dados relevantes para
o projeto e um ponto py, que é o arquivo principal
com o script real. Também vimos que JSON
significa JavaScript Object Notation, e podemos pensar
nisso como o equivalente
a um dicionário Python. Em seguida, vimos as perguntas
pontuam o arquivo JSON que tem uma amostra de perguntas a serem feitas pelo
aplicativo de aprendizado. Poderíamos até adicionar
mais perguntas a esse arquivo e elas
seriam incluídas no Python broaden
ou no script Python. E, finalmente, vimos
algumas técnicas úteis. Vimos a instrução import JSON para importar a biblioteca json. Vimos a função load
para carregar um objeto de arquivo e resolvemos a função
de despejo da biblioteca JSON
também para despejar um dicionário
em um objeto de arquivo. Também vimos essa importante biblioteca
aleatória ou aleatória e vimos a função da
bilirrubina aleatória que poderíamos passar em uma lista para sermos embaralhados. Em seguida, vimos que a
biblioteca do sistema operacional e como poderíamos usar a função do sistema para limpar a tela tanto
para Mac quanto para Windows. E, finalmente, vimos
como poderíamos levantar uma exceção de saída
do sistema para sair do programa e
deixá-lo parar de funcionar. E agora vamos dar uma
olhada na seção de entendimento. Por hoje. Eu queria baixar
o projeto do GitHub e executar o
projeto e
brincar com a forma como o
projeto bronze e pensar sobre como os arquivos de dados
ou os arquivos JSON de ponto de broto
são úteis para executar o script. Exclua também o conteúdo
do arquivo main.py e comece a fazer
perguntas sobre como você iria
programar isso sozinho. E começaremos a codificar
juntos amanhã. Então, boa sorte com essas postagens. Qualquer dúvida que você
possa ter no chat. Novamente, começaremos a codificar o
programa começará
a codificar o projeto final amanhã.
Vejo você amanhã.
28. Lição 25: Bem-vindo a outro dia. Certo, você definitivamente
continua matando isso. Quero parabenizá-lo por ter chegado até aqui no curso. Estou falando sério
quando digo que maioria das pessoas nem
chega perto desse ponto. E isso muito diferente, o que faz você se destacar
da grande maioria das pessoas que simplesmente decidem
desistir cedo. Consistência é uma habilidade que
você melhora ao longo do tempo. E isso é
exatamente o que fizemos aqui. Quero dizer que
agradeço você por estar aqui. Como você sabe, hoje é tudo
sobre descansar e revisitar todas as lições anteriores sobre tópicos que
achamos que poderíamos
internalizar um pouco mais. Também vou aproveitar esse
tempo para lembrá-lo de algumas das chaves para aprender. Para consistência. É exatamente o que estamos fazendo. Voltando a cada dia. Todos os dias você constrói
mais impulso. Pense nas coisas como treinadas
que podem ser difíceis de começar, mas uma vez que está se movendo, a coisa difícil
se torna interrompida. Para repetição de espaço. Revise o que você aprendeu
espaço ao longo do tempo, através do recall ativo, um excelente exercício
para o cérebro. Combine isso com
algum descanso e
recuperação de qualidade e você estará esmagando a curva de esquecimento em pouco tempo. Finalmente, para perguntas ou respostas, tenha
a mente aberta, curioso e aborde o
aprendizado e exercícios diários com a mente do iniciante. Há sempre um novo caminho pelo qual não
percorremos. Se você acha que
cobriu todos eles, pense novamente, espero que você tenha um bom descanso e eu te
vejo de volta amanhã.
29. Dia 26 - Projeto - Python Learning App (2/5): Bem-vindo de volta ao dia 26, e este será o
primeiro dia de codificação
no projeto real,
o projeto final. Vamos dar uma chance. Depois de baixar os
arquivos do GitHub, você deve estar
olhando para algo assim. Você tem o arquivo de perguntas, arquivo de
tópicos, o arquivo principal anterior
e, em seguida, o
arquivo main.py principal deve estar vazio porque deve excluir
tudo nele. E é isso que
vamos
fazer para o projeto final. Então, para começar, vamos
começar escrevendo a definição da função
principal ao escrever essa configuração, ela se parecerá com isso. E então dentro da função
principal é onde começaremos a escrever nosso código. A primeira parte do código
que vamos escrever É uma função para carregar os arquivos, carregar
os dados
da pergunta Jake JSON, estados de
tópico no córtex passado, que vai parecer
algo assim. Eu adicionei a string doc
à função principal que diz que
executa o código principal. Em seguida, adicionei
uma função, uma função que carregará
os arquivos JSON. E então eu passo os três arquivos com as três
strings dos arquivos de nome, três strings com
os nomes dos arquivos. Em seguida, ele retorna as
perguntas, tópicos e passa o curso em dicionários
para essas variáveis. Qual seria a carga? A definição da função
carregar arquivos JSON. Bem, a função vai
parecer algo assim. Definimos o arquivo JSON. Portanto, a função de carregar arquivos JSON. Em seguida, temos uma
entrada arbitrária de nomes de arquivos. Assim, podemos inserir qualquer número de nomes
que quiséssemos, e ele seria transformado em
uma lista no nome do arquivo. É o que fazemos aqui embaixo. Criamos uma lista vazia com
as cargas resultantes e , em seguida,
percorremos a lista de nomes de arquivos. E abrimos cada arquivo como um objeto de
arquivo e, em seguida, fazemos um carregamento atual é uma carga json da função load JSON load
do objeto de arquivo. Em seguida, adicionamos a carga atual na
lista de cargas resultantes e a retornamos. Ouça o fim. Observe aqui como importamos a biblioteca JSON. Poderíamos usar uma função de
carga json. Novamente, quando
retornamos uma lista, podemos ver aqui em baixo
na função principal que descompactamos essa lista também. Se inserirmos três arquivos, esperamos três
saídas nessa lista. E é por isso que isso funciona. Então, aqui em baixo, depois de carregar os arquivos nessas
novas variáveis, queremos ter todos
os dados compilados. Vamos ver essa nova variável de dados
compilados. E vamos
criar uma função chamada criar
dados compilados que usa as perguntas, tópicos e
dicionários do curso como entradas. E, em seguida, ele gera dicionário de dados
compilado. Como
será essa função? Então, subimos aqui e criamos uma nova função
chamada compilada. Criar dados compilados é
passado nas perguntas, tópicos e curso de aprovação. Então, vamos ver o que
essa função faz. Leva perguntas, tópicos
e passe o curso todos
os dicionários. E essa função, o que ele faz é que ele cria
dados compilados a
partir do conteúdo carregado
dos tópicos de perguntas
e arquivos de senha. O primeiro passo que fazemos é
criar um dicionário vazio. Então, literalmente, o
primeiro passo que fazemos é passar por
este dicionário, que o
dicionário de tópicos passa pelo número e pelo tópico e apenas
acrescentar os dados compilados, o número e, em seguida, adicionar um dicionário como o
valor com o tópico, com o nome do tópico. Esse é o primeiro
passo que fazemos. Em seguida, criamos esse
adicional, adicional. Então, analisávamos o comprimento
dos dados compilados e adicionamos um e criamos uma
string a partir dele. E adicionamos esse
campo adicional chamado, que tem o tópico
como Oldfield. Este é um campo que
terá todas as perguntas e não
será restringido
pelos tópicos individuais. Mas teremos uma lista
abrangente de perguntas. Quando olhamos para a
tela de saída que o projeto possui, podemos ver que ele
tem a lista de tópicos e, em seguida,
tem uma categoria nula. Pensamos que as
perguntas foram inseridas nele. Isso é praticamente o
que os dados que estamos tentando obter
nos dados compilados, estamos tentando obter
o número da
ideia do tópico. Estamos tentando obter o tópico,
o número de perguntas, as pontuações
anteriores
e, em seguida, a lista de IDs de
perguntas
anexadas a cada tópico. Então é isso que estamos
recebendo aqui em baixo. Obtemos, criamos um valor de dados com as
IDs de perguntas como uma lista vazia. Estamos analisando a chave de dados
individual e o valor dos dados nos itens de dados
compilados. E este foi um dado
compilado novamente, lembre-se de que foi o primeiro
dicionário que criamos. O que estamos tentando chegar aqui
é que tentamos preencher
a pergunta Id é
40 para cada tópico. No começo,
o que fazemos é fazer uma declaração if de que
vai se o tópico não
for igual a o, ele faz alguma coisa e se
for igual a o iria correr para esta declaração else e ele executará outra coisa. Então, vamos ver o que
ele faz, aqui em cima. Se não for igual a todos, o que ele fará é
olhar para os itens da pergunta. Analisaremos todas
essas perguntas, essas perguntas como dicionário
e pares de chaves e valores. E então ele vai
ver se o valor dos dados, se o tópico estiver vendo
os tópicos de valor. O tópico que estamos
investigando
agora está nos tópicos da questão. Em seguida, ele será anexado,
ele anexará os dados à sua lista de Id de
pergunta, que começou como uma lista vazia. Ele anexará a
chave dessa pergunta. O que estamos recebendo
aqui praticamente como uma lista do tópico com uma lista de
configuração de ID de pergunta relacionada a esse tópico. Por exemplo,
strings teriam a pergunta I D número um porque ela está
incluída nesse tópico. Finalmente, se for
uma instrução L,
portanto, se não estiver na seção O, simplesmente não filtra
nenhum tópico, pois
inclui todas as perguntas. Então, ele passa pelos itens da
pergunta e simplesmente anexa todas as chaves
a essa
chave de ID de pergunta a esse valor de dados. Isso é o que acontece
neste loop for-loop. E, finalmente, analisamos o valor dos dados, a contagem de
perguntas e adicionamos a duração
da
contagem de IDs de perguntas
para obter o total nessa categoria. E, finalmente, adicionamos
o curso passado. Obtemos a pontuação
do passe dos dados deste. Quando está vazio ou simplesmente inserindo nesse campo de pontuação
anterior. Em seguida, ele finalmente retorna
os dados compilados. Isso é o que nós temos aqui em baixo. Um theta compilado. Se eu fiz aqui, se eu executasse dados compilados impressos, salvei isso,
então executo isso. Vejamos como isso parece. Está meio bagunçado agora. Mas você pode ver que
ele tem, por exemplo, uma chave, que é o número
um é a chave. E você pode ver o tópico. O tópico é strings e
, em seguida, ID da pergunta ID
do usuário número um na
questão ID número oito. Porque se
fôssemos para as perguntas, veríamos que
a pergunta número um
tem cadeias de caracteres nele e, em seguida nenhuma delas tem string
nele até o número oito, que também tem os tópicos
Scoring Strings nele. Essa seria a lista
de perguntas que eu acho relacionada a esse tópico. Finalmente, você tem os IDs de pergunta
reais. Então, novamente, você tem cadeias de caracteres,
o ID da pergunta é 18
e, em seguida, a contagem de perguntas
seria igual a
duas porque esse é o número de
perguntas que ele tem
na pontuação anterior é igual a não. Em seguida, número dois. Portanto, o número principal
dois são os tópicos. Ele terá o tópico da lista
do que o ID da pergunta é 10041011. E você pode ver como
ele dá a volta. Agora temos um dicionário
com os dados compilados. Então esse era o objetivo de hoje. Os principais objetivos de colocar esse dicionário de dados
compilados em vigor. Foi isso para a parte
principal de hoje do projeto. Portanto, certifique-se de
dar uma olhada nesses loops para se certificar de que você entende o que está
acontecendo aqui. Como você importa os dados, como você carrega os dados
e, em seguida, como o dicionário de
dados compilados é criado. Então, boa sorte e publique quaisquer perguntas que você possa ter na seção da comunidade. Estarei ativo lá. E de qualquer forma, te
verei de novo amanhã.
30. Dia 27 - Projeto - Python Learning App (3/5): Bem-vindo ao Dia 27. Então, hoje será
o segundo dia ou o
31. Dia 28 - Projeto - Python Learning App (4/5): Bem-vindo de volta Hoje 28. E onde paramos com o
projeto foi que solicitamos que o usuário insira o ID do tópico. O próximo passo agora é
criar uma instância de uma nova classe que
vamos criar uma nova classe que será
chamada de classe de quiz. Vamos criar
o questionário escolhido, e ele
será a classe de questionário com as entradas do ID do tópico, os dados compilados
e as perguntas. Vamos subir aqui
e vamos criar uma aula chamada quiz. E vamos adicionar a string de
documentos que permanecerá
representando um questionário com base nos
dados compilados no tópico especificado. Agora vamos
construir o construtor. O construtor terá
o ID de auto-tópico compilado
dados e perguntas como entradas. E, em seguida, ele
inicializará a Instância do questionário. E, simplesmente aqui,
selecionaremos o ID de tópico automático igual ao ID do tópico na forma como
definimos os atributos da instância. Finalmente, aqui mesmo,
aqui embaixo, randomizamos a pergunta
embaralhada, duas perguntas a serem feitas. E aqui em baixo podemos ver a
si mesmas perguntas para fazer. É um ID de
tópico de dados compilado para o ID da pergunta. Então, temos a pergunta a fazer
e, em seguida, simplesmente aleatorizamos ou embaralhamos as perguntas a serem feitas. Então, temos uma
ordem aleatória para isso. Aqui. Podemos ver que ele não está definido simplesmente porque
ainda não o importamos. Então, agora você só precisa
importar aleatoriamente. E do lado
do método init, teremos um método
que executará o teste. Ele será chamado de teste de
execução e será um método de classe
para
executar a instância do quiz e retornar a pontuação e o tamanho
do intervalo ou o número
de perguntas feitas. Então, aqui em baixo,
criamos nosso método. Então, vamos
começar com uma pontuação de 0. Então, começamos com isso. Em seguida, criamos o tamanho do intervalo, que será
no mínimo dez. A duração das
perguntas a serem feitas, porque não
queremos fazer mais de dez perguntas. Em seguida, criamos um índice
para um loop for-para o índice entre o
intervalo desse tamanho de intervalo, que novamente
será no máximo dez. Então, vai dizer, ok, a pergunta
atual
será das perguntas que
vamos fazer com que a
pergunta faça índice com esse índice. Em seguida, vamos limpar a
tela para fazer uma pergunta. E então vamos
executar as execuções da
função de pergunta. Ele, executará e
retornaremos verdadeiro ou falso para uma resposta correta ou
incorreta. Se correto, aumente
a pontuação em um. Então, se as
perguntas feitas funcionarem, correto,
se estiver correto, aumentará
a pontuação em uma. E se estiver incorreto, ele simplesmente manterá o
quadrado das cidades e , em seguida, dirá que
insira qualquer chave para continuar. Finalmente, teremos a pontuação e o tamanho do intervalo
retornados
pelo, até o final deste método. Então, a próxima coisa que
temos que criar uma pergunta DSP que
será uma função. Então vamos dizer aqui, definir a função de pergunta feita e ela terá as
seguintes entradas. Então pergunta,
número da pergunta e total de perguntas. Portanto, o primeiro passo é
criar uma lista vazia que será preenchida
com as perguntas, opções e depois embaralhada. Então, aqui está o que ele vai fazer. Ele criará uma lista vazia
popular com as perguntas, opções e depois embaralhada. Em seguida, criaremos uma tupla com suas primeiras sete letras
do alfabeto. E então o dicionário de
opções embaralhadas terá as opções
na ordem aleatória. Em seguida, imprimimos o prompt de
pergunta. Em seguida, imprimimos opções aleatórias para o usuário escolher. E então definimos uma resposta
correta para o objeto de pergunta
dizendo a resposta correta. E, em seguida, solicitamos
ao usuário usando a função de entrada validada. E, em seguida, definimos uma resposta
de usuário a partir das opções embaralhadas. E, finalmente,
comparamos respostas para determinar corretas
ou incorretas
e retornamos verdadeiro ou
falso, respectivamente. Finalmente, vamos
até o final da nossa função principal. E vamos para essa
linha de código apenas para executar o método de teste de execução
da instância de teste escolhida. E ele retornará a
pontuação e o tamanho do intervalo. Agora, se executarmos nosso código, podemos ver que chegamos
à tela principal. Digamos que, digamos que dois
para listas, insira duas. E agora podemos ver, ok, como fazemos uma
cópia da lista? Podemos dizer que C vai
dizer sim, correto. Bom trabalho. E perceba como está
dizendo para questionar duas de um total de
quatro perguntas, o que é uma maneira de remover? Deve ser B, o método pop, está correto, Bom trabalho
qualquer chave para continuar. E então o que é a função
length faz traz o comprimento ou
retorna o comprimento. Vai ser B. Isso está correto. Bom trabalho. Finalmente, qual é o elevador
selecionando o último item da lista que
deve ser melhor, seja esse trabalho extra bom. Perfeito. Então, ele executou o teste com sucesso. Isso deve ser
por hoje, pessoal. Muito obrigado por assistir. Se ainda estamos perdendo
alguns passos, mas vamos revisá-los amanhã. E então, se você
tiver alguma dúvida, sinta-se à vontade para publicá-las
na seção da comunidade
e
verifique as etapas que fizemos para garantir que
entendamos o que estamos fazendo. E te vejo de novo amanhã.
32. Dia 29 - Projeto - Python Learning App (5/5): Olá meus amigos e
bem-vindos ao dia 29. Hoje, praticamente todos
nós começamos com o projeto. Criamos todas as
funções que precisávamos. Criamos a classe
e o método e os métodos que precisávamos. E estamos praticamente todos
prontos com tudo isso. As etapas finais são
lidar com as pontuações. Para praticamente
preparar tudo para que o usuário esteja pronto para terminar
a seção de aprendizado. Vamos
iniciá-lo adicionando uma chamada clara para que
possamos limpar a tela. E então, vamos
calcular a pontuação final. Portanto, se o sublinhado for a inversão
da introversão de 100 vezes uma pontuação sobre o tamanho do intervalo. Podemos obter um número percentual,
por cento. Em seguida, fazemos o tópico do
curso anterior e
fazemos uma sequência da pontuação
final mais esse sinal de porcentagem porque
isso é o que vai para o ID final ou anterior
do tópico principal. É nisso que vai entrar. Em seguida, usamos um
bloco de largura para abrir o
arquivo JSON dos tribunais anteriores no modo de gravação. E isso truncaria todo
o arquivo. E ele o abrirá como um
objeto de arquivo como esse objeto de arquivo. E então vamos usar
a função de despejo JSON. Vamos
passá-lo no dicionário, no dicionário do curso passado. E vamos
passar um objeto de arquivo. Vai
sobregravar praticamente todo o arquivo. Mas como tínhamos o dicionário do curso
anterior já de
antes, a
partir do carregamento , antes, devemos colocar todas
as versões do outro curso passado também no arquivo. E devemos substituir apenas
com a versão atualizada, com o novo
ID de tópico atualizado nele. Então também vamos
adicionar uma declaração if com declarações else-if e uma declaração L que vai dizer,
ok, se a
pontuação final
for 100, você vai dizer inacreditável. Você marcou 100%. Se uma pontuação final estiver acima de 90%, excelente trabalho, você
obteve 90% ou acima de 90%. Se as pontuações finais
acima de 80, incrível, Você marcou qualquer pontuação
usar coordenada e
se não, se estiver abaixo disso,
você vai dizer, nenhum entusiasmo
vai dizer que você marcou qualquer
pontuação que você pontuado. O último passo será
adicionar isso. Outra entrada try. E vai
dizer sim se você quiser executar o aplicativo novamente
e não, se não. E vai dizer que se
outra tentativa não for igual a sim, você vai quebrar. Então, o que vai quebrar? Ele vai quebrar
uma declaração while, um loop while que
vamos dizer while loop,
enquanto verdadeiro, percorra tudo. Precisamos colocar o
recuo apropriado aqui. Então, tudo está dentro
da função principal. Então, agora temos
tudo em um loop. E se o usuário
inserir algo diferente de um YES vai quebrar o loop e
finalizar o código. Então, vamos tentar executar isso novamente e vamos ver o que recebemos. Vamos fazer tuplas. Então, vamos fazer o número quatro. Como você remove a
última coisa que eu tenho uma pergunta de tupla ou truque. tuplas são imutáveis, então
esteja correto, Bom trabalho. Enquanto o exemplo correto
de criação de uma tupla, é com colchetes
redondos, então é
um bom trabalho correto. Incrível. Você marcou 100. Entre ontem no aplicativo novamente e você
localizará um continuum, eu vou dizer sim, incrível. Então podemos ver isso agora. Acabamos de ir a 100 e
temos 100 e tuplas. E se fizéssemos módulos, por exemplo, vamos
fazer o número cinco. Vou tentar obter
um incorreto de propósito. Então, qual das seguintes
instruções pode ser usada para importar o módulo JSON
da biblioteca. Vou dizer que isso vai
dizer que você quase conseguiu. A resposta certa foi
todas as outras opções. Pressione qualquer tecla para continuar, e isso vai me
dizer 0%. Então sempre que faço sim e
volto e vejo que é 0%. Mas se fizermos isso de novo, então dissemos Todas as outras opções. Vemos que isso é
correto, bom trabalho. E então vemos
que você marca 100%. E vemos que temos
100% para passar no curso. Então, vemos que nosso código
está funcionando sem problemas. Estamos executando nosso aplicativo de
aprendizado com sucesso e tudo está funcionando
como esperamos. Tão ótimo trabalho de
chegar até aqui e parabéns por
concluir o projeto. E eles devem ser úteis para quaisquer outros conceitos que
você quisesse adicionar, diminuindo outras maneiras que
você queria aproveitar. Esta forma de questionar a si mesmo. Pode ser útil
para outros tópicos,
bem como de uma forma que
você possa aproveitar os tópicos e as perguntas para seu
uso pessoal e
não, não precisa ser apenas
para Python. E você pode adicionar perguntas a esse arquivo de perguntas e fazer
perguntas para o que quer que seja. Você pode encontrar um
uso para isso também.
33. Lição 30 Finais são novos primórdios: Incrível. Você termina o
curso e eu quero parabenizá-lo por
chegar até aqui. Você é um outlier. A maioria das pessoas não
termina o que começam, mas algumas aqui, isso significa que
você não é uma delas. Então, parabéns. Você aprendeu que
é tudo sobre
voltar e dar
tudo o que você tem. E essa
gratificação atrasada é o que traz as melhores recompensas. E agora podemos ver
que os finais são simplesmente novos começos
porque sempre
haverá muito mais para aprender em Python em qualquer outra
habilidade que você aprendeu, até mesmo os melhores artistas
e mestres de suas habilidades estão constantemente aprendendo e se esforçando. Eu queria agradecer por ter
vindo e embarcar
nesta jornada comigo. E espero que você tenha gostado
e aprendido muito. E também quero convidá-lo a permanecer nesse
caminho de aprendizado porque você verá que
é capaz de fazer coisas que
nunca imaginou. Obrigado novamente, e te
vejo por aí muito em breve.