Transcrições
1. O que você vai saber depois deste curso?: Olá, meu amigo. Bem-vindo aos carros de vídeo sobre Piped on. Este curso consiste em mais de 70 aulas e tem mais de 10 horas de duração. Sim, é tão grande. Se você está se perguntando cada vez que você aprende algo novo perguntas como por que a janela envelopa? Por que eles são construídos assim e assim por diante. Então você está no lugar certo, porque eu explicaria tudo. A respeito do vital a partir do zero. Eu acredito que todos têm a capacidade de desenvolver software e eles são ensinados corretamente, incluindo você. Eu vou te dar o contexto fora do novo conceito de idade eu não sou judeu. Depois do meu curso, você finalmente entenderá tudo o que você revestir o que você saberá depois de discutir. Como você pode ver, você vai saber muitas coisas. Você vai saber semântica fora de luta, o que significa significado de palavras. Em Parton. Seria fluente nesta linguagem que permitirá que você crie o que quiser. Você vai saber coisas como operadores de funções, como desfilar em string, declarações
condicionais. Diferenças entre estes parar coleção de dicionários foi para usar cada um deles como
medir o desempenho e assim por diante lóbulos como lidar com incêndios importando pipe e bibliotecas. E isso não é tudo o que mostrei durante o curso. Muitos exemplos práticos. Ok, então você também pode estar se perguntando por que você deve escolher meus carros? Porque eu tenho uma enorme experiência em ensinar outras pessoas e eu faço isso de uma maneira diferente. Eu sempre expliquei tudo do zero. Não omito nada depois do discurso. Você tem conhecimento. E qual é a coisa mais importante? Habilidade Toe ler, lutando sem problemas. Se você sabe ler, lutar em bibliotecas, você condena programa o que quiser. Meus cursos são atualizados com frequência que você realizou sobre cover Top é, se você tiver alguma dúvida, você pode simplesmente perguntar-lhes. Adoro ajudar outras pessoas. O que você deve saber antes do discurso Este espaço vazio sugere que, sim, você não precisa saber de nada. Este é um curso para iniciantes. Você pode apenas começar a assistir descobertas sem totalmente qualquer conhecimento sobre programação, você pode apenas assisti-lo e se tornar alguém que pode programar em Titan. Quem sou eu? Bem, meu nome é nossa casa de campo com África, e eu tenho enormes experiências que você pode ver na programação em desenvolvimento de sites. E também tenho mais de 100 milhares de alunos que matricularam meus cursos. Então, sim, muita gente acredita em mim. Eles estão na maioria das vezes satisfeitos. Como você pode ver, aqui estão exemplos de comentários comuns sobre meus cursos. Você pode ler mais sobre mais comentários sobre meus cursos na Internet. Se tiver alguma dúvida, se
esqueça de perguntar, porque eu amo ajudar os outros. Certo, responderei o mais rápido possível. Então, por favor, continue, tenha um bom dia. E obrigado por assistir ao primeiro vídeo de introdução.
2. O que é pyton? Instalação e primeira execução: Olá, pessoal. Hoje vamos para a luta do Donald. Eu diria o que eles espionaram e diria que o mundo é uma linguagem de programação. Eu também vou mostrar-lhe como ter sua primeira interação com vital. Então, como? Para fazer algo que você comanda. E para fazer isso, precisamos primeiro baixar a luta. Vamos digitar Isten no Google E então vamos lutar que nosso site é um
site oficial fora vital. Há uma seção que é chamada de downloads e aqui você pode escolher o seu sistema vai escolher o Windows e podemos escolher a partir deste lugar aqui a versão mais recente, que é 3.7 ponto quatro. Se você estiver usando outros trabalhos de sistemas, mercado
crítico faz ou outras plataformas que você e baixar a mordida para o seu sistema. Então, vamos lutar. Vamos salvar cinco e vamos pesar o segundo até que ele seja baixado quando clicarmos aqui e
podemos enfraquecer Ran. Vamos ter uma mensagem aqui. Você deve escolher isso. Acho que está mordendo no caminho de reboque 3.7. Faça isso. Acredite em mim, vai poupar tempo quando você quiser agir apesar de algo com esta linha de
comando fria , você não vai precisar do pé direito do caminho do lutador para onde ele está instalado. Você só precisava digitar Isten. Ok, isso é tudo. E você pode simplesmente executar luta em coisas. Então, isso é algumas vezes no futuro? Então escolha-o, clique nele e o que você pode chutar instalar agora. E como você pode ver, há muitas coisas sendo em vez agora relaxado sob intérprete biblioteca Nós falaríamos sobre isso. Então, esta não é realmente apenas uma linguagem que está sendo instalada há muitas coisas em grande estilo neste pacote. Certo, não
vamos fechar. E bem, nós começamos. Mas agora como podemos abrir a coisa com a qual trabalharemos, certo? Bem, aqui nas janelas aqui podemos ribaltear sobre este pensamento e aqui podemos digitar aqui para corrigir assim podemos digitar aqui I I A que envia para integrado, que significa que há muitas coisas em seu desenvolvimento. Então este é um lugar onde desenvolveremos nossos aplicativos Em parte eu não ambiente Então este é o lugar onde vamos passar muito do nosso tempo, certo? E quando pudéssemos continuar, temos algo que vai descolorir a Shell. Ok. Mostrar é um lugar onde você pode ter em direção com intérprete Pichon e com conchas em si, você pode digitar usar algumas coisas. Por exemplo, duas parcelas fazem. E quando você poderia entrar, você vê como resultado para que você possa enviar-lhe operações que devem ser interpretadas pelo intérprete. Então intérprete está interpretando eso. É analisar as coisas que você mostra aqui e muda para algo bom é chamado bicicleta de Você precisa saber o que é linguagem de programação. Bem, a verdade é que estou falando com você agora em inglês e você me entende, certo? Provavelmente. Mas você sabe que o problema é que Ah, se você quiser falar comigo em polonês, isso provavelmente será um problema. Precisamos de um tradutor. Intérprete de Fightin é algo assim. É um tradutor traduz este pensamento para algo assim. 010101 Ok, eu não tenho certeza se ele vai mudar exatamente algo que, mas ele vai mudar. Então a sequência de zero e um O que é essa sequência? Bem, o nosso computador, ele tem algo. Will disco auld manifestantes e manifestantes interpreta os saltos em tensão envolvidos em algo assim. Ok. Ah. E esses trabalhos estão entre zero em uma vez e tudo o que você vê em seu computador. Tudo o que você vê. Tipo, você sabe, até mesmo este shell, o navegador da Web, qualquer que seja o direito é interpretado de zero e um dedo do pé. Essas coisas. Certo, um intérprete. Está mudando a linguagem, certo? A coisa que escrevemos aqui no reboque este nosso computador interpreta isso e então temos como resultado,
como você pode ver,
por exemplo, para ou o que quer que possamos enviar comandos, por exemplo. Ei, você sabe, eu gostaria que você imprimisse, então eu digitei impressão, e eu gostaria de imprimir algo como prêmio inferno, por exemplo. Certo. E quando eu clicar em Enter, como você pode ver, ele impresso para mim. Prêmio Inferno. Certo, então o intérprete interpretou esta frase. Mudou isso. 20101 sequência, algum tipo fora e sempre admite então porque o computador poderia interpretar zero em uma sequência . Prêmio Inferno. Ok. E como pode ver, aqui está um comandante. Posso colocar o que quiser. Certo, Prince? Como você pode ver isso, isso não funciona também, porque a impressão é algo que é conhecido por Fightin. É um comando é uma função. Falamos sobre o futuro Maurin e aprendemos muitas, muitas outras funções. Comandos como esse que nos ajudarão a operar. Isso nos tornará mais poderosos, certo? Nós seremos capazes de criar mais coisas será capaz de mudar muito mais coisas porque fora conhecer bibliotecas que têm nomes como esse. Ok, então a verdade é que se você quer se tornar um programador unidade terra, muitas funções fora, comentários como esse e você precisa saber a sintaxe. Então você precisa saber quando não cometer erros. Então, por exemplo, quando você faz algo como aquele prêmio do Inferno. E como você pode ver, eu não vou colocar no final destes pais está aqui. Eu provavelmente terei algo como um mais estreito como se ele estivesse esperando por mim. Toe terminou quando eu clicar em baixo, mas como você pode ver comer. Ah, você conhece o dedo do pé montar seu casaco como era esperado para escrever. Então precisamos emprestar o mesmo imposto. Eu preciso emprestar como esse casaco deve ser para anotar, fazer flechas como essa. E não se preocupe, porque quando você comete alguns erros, certo, você sempre recebe algo assim. O erro de sintaxe. Ah, mensagem. E quando você vem para ele e quando ele pagar aqui, você vai ver que você vai obter muitos resultados fora que vai levar a provavelmente a solução para o seu problema. Quando eu clicar aqui, você não vai isso provavelmente. Oh, veja, você não está colocando uma citação antes do fim da linha. Certo, então é por isso que eu tive esse problema, certo? Ah, o estouro de pilha é realmente ótimo site. Provavelmente. Se você está se perguntando algo, essa pergunta provavelmente já foi respondida neste site. Ok, este ótimo site, até mesmo especialistas em programação usa este site porque é apenas aqueles do dedo do
tempo toda vez que inventa a roda do zero. Ok, é boa idéia às vezes pedir às pessoas em vez de sair, você sabe, fazer tudo sozinho. Então, quando você vê que o erro como esse, você pode apenas colocar o Q e você provavelmente obter resposta ok no Google ou no estoque sobre o chão, ou você também pode me perguntar, escrevendo as perguntas e a discussão resposta seção. Eu gostaria de ajudar as pessoas. Então, se você tiver algum problema com a Guerra Lord, eu ficaria feliz em ajudá-lo. Então agora sabemos o que essa linguagem de programação. Ok, isso é algo que é usado para se comunicar com o nosso computador. Este idioma é traduzido para o 010 em. Então a moto fora e mais leve, esse código é interpretado linha por linha pelo nosso computador ligado, e podemos ver o resultado assim. Ok, então isso é apenas uma boa lição no futuro. Will Então como devemos escrever as coisas, por que usamos a citação, aspas
simples, importa por que Prentice são necessários e muitas outras coisas assim. OK, não se preocupe. Esse é o único primeiro Lexan. Tudo será explicado melhor. Você tem alguma pergunta? Como sempre, sinta-se livre para perguntar
3. Variantes, criação e execução e de redação e de de de e a: E todo mundo. Hoje, vamos falar sobre algo, vamos descobrir rótulos. E também falaremos como esse show interativo está funcionando e como criar nosso próprio script. Ok, porque até agora nós temos digitado algo neste interativo dito como, por exemplo, para os últimos cinco, e nós adquirimos um resultado, como nove. Isso vai fazer. Imagine escrever programas como esse toda vez que você quer mudar algo em seu programa, sua necessidade de criá-lo a partir do zero dentro disso. Acho que seria horrível. É por isso que temos algo. O que? Este cult scripts que podem ser executados por apesar e assim podemos salvar o código para mais tarde, e podemos executá-lo mais tarde. Certo, então como poderíamos fazer isso? Bem, precisamos clicar no arquivo e depois na nova luta. E então temos um editor aberto como este. E como podem ver agora, este fogo que será o nosso guião não tem título. Podemos mudar isso. O nome desta coisa no tipo de diácono aqui, algum tipo de culto. Então vamos, por exemplo, imprimir algo como amostra. Ok. E vamos dizer que tudo bem, salve-nos e como você pode ver, o local padrão que ele quer que nós salvamos é onde os pipes neste instalado Então nós
não podemos digitar o nome do nosso script. Assim, por exemplo, amostra e a extensão serão adicionadas automaticamente. Será que será por quê? Então fazemos isso algo assim. Quando chutar seguro, provavelmente ele vai funcionar, mas não precisa porque estamos salvando no pipe e pasta. E isso pode levar a problemas porque pode haver problemas com privilégios de janela. É por isso que é quando você tem um estreito. Se você tiver um estreito
, salve-o. Por exemplo, pasta de
documentos ou em um disco que não seja disco assistente. Ok, então você tem a mensagem é que você pode fazê-lo, então guarde em outro lugar. E agora podemos clicar em segurança. Então temos agora amostra salva. Não podemos abrir esta coisa se tivéssemos que fechá-la aqui está uma amostra. Mas também podemos fazer algo que cinco abram e então podemos ir aos documentos de morte e você pode abrir a escola direito, porque você pode abri-la e nós temos. É verão seguro, então podemos ter um resfriado que podemos reutilizar mais tarde. E agora podemos executá-lo quando você clicar em executar e, em seguida, em torno de mais. Faça como você pode ver que temos aqui como uma amostra de resultado. Então está funcionando. Podemos mudar o código aqui, então eu acabei de compilar um que estamos usando o atalho de controvérsia e agora controle mais
V. E agora podemos ligar o motor. E como você pode ver, nós temos a amostra enviada aqui para a saída algumas vezes. Então está funcionando bem. É muito legal, certo, porque você pode fazer ocultismo seguro e reutilizá-lo mais tarde. Claro, este código será um pouco mais complexo neste. OK, agora é hora de falar sobre variáveis OK sobre coisas que é chamado de variáveis. E o que é isso Isso pensa que é um recipiente. Variável é um recipiente que pode conter. Pensa que você nomeou este continente como, por exemplo ,
ABC, ou pode ser mais auto-descritivo como, por exemplo, idade, velocidade, nome ou algo assim, Meninas ,
certo, você pode nomeá-lo e você pode colocar nele como nestas caixas aqui, algum tipo de conteúdo fora, certo? Tão variável quando você olha para o nome de uma variável rebelde. Por isso, é algo que é capaz de Muito significa que você pode alterar o conteúdo desses livros a qualquer momento que você quiser outra coisa. Então por que você precisa de algo como variável? Oh, bem, a maneira simples de explicar por que você precisava é que Bem, quando eu escrevo algo como aquele quatro mais cinco, eu tenho o resultado aqui, e eu não tenho em nenhum lugar salvo. Certo é que tenho apenas perdas. Não posso levar este nove daqui e fazer algo mais tarde. Certo? Mas com variáveis, podemos fazê-lo facilmente. Podemos escrever, por exemplo, um ele chama quatro mais cinco. E então podemos usar este rótulo, este rótulo que chamamos de mais tarde e podemos enviá-lo para a morte para que possamos enviar o valor mais tarde para que eu possa fazer, por exemplo, como aquele Imprimir a. E quando eu corri O magnata. Como você pode ver, temos negando aqui na saída que podemos em ainda mais ou mudar esse valor para que possamos mudá-lo para mais tarde para algo caras como, por exemplo, 10. Traga um E como você pode ver agora nós temos bom. Você tende porque mudamos o valor de 8 para 10. Então isso é muito legal, certo? Porque agora podemos usar reutilizar esse valor mais tarde. Certo? Podemos fazer algo assim também. A é igual a mais cinco. O que isso significa? Isso significa que eu quero adicionar um dedo do pé um valor que estava lá. Então eram nove aqui, certo, quatro mais cinco peças nove. Então nove mais cinco. Então vamos enviá-lo para a saída assim. Corra. E como podem ver, temos o Bom. Agora 14. Isso é verdade, certo? Então podemos adicionar o valor que estava lá antes. Então este é o uso de variáveis. Podemos alterar os valores dentro dos rótulos. Quem podemos usá-los? E fora do curso. Agora colocamos os dados manualmente. Mas no futuro você vai obter o conteúdo para essas variáveis e, por exemplo, banco de dados de um incêndio do usuário. Certo. Então agora é. É apenas um exemplo simples. Portanto, não o tornamos complexo. Nós apenas atribuímos um são significa que colocamos o volume manualmente, então nós apenas digitamos assim. Ok, então esta é uma variável variável é um recipiente que contém algum tipo de conteúdo, e este conteúdo pode ser inteiros como este, essa sequência de caracteres e outras coisas assim. Mas falamos de tipos de rebeldes no futuro. Palestras por enquanto. Basta lembrar o que é o que é muito e por que precisamos desse conceito para entender o que é shell interativo? Olha, você deve ter notado que toda vez que eu rodei o módulo temos aqui uma mensagem como aquela reinicialização, o que significa que ele reinicia o shell. Significa que tudo o que foi escrito antes não pertence mais àquela concha. Desapareceu. Tudo o que você fez antes. Mas isso também significa que você tem um bom acesso agora a tudo a partir deste script. Ainda assim, mesmo que o script já foi executado feijão Então, quando eu digitar print A, você vai notar que temos bom valor de aço. 10 dentro de uma direita. Podemos adicionar a um, por exemplo, cinco e temos bons 15. Podemos roubar o roteiro que foi executado deste lugar. Ok, é por isso
que esta coisa é chamada shell interativo, porque você pode ter uma interação com os scripts que são executados. Certo, podemos fazer o que quisermos com esse cretino assim. Eu sei que agora, quando você é um iniciante, pode não parecer útil. Mas acredite em mim, é muito legal recurso que é, que não existe em outras linguagens de programação, porque em outras linguagens de programação quando você executa o programa, esse programa irá apenas retornar resultado que você pode usar em outros programas. E é tudo. Mas você não pode, você sabe, trabalhar em cada variável, cada função, outras coisas assim de discreto. Ok, então isso é muito único. É por isso que esse pensamento é chamado Show interativo. E você também pode, por exemplo, reiniciar o shell manualmente. E a partir de agora, quando fizermos algo assim, como podem ver, receberemos a mensagem Nome. A não está definida, o que significa que não foi. Bean criado não existe. OK, então a partir de agora tudo começamos do zero. Toda vez que você reiniciar o shell, você começa do zero. Também é bom saber que quando você cria, por exemplo, variável a e você assinar manter cinco shell interativo. Você pode imprimir o valor sem precisar usar o comando print. Você pode apenas digitar um isso pode ver que você tem bom. O volume. Você? Bem, eu fiz algumas. Espero não ter confundido você aqui. Então você não precisa usar o pai para ver os resultados assim. Ok, a
propósito, não se preocupe quando você comete erros quando você comete erros como ele porque é bastante comum quando você está começando sua aventura de programação. Realmente? Você vai fazer toneladas de erros e é normal. Não se preocupe. É boa ideia praticar. Ok, então depois desta palestra, tente criar um roteiro. Ótimo. Se eu der o nome, o que você quiser. E depois que ele salvou, salvo. Se eu criar algum tipo de chamado grandes duas variáveis atribuídas. Então coloque alguns valores, enterrado nessas variáveis e imprima-os na saída e, em seguida, execute o módulo aleatório. Execute o script e veja o resultado. Ok. E brincar com variáveis. Esta boa idéia dedo cada vez que você terminar palestras do discurso para a prática em seu próprio país, as mesmas coisas que eu fiz. E, além disso, é uma boa idéia dar a si mesmo, tipo, 5 a 20 minutos de intervalo após cada palestra. Antes de começar a praticar porque você é cérebro, começamos a esquecer o que ele aprendeu. E este é o melhor momento para aprender coisas. Porque se você não deixá-lo, não deixe o cérebro esquecer o pensamento Depois de 20 minutos, ele vai ficar em seu cérebro por mais tempo. Vai, você sabe, você vai fortificar. Você vai reforçar essas memórias de coisas que estavam prestes a ser esquecidas. Certo, então lembre-se, pratique a prática na programação do jogo depois de cada palestra. Faça as mesmas coisas que eu fiz na esquerda. E além destes, lembre-se de olhar como eu escrevo código. Olha, eu adicionei espaço aqui. Eu não precisava, porque se não o fizeres, o programa vai correr para a direita. Mas olha, isso não parece tão bom quanto isso, certo? E assim,
este casaco é mais limpo. Tente criar casaco limpo, e para criar uma manivela, você precisa olhar como eu faço isso. E você precisa fazer hábitos de fazer casaco de creme desde o início. Se você está. Se você vai ser preguiçoso, e você não tem um casaco limpo desde o início, você vai ter problemas no futuro. E as pessoas não vão olhar para o seu resfriado como se fosse profissional e você pode não conseguir trabalho. Você, uh você tem problemas para detectar alguns erros porque quando seu código escrito horrível realmente acredita em mim, é realmente difícil analisar sua morte assim e jogar flechas. Você vai cometer erros porque fora casacos caóticos também se lembrar de se concentrar em iniciar bons hábitos de parada. Para resumir nesta palestra,
aprendemos o que são variáveis. Para resumir nesta palestra, Variáveis são contêineres que podem chamar valores, diferentes tipos de valores. Mas vamos falar sobre esses tipos em futuras palestras. E também aprendemos que, a fim de proteger o casaco para mais tarde para re uso para uso posterior, precisamos criar um arquivo como, por exemplo, este. E depois de salvá-lo, podemos executá-lo. Estamos em nossa prateleira. Que escola? Este shell é interativo, que significa que ele pode ter interação com os programas que foram executados, certo e ah, isso é muito incrível porque, bem, você pode criar um novo vory capaz como, por exemplo, isso e em cinco para ele. E então você pode imprimi-lo, certo? Você pode trabalhar com o script que o Waas já executa. Isso é tudo. Boa lição. Muito obrigado.
4. Comentários: Olá. Nosso irmão hoje vamos falar sobre comentários. Bem, nossos comentários comentários são notas que você dá a si mesmo ou talvez outro programador que olhamos para seu roteiro no futuro para que você possa descrever seu casaco, certo? Você pode dizer o que está acontecendo sob o comentário sobre o comentário ou o
governo deixado fora , que quer que seja. Como criar comentários. Use o sinal de hash Shift mais grátis te dará isso, filho. E depois desse sinal, tudo o que você digitou será ignorado pelo intérprete python. Ok, então essa coisa não vai ser interpretada. Você pode apenas executar o módulo deles e tudo vai funcionar bem, certo? Você não recebeu um erro se você não usá-lo como você pode ver, você vai agora. Tem alguns problemas porque o intérprete não sabe o que é aquilo, certo? Você não atribuiu nada a ele, então não é uma variável. Você fez algo assim. Vai funcionar bem. Ok. Mas de outra forma não é trabalho. Então, a fim de criar comentários, você coloca hash e, em seguida, você pode digitar algo bonito. Então, por exemplo, vamos criar um programa simples que irá adicionar duas variáveis um ao outro, tem que fazê-lo. Bem, vamos falar sobre isso. Incêndios que dizem, uh, este programa adiciona duas variáveis e mostra algumas. Certo, então o A é igual, por exemplo. Cinco grandes iguais, por exemplo, para e alguns igual a um plus big. E eu quero ver no resultado um pouco disso no exterior. Vamos imprimir o módulo redondo, está bem? E como podem ver, temos nove aqui, então tudo funciona bem. Você também pode em comum após a linha assim. Ok. Então o exemplo Meribel nomeou um muito estranho, ousado chamado B. Claro que eu estou fazendo isso agora, mas eu estou apenas mostrando a vocês como você pode criar. Venha. O sinal do coração permite que você crie uma única linha comum. Se você quer entrar em mais do que linha de linha, você precisa fazer algo assim. Diabólico,
bíblico e casaco duplo. Como você pode ver, a cor fora do código abaixo mudou porque tudo que as coisas agora vai ser comandado. Então vai ser ignorado pelo intérprete python. Precisamos terminá-lo também fazendo algo assim. Então, depois disso, acho que tudo vai ser interpretado como normal, então eu faço algo assim. Vai ser interpretado Onley depois disto. Ah, este lugar, certo? Você também pode fazer o mesmo assim. Usamos os governos de aspas simples. Certo, então módulo redondo, como você pode ver, todas essas coisas foram ignoradas. As coisas do Onley que estão atrás serão executadas. Ok, vamos ver, temos que te libertar. Tudo funciona bem. Assim, este mapa comentários são usados para dar notas a si mesmo ou a outros programadores.
5. Tipos de variáveis: Olá, todo mundo. Hoje vamos falar sobre tipos básicos de variáveis e também vamos falar sobre como devemos nomear nossas variáveis. Então, nosso casaco ficará melhor para os outros e para nós no futuro. Certo, então que tipo de variáveis temos e qual é o tipo de estupro? Bem, quando criamos sempre capaz, então nós, por exemplo, criativo Rabel nomeou um e somos um santo para ele. Então nós colocamos no fogo Able valor cinco. Significa que acabamos de criar uma variável. Esse tipo é no professor ok e professor e no professor e podemos verificá-lo quando executar o programa. E nós usamos algo com isso chamado um comando Um tipo de função em. Fazemos algo assim. Enviamos lá uma variável A para ver o resultado, como você pode ver, terá como resultado, int o que significa isso no professor significa que você pode ter agora dentro dele no professor Muito bem. Temos também algo vai descolorir números flutuantes e isso significa que nossos números com fração Então, por exemplo, ponto
livre 14 e isso é chamado de números fluidos tipo eu tenho que executar rebaixamento para salário. Oi. Seja como você pode ver, é defeituoso Agora é muito importante notar que usamos o ponto aqui. Ok, nós não usamos coma. Usamos isso para criar fração usamos isso. Está bem. Então, como você pode ver quem não poderia ordenar ponto livre, obtemos também tipo que é chamado string. É uma sequência de caracteres de modo que um caractere ao lado do outro E, a fim de criar string, precisamos amarrar o nome para raro capaz do que o sinal de igual e, em seguida, usar as aspas duplas para aspas simples e entre eles string mundo que queremos colocar a sua. Então, por exemplo, podemos puxar meu nome, nosso gato. E quando você está no nome do módulo, como você pode ver que temos agora são cardio. Ah, isso está funcionando. Mas também podemos fazê-lo com os tribunais duplos. Como você pode ver, você pode fazer isso no meu encontro também. Mas qual é a diferença? Bem, se eu quisesse, por exemplo, criar uma frase certa, e diria que sou a favor de todos na Polónia. Como você pode ver, esta coisa foi interpretada e agora podemos cinco frases e eu tenho que eu sou da Polônia para você. Mas você usou um single chamado Our Interpretado? Não sabe onde começamos ou onde terminamos essa sequência de caracteres, certo? Porque ele é como o ódio. Isso começou aqui e acrescentou, Aqui, O que é isso? Coisas depois dele. Então, A Z, você pode ver que podemos. Se você quiser usar o único até um traço na frase na string, então é melhor usar as chamadas duplas. Ou há também outro caminho dedo do pé. Faça isso usando, por exemplo, barra invertida. Quando usamos barra invertida, estamos dizendo ao intérprete que esta citação única é um único acorde que queremos mostrar. Não é uma aspa única que é usada para abrir e string OK em um módulo aleatório. Como pode ver, temos o resultado. Provavelmente quando o tipo aqui é algo assim, você notou que o tipo fora é como o ar. Então é string direita, a seqüência fora caracteres. A próxima coisa que você deve saber é sobre o tipo de boliche. Portanto, há um tipo chamado de vaiagem. Pode conter dois estados a verdade. E as quedas, por exemplo, são grandes. Sim, é grande, então é muito touro. Boeing encalhou no módulo. Sim, grande. Você pode ver através de nota que nós não usamos as citações aqui, mesmo que este pensamento está funcionando bem. Certo? Uh, quando usamos citação, não
é mais tipo de boliche em torno do programa, você pode ver que temos aqui, as aspas simples adicionadas. E quando fazemos isso assim, temos boas informações de que o tipo é no ano passado, que é string. Então isso funciona apenas para verdadeiro e falso. E é muito importante para você saber, admite Bull um que você precisa dedo do pé tem aqui a primeira letra falar bem para ser grande se você fazê-lo dessa forma em Strathcona mesmo trabalhar porque falso não é definido. É como se estivéssemos agora. Tentando dedo do pé atribuir é grande variável sempre capaz que é chamado falso. Mas falso não foi declarado. , Como podem ver linguagem
do oleoduto é sensível a maiúsculas e minúsculas. Cada letra é muito importante, que significa que quando criamos uma variável que chamamos de A e assinamos com ela para e em torno do programa no DWI digite seu pequeno A, hein? Como pode ver, temos cinco. Quando o tipo big bang maior, temos quatro. Então esta não é a mesma variável. Certo, porque temos aqui um caso diferente fora da carta. Então é muito importante porque você pode cometer alguns erros porque fora isso no futuro, esteja pronto para isso. Então o tubo neste caso sensível é muito importante saber também que quando você está criando nomes, eles devem ser auto-descritivos. O que isso significa? Significa que quando você olha para o nome de um rebelde, você já deve saber o que está dentro dele. Então, por exemplo, suspira fora da seção. Então, quando eu estou olhando para ele, isso significa que esta coisa vai manter o tamanho da seção. Se eu pudesse nomear “Necessidade “, por exemplo,
“G “, não saberia. O que é isso? Pense em descrever, certo? E acredite em mim, você deveria começar a tentar nomear seus nomes assim. Ok? O bom Hobbit Para salvar você tonifica o tempo ea próxima coisa notar que cada palavra que eu comecei nesta variável eu comecei com a grande letra O s. É mais fácil ler o código assim. Porque se eu fizer assim, como você pode ver, preciso me concentrar por mais um segundo. Talvez. Talvez o segundo. Não importa que você se concentre por mais tempo onde o próximo mundo está começando. Ok? Não, é melhor fazê-lo de forma morta. Cada palavra nova você começou a funcionar? Você começa por dentro. O nome rebelde deve ser maiúsculo para que eles devem começar a partir da letra grande. Então, dois para esfregar. Os tipos de rebeldes descrevem o que está lá dentro muito favorável. É uma boa ideia criar um nome descritivo dos rebeldes. E também é boa ideia começar todas as palavras dentro do nome de um Rabel com a letra grande . Isso é só uma lição. Se você tiver alguma dúvida, fique sempre à vontade para perguntar
6. Operadores de matemática: Olá sobre isso. Eles iam falar sobre operadores aritméticos. Então vamos falar sobre operadores que são comumente usados em matemática. Assim, os operadores que trabalham em números mais sinal pode adicionar dois números um ao outro. Então quatro parcelas seis darão 10. O sub-trato pode subtrair dois números, então você pode dizer nove menos livre vai ser seis. Multiplicar pode multiplicar números assim multiplicado por quatro é oito. É muito importante que, a fim de multiplicar dois números que você deve usar que pediu o sinal
de risco. OK, você não deve fazer algo assim porque isso é um erro de sintaxe. É sintaxe envolvida porque X é, você sabe, ele pode ser muito capaz, certo, o nome de um Rabel. Mas X não é algo como multiplicar operador. Ok, eu sei que o muff nas escolas você aprendeu que X problemas para multiplicar, mas quando você está usando computadores, quando você está usando python, você vai usar o sinal Asterix. Para dividir os números, você deve escrever a barra. Também é trabalho notar que quando você divide dois números, o resultado fora para em professores quando você divide dois inteiros é número flutuante, certo, Porque você tem aqui o ponto aqui para que zero. Mesmo que você não precisa subir zero, Como você pode ver, que zero foi escrito, que significa que este é o número da falha. Ok, também
há algo bom chamado parênteses. Tenho certeza que você se encontrou com eles. Eles podem mudar a ordem. O que é o que deve ser calculado primeiro, certo, Então você pode obter algo assim para mais quatro multiplicado por livre. Você precisa saber que em março essa coisa não será executada. Primeiro, você foi primeiro multiplicar por livre, que é 12. 12 mais dois é 14 certo? Mas há momentos em que você deseja alterar a ordem fora da execução do que deve ser avaliado primeiro. Então agora o computador vê que os pais estão aqui, e esta coisa será executada 1º 2 mais 4 é 66 multiplicado por livre é 18 direito, Então é assim que funciona. Há também um operador muito legal não existe em outras linguagens de programação, e este operador pode aumentar o número para o poder desligar o número que está no
lado direito . Então, quando você faz algo assim, também. Corrida para o poder da liberdade. Será chamado para oito porque, para escrever para o poder do livre, você precisa multiplicar essa coisa por si só. Três vezes tão multiplicado por dois é longe. Quatro multiplicados por dois é como você pode ver. O resultado é um assim tudo funciona bem Livre, Multi escreve do poder Off a Is nove, porque Livre multiplicado por livre é nove direito livre 27 filme gratuito Piper Taxas 99 multiplicado por três é 27. É assim que funciona aquela escola porque outras linguagens de programação em outras
linguagens de programação , você não pode usar o operador. Você tem que rebocar importar alguma biblioteca, a fim de aumentar o número dois algum tipo de energia fora. Vamos falar agora sobre a divisão do chão quando você usar que quer barra. Então, a divisão típica quando você divide nove por dois como a razão de você ter o 4.5
do número flutuante. Mas quando você usar a divisão do piso, você vai ter o número que este aqui à esquerda. Sempre. Então, mesmo se você fez algo como 13 dividido por,
por exemplo, nove como você pode ver. O resultado vai ser um quando você faz 70 dividido por não-17 andar com divisão piso
vai te dar um. Então você sabe desenhar em torno de cima ou o resultado. Certo? Mas sempre corra para baixo. Certo, é
assim que a divisão funciona. Bem, chão é no fundo, certo? Então olhe para baixo, está bem? Você também tem algo. Será que este chamado operador modelo? É chamado de operador restante. Mostra-te o que resta depois da divisão. Por isso, leva esta parte em consideração. Então, quando você faz algo como 13 modelo você nove nós temos como resultado para e você é como um Mas isso não é esta coisa bem-vinda. Não exatamente essa coisa. Ah, bem, a verdade é que quatro divididos por 90.44444 quando eu estava falando sobre isso, nós estamos olhando para esta parte. Eu estava dizendo que estamos falando sobre essa coisa aqui. Então eu estava falando sobre o número que está na contraparte, não no dominador, mas no contador. A coisa na fração no topo é chamada de contador. E a coisa que está na fração inferior é chamada Dominator. Certo? Então vamos treinar um pouco quando você tem, por exemplo, um dividido por livre. O resultado a 0,33 figura temerosa. Certo? E estes pensam que é o balcão e este é Dominador. Então, se eu fiz um múltiplo livre, eu iria obter é o resultado um e eu ir para um modelo de livre. Eu obteria como resultado, também. Modelo livre certo de livre, hein? Qual será o resultado disso? Será zero porque livre dividido por livre é 1,0, certo? Significa que não há remanescente. Não sobrou nada depois da divisão. Mas quando fazemos algo como quatro divididos por livre, temos que ouvir ainda lembrete. E só olhamos para este lembrete de que este lembrete é realmente o que se divide por livre. Certo? Então quatro múltiplos livres é realmente um. Porque é o que foi deixado aqui, certo? Um deles era o contador do dominador. Cinco modelos livres é realmente para seis. Modelo de livre é zero e assim por diante. Então cinco modelo dois é realmente um. Por quê? Porque cinco dividido por dois é dois. E como e a metade é realmente algo como um dividido por dois, que é a metade certa? E este é o difícil que estamos olhando para o balcão, então um dedo modelo seria um. Então é por isso que cinco Modelo dois é um e pode parecer um pouco complicado. Começa quando você está olhando para ele e você pode ser como, mas por que eu preciso dele? Não se preocupe Agora eu não sou capaz de mostrar como poderíamos usá-lo porque você não sabe o que são declarações condicionais. Mas você deve notar que o comportamento da tese se repete para modelar livre para livre Modelo livre zero. Certo? Como você pode ver, nós temos aqui a partir do resultado um modelo de um livre para modelo de seu dedo livre Maduro livre zero e ele vai depois de quatro ele vai novamente um para eo ganho zero. Então, esse comportamento se repete certo? Você tem sempre o mesmo valor aqui. Mas esse valor aqui está mudando e você pode usá-lo porque ah, você pode mudar a maneira como seu programa funciona a cada três vezes usando a instrução como essa no futuro. Quando você aprender as instruções condicionais, você será capaz de verificar se o resultado de alguma operação como essa é igual a um. Então você pode, por exemplo, mudar o fundo da tabela para Rhett. Se for igual a dois, então muda para preto um é igual a zero, depois mudado para verde. Outra vez. Bloco de ratos. Verde, vermelho, preto, verde, vermelho, verde
bloco. Você pode fazer algo assim. Sei que pode ser um pouco confuso agora. Eu só queria te dizer que algo assim tem um significado. Não se preocupe. Nós não entendemos isso agora. Eu sinto muito. Se eu tenho confundido é você não se preocupe com isso. Você deveria agora mesmo. Só Len, como esta operadora trabalha de volta, porque sei que pode parecer que não é útil. Mas acredite em mim, este operador é um dos operadores mais úteis na programação. Você pode fazer muitas coisas úteis com ele. O durante a aula. Obrigado.
7. Exercício: como adicionar o IVA aos produtos: e mais sobre isso. Hoje, vamos praticar as coisas que aprendemos até agora. Então operadores aritméticos e de arriba. Imaginemos uma situação como essa. Você está na Europa e você precisa pagar impostos como, por exemplo, imposto sobre o
valor acrescentado que é adicionado ao produto. O imposto é chamado de imposto sobre o valor acrescentado. OK, então este imposto é adicionado ao produto e queremos adicionar as ações aos produtos. Como o quê? Como, por exemplo, sapatos e, por exemplo,
TV, TV, o que for. Então vamos criar para que possamos manter o preço sem o imposto,
o preço dos sapatos e que é atribuído a ele 100 preço fora da TV e isso é atribuído a ele. Por exemplo, 2000. E o prêmio que temos é chamado Preço Líquido. Está bem, assim. E agora vamos criar variável que temos o preço bruto. Então o preço com o imposto de valor agregado e tudo bem, então é igual a que 100? E agora, por exemplo, multiplicado por um 25. Ok, vamos imaginar que acabamos de adicionar 25% aos sapatos no preço, e isso é dividido direito e bem, isso funciona. Mas por que não devemos reutilizar a variável a partir daqui? É uma boa ideia reutilizá-la assim. Vamos agora usar a perda de ovelhas Home Control. Consulte e insira a política de contador. Como você pode ver, saias
curtas são realmente impressionantes e podem ser úteis. E agora vamos fazer algo assim que não, que mudou net para Gross. E precisamos do preço da TV. E agora funciona. Está bem, certo? Acabamos de enfraquecer o programa, Onda. Podemos pedir o preço bruto dos sapatos. Como você pode ver, ele funciona bem e preço bruto da TV. Tudo funciona bem. Mas ah bem, o VAHT, eu acho, deveria estar em outro de Arabe. Por quê? Porque vamos imaginar que temos muitos árabes. Bem, a verdade é
que, neste momento, o vale para os sapatos e a TV, colocamos manualmente aqui, certo? Mas a verdade é que nós provavelmente recuperaria esses valores do banco de dados e empunhar Retief dar por exemplo, 100 variáveis. Bem, 100 valores assim ou talvez mais, talvez 2000. Imagine isso. Este programa é enorme. E um dia ah, alguém a mudança dedicar de 25 para, por exemplo, 20. Você pode se imaginar mudando cada linha? Imagine que você tem suas leis fora de linha bem ali, certo? Com leis fora de linha e você tem que ter mudado de 25 para 20. Ok, você deveria. Você provavelmente poderia usar algum editor para fazer isso por você, mas será assim. Sou uma profissão longa, certo? Você se repete. Então, quando os tempos não são uma boa idéia. É por isso que você pode criar outra variável e manter dentro dela. Por exemplo, lá o quê? O real acima de 25, por exemplo. Então, oh, como dedo do pé agora e fazer algo como multiplicação como essa deixar o que poderíamos fazer algo como aquele mais 25 dividido por 100 certo? 25 dividido por 100 é realmente zero ponto foi se eu para que possamos fazer algo assim E o problema é que bem, esta coisa é igual a 1,25 como antes. Mas há uma ordem fora do que deve ser multiplicado primeiro, dividido primeiro ou adicionado primeiro. A ordem agora é assim. Você faz essa coisa, então você fez isso, pensa e então você adiciona o resultado disso. Portanto, isto e nós não queremos que funcione assim. Precisamos mudar a ordem usando parênteses. Então vamos fazer algo assim. Então mude a ordem, certo? E, bem, agora podemos executar o programa. E como você pode ver, funciona bem. E o legal é que quando alguém muda agora, tem
que, por exemplo, 20. Podemos mudar em um só lugar e eles vêem as obras bem. Mesmo que tivéssemos muitos preços de garotas aqui, ótimo. A próxima coisa muito importante que você deveria. E não. É quando você vê algo assim. Então, quando você vê o repetido muitas vezes, mesmo duas vezes, certo, Mas imagine que o cálculo como esse é repetido aqui 1000 vezes. Então, toda vez que seu computador precisa dividir e no resultado dessa divisão, leva tempo. Esta coisa nunca vai mudar. Certo? Aquela expressão aqui ou o meu DVD, talvez quiséssemos mudá-la. Nós precisaríamos mudá-lo nunca em todos os lugares possíveis. Então também levaria muito tempo que poderíamos apenas criar outro. Foram capazes de calcular isso, por exemplo, assim. E agora, como você pode ver, nosso programa com ver Ron. - Tudo bem. Então meninas preço de sapatos. Mas o legal é que o cálculo é feito em Lee uns aqui e você diz que você estrelar o cálculo dentro foram capazes direito. Então começamos na sua memória no carneiro, na sala, na memória de acesso aleatório. É por isso que precisa de rum? Você começa por aí, as variáveis e você pode acessar isso. Ah, mais e o tempo que você quer sem ter que contar novamente para calcular essa coisa novamente. Calculado uma vez e depois reutiliza-o. Então imagine que você tem aqui, Como eu disse anteriormente, muitas vezes, linhas como essa e porque você fez isso aqui, não ouvir. Toda vez que você precisa calculá-lo, apenas um e você apenas reutiliza o valor. É por isso que as variáveis são tão boas e também queriam mudar de alguma forma. O cálculo. Você vai fazer isso aqui em Lee uma vez. Você não precisaria fazer isso tantas vezes. Então, cada vez que você sente que você pode mudar o cálculo que estes feito muitas vezes é uma boa idéia para criar uma variável. Certo? Está bem. Estava parecendo assim. Então, só há uma boa lição. Eu sugiro que você crie mais alguns produtos e calcule o preço das meninas do produto como o exercício. Lembre-se, você deve se exercitar após cada palestra. Você deveria fazer as mesmas coisas que eu fiz na palestra. Lembra-se? Você nunca será um programador. Todos nós praticamos. Ok, isso é apenas uma boa lição. Muito obrigado.
8. Semicolon e ENTER — como atribuir vários valores para variáveis de uma de vez às de uma de de que a de: Olá temos aprendido até agora fez, a
fim de criar um Rabel e atribuído a ele o primeiro valor que precisamos digitar o nome fora variável do que o sinal de igual,
em seguida, o valor que queremos atribuir. E isso é tudo. Podemos executar o programa, e obtemos o valor de para as próprias pessoas. Mas e se eu quiser criar mais de uma variedade? Até agora, temos criado assim. Apertamos o botão Enter, depois o nome de um rebelde, o nome de um Rabel e seu valor para a próxima direita. Mas e se você quisesse fazer isso em uma linha? Bem, então, se fizermos algo assim, você notará que temos um erro de sintaxe inválido, que significa que algo deu errado porque a sintaxe é rock. Por que é errado. Por que nosso computador é por isso que o intérprete que interpreta esse casaco não pode ver que este é apenas mais um muito capaz de criar quando você bate. Digite o sinal enter para que a nova linha seja interpretada pelo intérprete que é a
instrução final . A instrução acabou de terminar. Certo, é por isso que funciona. Mas quando você faz algo assim para dizer ao intérprete que você já terminou a instrução. Você precisa digitar algo. O que? Isso o chama de calmo, dizendo algo assim e então vai funcionar. Você pode adicionar o espaço aqui para que fique melhor. E agora quando digitamos X, por que, como você pode ver, os valores foram atribuídos corretamente. Agora você provavelmente está pensando por que eu adicionei o cínico e aqui e aqui. Mas eu não fiz. É aqui porque funciona como se o intérprete fosse atribuir dedo do pé x cinco e então ele não
vai é o ponto e vírgula lágrimas. Então as próximas coisas que estão depois da semi coluna serão interpretadas como a próxima instrução. E então por que é igual a ele ainda não? Esta é a semi coluna, e então o Z é igual a bem. E você não precisa adicionar o ponto-e-vírgula aqui porque, bem, não
é necessário porque você não tem nenhuma outra instrução depois disso. Então semi coluna é realmente um enter para o intérprete interpretador. Então é o sinal de uma nova linha. Então você acabou de terminar a instrução. Ok. Quando você atrasou pensou que a Grã-Bretanha seria como, Ei, vamos atribuir dedo do pé x cinco e, em seguida, designado dedo também espiões. Por quê? E algo assim é como, por quê? Bem, eu espero um segundo. Eu não sei o que você quer fazer. Você está bem? Você precisa informá-lo. Ei, este é o fim da instrução. Então essa é uma maneira. E também eu vou Será que você, nesta lição como atribuir o tubo e maneira muitas variáveis em uma linha? Porque é muito simples em lutar contra você e você pode apenas fazer algo que uma vírgula sendo vírgula vê, ele chama. E agora quando eu digitar, por exemplo, um coma para sair livre, um será o mesmo dedo para ser. Pense Toby e livre será um santo Toe, pé mar que escola, certo? E eu acho que é ah mais rápido de escrever e mais fácil de ler. Mas o quê? Esta menina você pode até mesmo atribuir aqui para exemplos string Então teste e, por exemplo, aqui valor touro e nós também vamos trabalhar. Tudo bem. Ótimo, certo. Então os tipos não precisam estar no mesmo Se você quiser um sinal de um dedo para cada uma fora da variável o mesmo valor você poderia escrever um peso morto, mas bem, não
parece tão bom. Você pode fazê-lo no cachimbo. E melhor ainda, você pode escrever algo assim. Ok, isso é apenas uma boa lição. Muito obrigado.
9. Operadores de trabalho de atribuição: Olá, todo mundo. Imaginemos uma situação como essa. Nós temos X sempre capaz e o valor desta variável é lutar. E agora eu gostaria de aumentar X em dois. Então, como fazer isso? Bem, certo, algo assim. X é igual a exportações para E agora, quando executarem este programa, vocês notarão que, como resultado, temos sete. Como é que funciona? Intérprete Sempre olhar para o lado direito quando ele vê o sinal de igual atribuído. OK, então quando ele olha para aqui, você olha para algo como aquele X com este X é assim. O que é atos? Oh, eu tenho que olhar. E ambos onde os ovos foram declarados. Ok, ele está aqui e ele está olhando para ele e ele diz que são cinco. Então ele muda os cinco extras e então ele tem bons cinco mais dois aqui, e ele precisa fazer um mês de operação e ele muda para sete. E depois dessa expressão, depois que essa coisa foi avaliada, coma que sete serão atribuídas duas semanas. Certo, é
assim que funciona. É por isso que podemos apenas escrever, executar e podemos aumentar o valor que estava antes de X por,
por exemplo, para terminar. Nós também vamos emprestar um caminho mais curto para montar esta coisa enfraquecer. Basta escrever algo como X mais sinal de igual, também. Vamos levar isso sob os comentários que isso será ignorado pelo intérprete e agora ganhando módulo
Randa. Como pode ver, ainda são sete. Então este operador é uma maneira curta de escrever a expressão que se parece com isso para que você possa usá-lo com qualquer outro operador como, por exemplo, menos. O que significa que até agora teremos cinco menos ainda, e esse é o resultado Nós temos X. Podemos multiplicar por dois ou, por exemplo, livre. Livre, multiplicado por cinco é 15 e como um exercício, ir em frente e tentar outra maneira de desligar escrever as expressões mais longas como essa, eles estão fazendo essa lição, Muito
obrigado.
10. Brinque com com de de strings (de licas de som, adicionar e se (Slicing, em: Olá, todo mundo. Hoje vamos brincar com cordas. Nós vamos emprestar como dedo do pé para Sprink outra corda e como dedo deslizá-los e como criar grandes cordas que são longas. Ok, então vamos começar a criar uma única coisa, por exemplo, nome. E vamos pôr o meu nome num gato. Vamos criar outra variável. Vamos chamar-lhe apelido e isso coloca-lhes o meu apelido. Então, para o escuro e agora eu gostaria de imprimir ambos de uma vez. Então, meu nome completo de uma vez. Então eu preciso criar outra variável e colocar dentro do nome. E agora como Toe deu o nome ao sobrenome. Precisamos usar o operador, e algo assim. E agora podemos imprimir a coisa toda. Como você pode ver, está funcionando bem. Mas não
há espaço aqui. Não há espaço porque bem, eu não tive Eddie, não
há espaço aqui e não há espaço aqui. Chamamos espaço publicitário assim, mas isso não é uma boa ideia, porque e se eu quisesse publicá-lo mais tarde? Sem essas especificações, certo? É melhor neste ritmo aqui. Como fazê-lo Bem, a
fim de criar espaço. Não vamos fazer algo assim. Então dupla camada espaço aspas duplas. Então acabamos com um tempero entre o nome e o sobrenome, usando seus sinais de mais e ninguém ao redor do seu modelo. Como podem ver, temos um bom espaço aqui, por isso funciona bem. E se eu quisesse criar uma série muito longa? Como, por exemplo, este é um imposto que estava envolvido em algum lugar e isso não é um copo, e separado, como você pode ver, é longo. É como ler. É uma boa idéia quando você tem uma corda como essa Teoh de alguma forma você conhece no Ender. Mas há um problema. Como eu disse, High Tone acha que entrar é o fim da destruição e como o dedo do pé fazer algo assim. Bem, podemos, por exemplo, usar a barra invertida. A barra invertida vai informar o seu intérprete que o texto ainda não terminou. Ok, então assim. E agora, quando estão no módulo, tudo funciona bem. Esse é um fora do caminho. Há também mais um. Você pode usar o comentário aqui. Engraçado, porque quando você está nele, como você pode ver, está funcionando bem. Mas há uma pequena diferença que um Z pode ver. Temos entrar no lugar onde colocamos herói, porque ele este é um imposto que waas e nós batemos o entrar aqui e temos também aqui. Entrar bem quando fizemos o caminho morto. Como você pode ver, cada coisa do pé estava em uma linha. Há uma diferença, e você pode também ser por isso que você pode atribuir comentário à variável. Bem, intérprete. Quando ele vê que o comentário é atribuído à variável, é então não é ignorado. Será interpretado como se fosse uma string longa. É assim que funciona, OK, então se você não atribuir o comum e onde isso significa que é o comum uma grande nota. Caso contrário, é apenas um texto longo. Ok, agora vamos aprender a deslizar a força e acredite em mim, é muito útil. Por exemplo, você deseja verificar com muita frequência. Se a primeira letra é grande, é vida capital. Ou às vezes você quer verificar se as 3 primeiras letras são iguais a algo. Acredite em mim, é muito usado quando você vai programar no futuro. Então, como fazer algo assim? Bem, a primeira coisa que você precisa saber é que quando você tem texto, você começa a contar de zero. Então o primeiro Lecter está no índice zero segundo no índice de guerra 1. Então é sempre menos um, certo? A última letra, a seis letras está no Índice 5 e o que é engraçado? Item Diabrete. Você pode contar de volta em outros idiomas. Principalmente, não
é possível, então você pode colocar menos um e você pode vir do final. Então, como usar a informação que acabamos de deixar? Podemos fazer algo assim. Use os colchetes e acesse o primeiro índice. Então, a primeira letra que esta na posição zero quando eu rodei o programa. Como você pode ver, nós temos aqui agora coisa porque esta é a primeira letra. Certo, valor
nominal com nome. Como você pode ver, é um se eu quero acessar a última carta. Eu posso apenas digitar algo assim menos um. Ótima. É quando eu quero actus cada carta incomodar o 1º 1 eu posso fazer algo assim. Então, quando você adiciona a coluna aqui assim, como você pode ver quando você não consegue parar no lado esquerdo. Qualquer coisa que conseguisse a corda inteira. Mas quando você colocar um no lado esquerdo, você vai ter tudo. Parte da primeira letra que você coloca aqui uma, o que vai acontecer? Como pode ver, temos uma boa carta de Onley First. Então, tudo até o índice um, certo? Então, se eu colocar cinco, nós temos tudo até o índice 5012 livre Sam e é admitido que são cinco mas eu disse até cinco e nós precisamos ir para o mundo, não incluindo o quinto elemento. Ok, você também pode fazer algo assim. O meu é um que significa que você quer agir tudo, mas perdeu um membro? Tudo, menos os dois últimos elementos. Então, sem incluir os últimos dois elementos, você pode ser como se lembrar disso. Bem, você não sabe a necessidade de se preocupar em lembrá-lo porque toda vez que você vai querer usá-lo, você pode procurá-lo na Internet ou você pode jogar com uma corda simples como essa e apenas entender como Funciona, certo? Não é certo quando você faz algo como, por exemplo, que de um para livre o que recebemos são e chave. Então vamos olhar para você 01 Então, da posição 12 para e livre assim para a segunda posição ou para a terceira posição, não incluindo essa posição ferida o não se preocupe se você não pode memorizá-lo porque acredite em mim , mesmo eu Quando eu quero para cortar bebida, eu sempre confio nele colocando força simples aqui no beytin e tentando ver como ele funciona. Realmente, O mais importante para você como programador é lembrar que você pode fazer algo assim,
que é possível cortar string, certo? A coisa que você tem que lembrar como temos funciona é que você pode acessar cada elemento assim. Então o primeiro elemento, o segundo, o limão, o terceiro elemento é muito importante para você lembrar. Você veio do zero, não de uma direita. E também é muito importante para você saber que, para acessar o último elemento, você precisa digitar menos um. Então você entende essas duas coisas que você está pronto para ir e cada vez que você quer agir é mais de um elemento, você pode simplesmente realmente não se preocupar. Não é usado com tanta frequência. O corpo é muito útil. Você verá quando começar a programação. E a coisa legal que você precisa saber é novamente quando você executar o programa. O módulo em Piketon. Você ainda pode acessar o nome completo aqui. Certo? E agora você pode fazer algo assim. Quero acessar os últimos 11, certo? Então eu quero acessar o nome completo menos um. Isso é um exercício. Criar link variável e fazer algo assim, Http. E agora digite aqui, por exemplo, o domínio que você deseja acessar. E agora verifique se o link começa com http. Você não sabe como verificar. Você não sabe como fazer condições ainda. Mas agora você sabe como fazer slides. Isso é bebida. E obter esse http direito. E no futuro, você aprenderá a condicionar como verificar o dedo do pé. Se essa corda cortada é igual à morte, é assim que você pode mais tarde na faixa futura. Se alguém digitar http ou ele não tem tempo, certo? Isso é tudo. Sua lição. Muito obrigado.
11. Como importar bibliotecas - conceitos — noções básicas: Olá, todo mundo. Hoje você vai aprender, eu acho que provavelmente o tópico mais importante item Inp Que é como as bibliotecas de importação toe e
quais são funções. Até agora, aprendemos que há algo, o que esta impressão fria. E eu disse-te que era uma ordem. É uma função. Portanto, é algo que irá executar algumas instruções que foram criadas por outros programadores. Então a verdade é que quando você escreve impressão, seu computador está procurando em algum lugar o nome de impressão para a função de impressão, e ele irá executar as instruções que são responsáveis por imprimir o pensamento que dissidência entre esses foguetes para a saída. Então aqui, certo, é
assim que funciona. E há muitos, muitos, muitos, muitos mais assim. Então, a fim de criar a função de uso do dedo, você precisa escrever o nome da função, e então o pai é, é de modo que colchetes aqui. Certo, é muito importante. Isso significa que você está invocando a função e você precisa enviar seu argumento algo assim, e ele pode detectá-lo pode ser número. Pode ser variável pode ser muitas outras coisas que vamos falar sobre as futuras palestras. Além disso, Por exemplo, quando eu fizer isso assim, você verá meu nome. Quando eu fizer isso assim, você verá aqui os quatro. Certo, então funciona bem. Mas Oh, isso
é tudo? É só uma função como essa? Nenhum título é enorme. Você vai ver alguns Por quê? Quando você vai para que cães que mordem naquele trabalho você vai notar que temos sido para fazer algo de bom, apesar da biblioteca padrão que você pode usar livremente de graça. Há, como muitas bibliotecas, cada biblioteca. Você viu aqui? Que m s I l i b g r p p p W d. O que quer que você veja aqui tem muitas funções internas. Então, Commons, como impressão que você pode usar de graça. Vamos para, por exemplo, algo como matemática Você não é que podemos usar aqui. Por exemplo, selar podemos ir? Por exemplo, a raiz quadrada fora do número, a descida e alguém. Há algumas complicadas funções automáticas trigonometria no que quer que já tenha sido programado. Você não precisa reinventar a roda. Você pode simplesmente usar o trabalho que foi feito por alguém como o que é mais legal você no futuro quando você se tornar programador, quando você aprender a criar funções, você também pode compartilhar funções como essa com outras pessoas. Bem, esta menina, quando você vai aqui para o índice de tubos e pacotes, há agora acima de 124 milhares de pacotes disponíveis para você de graça que foram criados pela comunidade. Então, por pessoas como você no futuro, você pode simplesmente usá-lo. E agora você pode ser. Preciso aprender todas essas coisas? Eu pensei que você poderia ser assim. Isso começar Não, A resposta curta é agora você não precisa aprender todas essas coisas. E acredite em mim, eu não conheço nem 90% deles. A verdade é que você só precisa aprender como dedo do pé olhar como um programador para a informação. Ok, então quando você está precisando de algo, você precisa saber como olhar através dessas coisas. E você precisa saber como o dedo do pé Reedus, crip, canelas fora funções. Então, quando você lê uma descrição assim, você pode ver instantaneamente que essa função irá retornar a raiz quadrada fora de X. Além disso, eu só preciso escrever algo assim e eu vou obter a raiz quadrada de X, isso é tudo. É assim que se aprende funções. E a verdade é que você não precisa se lembrar deles. Você só precisa se lembrar que eles existem. É uma boa ideia lembrar que eles existem. E quando você precisa de algo assim, você não saberia onde procurar porque não é possível. Lembre-se de todas as funções possíveis. Há milhares deles, e as pessoas criam a cada dia. Um novo, certo. Então, será impossível lembrar disso. Ok, estamos calmos agora, então vamos usar outras funções. Existem algumas funções de construção,
Então, por que funções que você sabe a necessidade de importar? Por exemplo, estes a ser nós. Ele irá retornar o valor absoluto de um número, o que significa que se você dar-lhe, por exemplo, para vai retornar para você, dar-lhe menos dedo do pé. Ele vai voltar a costurá-lo. Você sempre retorna o número positivo. Ele só vai mudar os números negativos em números positivos. Isso é tudo. É assim que funciona. E muitas vezes é usado, realmente, acredite em mim. E esta é uma das funções do edifício, certo? Também podemos usar algo com essa ajuda de culto que você pode enviar para ajudar. Por exemplo, um B s e você verá instantaneamente como a disfunção funciona. Então você não faz nada para lembrar
Como eu disse, como ele funciona, você pode apenas enviar para ajudar o nome da função e você vai obter a informação como ele funciona. Ótimo, não é? E bem, há alguns que você precisa importar como, por exemplo, a matemática. Você não pode fazer algo como a estrada Math Square, por exemplo. Como você pode ver, matemática não está definida. Você precisa importá-lo. Para importá-lo, você precisa escrever importação e, em seguida, nomear a biblioteca que deseja importar. E agora, uma vez que o shell está funcionando logo abaixo, você pode usar abaixo deste comentário. Você pode usar a biblioteca de matemática. Você pode saber, direito Muff dot e, como você pode ver, teria saído também. Você precisa se lembrar que você deve escrever matemática antes de ser toh também acessar esse metal usando seu ponto aqui. Ok, você não pode escrever algo assim porque este método não está definido. É realmente importante que, mesmo que você tenha importado a biblioteca de matemática. Você ainda precisa usar o ponto aqui. Se você não quiser usar o operador de ponto, você precisa ser importado de outra forma, indo para digitar algo assim de importação mês e, em seguida, o nome da função que você
deseja importar. E agora, quando digitamos assim, funcionaria. Mas o que é divertido? Não vai funcionar quando fizermos algo assim. Está funcionando porque importamos para cá. Certo, Certo, vamos prender. Reinicie o shell. Então eu faço algo assim. Reinicie a casca e novamente quando eu massa assim, Como você pode ver, eu tenho quatro. Mas agora eu faço algo assim. Não vai funcionar. Então não vale a pena porque eu uso a matemática de importação aqui. Você precisa se lembrar que há um estado shell, certo, e tudo daquele lugar será lembrado. Então eu esqueci sobre se nós importamos a matemática já aqui, e é por isso que ainda funcionou aqui. Mas, uh, aqui nós não funcionamos, como você notou, certo? Está bem. Você também pode para a escola, como você iniciar o shell novamente importar todas as funções possíveis como que a partir de importação matemática e nós notícias precisa usar o asterisco. Asterisco significa que eu quero importar todas as funções e agora eu posso usar. Por exemplo, o selo da função do teto é apt op. Quando você olhar para cima em seu quarto, você verá o selo, certo? Então ele sempre moverá o número para cima, como você pode ver por ele. Mova-se para cima. Por isso, está sempre a funcionar. Não importa o que está escrito aqui. Sempre corra para cima. Como você pode ver, temos sempre como resultado para cinco e eu posso usar fácil agora estes função também direito porque temos importado todas as funções de matemática. Ah, usando esta construção. Se você tivesse usado essa construção, você precisaria comer direito cada vez matemática antes do nome da função de então você começa dedo do pé para que você teria que escrever matemática que selo mapeado raiz quadrada. Certo. Então, para resumir, a
fim de invocar a função, você digita o nome da função e, em seguida, você envia um argumento para que seja de alguma forma interpretado pelas instruções que você não sabe como eles funcionam e você não precisa preocupa-se com isso porque já foi escrito por alguém. Você pode apenas reutilizar o casaco apenas digitando o nome fora da função. E isso é ótimo porque você não precisa dedo do pé re inventar a roda. Você pode usar o trabalho dos outros. E o que essa garota no futuro, quando você se tornar programador, você também pode criar funções que éramos e como criar funções no futuro. E você pode ajudar os outros, certo? Você pode criar biblioteca como, por exemplo, na luta assim e alguém perguntando, importado e ele pode usá-lo. Então o módulo que cinco aqui é realmente algum tipo de biblioteca agora. Não é nada, você sabe, ótimo, porque você poderia apenas nós sabemos como criar variáveis e fazer algumas
operações matemáticas simples sobre elas. No futuro, saberemos como criar grandes coisas. Essa é apenas a lição. Muito obrigado.
12. ATENÇÃO - aula importante sobre o erro sobre sobre o de as funções sobre em comum: Olá hoje são mostrar-lhe algo que irá ajudá-lo a evitar erros que são cometidos por mendigos. Olha, nós temos aqui um nome Rabel e nós designamos para ele. Joan e eu gostaríamos de ampliar cada letra. Então eu gostaria de ter aqui Jay Oh, idade. E em vez das letras pequenas como essa, como fazê-lo? Bem, poderíamos escrever por conta própria agora. Nós não sabemos como fazê-lo porque nós não temos, você sabe, moldado para ele. Mas podemos usar a função que já faz isso. Por que devemos reinventar a roda quando podemos usar algo que possa fazer por ela? E há uma função que é chamada superior assim e esta função aumenta sua string. Mas esta função é um pouco diferente porque você a usa assim. Você usá-lo na string, esta função de construção você não precisa importar nada. Então você faz coisas assim. Nome que superior e ele vai levá-lo vai aumentar todas as letras aqui quando ele rodou o módulo. Você verá como resultado nada. Por quê? Bem, porque quando o intérprete cessa uma linha como essa, ele vai dar o dedo do pé. Vá para a definição fora da função superior e ele vai executar todas as instruções que vão ampliar estas letras aqui. E depois que ele executar todas as instruções, ele voltará aqui. Nós temos um valor assim. Então ele fez o trabalho e devolveu-o para cá. Ele acabou de substituir toda esta linha por algo assim. E quando você arredondado módulo, o resultado é o mesmo porque não usamos a impressão. Quando você usa a impressão, como você pode ver, ela funciona bem. Agora também podemos fazer algo assim. E nós somos. E também funcionará bem. E John. Certo? Mas ainda assim, vamos ver se mudamos a variável name. Mas como você pode ver, nós não mudamos. Estes nós acabamos de imprimir Jonah Que Há tudo o que acabamos de imprimir o John aqui , isso é tudo. OK, nós não fizemos algo assim. O nome é igual a John. Agora temos ambos Jones em letras grandes. Até nós fizemos isso de forma morta. Oh, sim. Então nós substituímos o que estava dentro do nome com as crianças assim. Ok. E espero que agora você entenda como funciona. Você deve agora exercer esse grande, nós pensamos citado. Então, há muitas mais funções como essa. Por exemplo, mais baixo. Se você tivesse usado mais baixo, ele fará todas as letras que estão dentro do nome pequeno. E há também algo chamado o policial da escultura. Pena de mentiras. As coisas se soletravam assim. Oh, ele não está. Tem sido assim. Peço desculpas. Esta função aumenta a sua em insistir na primeira letra. Mas todos os outros, uh, nosso companheiro menor, certo? Então é assim que a função em maiúsculas. Então você tem apenas emprestado liberando funções superior, inferior e capitalizar. Mas o mais importante é que você sabe como as funções funcionam quando as funções invocam. Então, quando você usa os parênteses, o intérprete vai, verão executa todas as instruções possíveis que farão o que a função não deve fazer. E então ele retorna para o lugar fora do lugar de invocação como aquele e retorna algo
assim . Ok, é muito, muito importante entendê-lo, e porque caso contrário você pode fazer muitos místicos por causa disso. Então essa é uma boa idéia agora para você se exercitar um pouco, fazer de um Rabel chamado coisa com seu próprio nome e brincar com ele como eu fiz. Eles estão contando a lição. E sempre, se você tiver alguma dúvida, sinta-se à vontade para
13. Como fazer os dados do usuário e de tipo (casting) (casting): Olá Com cada lição, você sabe mais e mais. E porque você sabe agora o que são funções, você pode finalmente fazer um programa útil como um que pode, por exemplo, levar dados que toleram dados baixos de usuários. Não será atribuído a variáveis manualmente valores como, por exemplo,
que, mas vamos levá-lo de usuários. Então, como tirar os personagens dos usuários? Como tirar dados dos usuários a partir da entrada? Bem, precisamos usar as funções deste culto. E depois disso fora do curso, precisamos usar parênteses porque não, que para invocar a função, você precisa usar parênteses. Isso significa para interpretado que ele precisa ir e olhar para cima para a entrada de nome e fazer coisas que são responsáveis por tomar os caracteres de importação. Quando você executa o módulo, como você pode ver aqui, a ciência da carruagem daquele que está piscando cuidado está esperando por nós para colocar algo aqui. Vou colocar, por exemplo, para e o que aconteceu? - Nada. Porque, bem, aquele pensamento que fizemos agora é igual a fazer algo assim. Ok, como eu disse, quando a função vai em algum lugar dedo fazer as instruções que são responsáveis por isso. Para como a função está funcionando, esse intérprete vai voltar aqui e retornar a coisa como, por exemplo, nesta situação para e em tudo. Então precisamos atribuir esse valor para algo para que possamos reutilizá-lo, certo? Então eu acho que essa é a melhor idéia para usar. Eles foram capazes aqui, certo para com o objetivo de Are Able um oh e em torno do módulo. Agora, quando colocamos cinco, significa que aqui são cinco, certo? Então isso significa que podemos acessar lá. Variável chamada assim. E como pode ver, temos uma boa batida na sua luta. Mas você deve notar uma coisa. Ei, essas cordas, eu coloquei seu número, mas ele está restaurando o porquê e o que vai acontecer se eu quiser adicionar duas cordas
um ao outro? Bem, vamos começar de adicionar fedores uns aos outros. Então vamos criar outro foram capazes e vamos pegar duas coisas do usuário, por exemplo, cinco e 10 e é isso. Macaco explosão grande e o que você provavelmente notou. Cinco. Último N é igual a 15. Não é 510. Por que é 510 porque longe a é agora um bit corda não é uma string. E é como aquele 510 que você adicionou duas cordas. Vocês se conectaram a coisas um ao outro. Resultado porque você precisa lembrar que tudo o que você toma do usuário será sempre interpretado como string. É uma boa idéia porque não sabemos exatamente o que pode ser o que o usuário pode, certo? Certo. Então, se você quiser mudar a corda no reboque no professor, você precisa usar outra função que pode fazê-lo para você. E esta função é chamada Adivinha o que int assim. Então você só precisa fazer algo assim na entrada. E agora aqui teremos em professores. Podemos checar. Também gosto disso. Você pode ver que nós mudamos os valores. O cinco e 10 0 você também pode usar a função de fluxo assim. Mas bem, estamos adicionando números e isso não é, você sabe, o fluxo de números. Portanto, não precisamos fazer algo para usar o carro alegórico aqui. Mas sabe, nós imaginamos que alguém queria dobrar os números. Por que não? Você deve usar o carro alegórico. Ah função para que pensar que você mudar o tipo de uma para outra peça chamada Fundição . Fundição como essa fundição permite que você altere um tipo off para ableto outro tipo de variável. Ok, eu acho que para que nós tenhamos aterrissado, a fim de obter números como esse, nós precisamos usar elenco, certo? Está bem. Então, não podemos imprimir os resultados assim instantaneamente. E se trabalharmos bem cinco. E então nós acabamos de adicioná-lo. Mas e se eu quisesse dizer algo assim? Alguns de A e B são iguais a morte. Esse módulo funcionará? - Tudo bem. Quem é que está a trabalhar? - Tudo bem. Podemos ver que deve ser pedido para o ar não entrar. O que significa que hey, ele estava esperando corda não no professor, porque Hey, aqui está corda. Aqui estão dois inteiros e não podemos adicionar a um tipos diferentes para o outro assim. Você pode flutuar ponta do dedo do pé. Ele vai funcionar porque estes são números, mas você pode adicionar extremidade do dedo do pé corda. Você precisa se lembrar disso. Então você precisa mudar seu resultado fora que em string novamente. Está bem. Se não gostamos disso, é
claro que vai funcionar. Mas o resultado será 510 porque estas são cordas agora, certo? Mas se você fizer isso assim, temos que mudar de alguma forma para feder. Mas o resultado que não queremos mudar é assim. Bem, para mudá-lo, você precisa usar a função str. Certo? Mas fazemos assim. Claro, o programa vai funcionar bem. Cinco e dez. Mas temos resultados inesperados. Certo? 510 Precisamos rebocar usá-lo nos resultados. Então, depois que o A for adicionado Toby, vamos usar a função de ar nos resultados. Então precisamos usar apenas os pais estão em ambos ao mesmo tempo. Certo? Como isso. E agora, quando você está em torno desses módulos, como você pode ver, ele está funcionando bem. Ótima. Nós também precisamos adicionar um tempero aqui, então bem, parece um pouco melhor, certo? Como aquele bálsamo cinco, então. Ótima. Está bem. Há mais um Pense, Aprenda nesta lição. Como, por exemplo, que você pode enviar uma função de entrada do dedo do pé argumento porque, bem , agora, realmente, quando eu colocar luta e 10 eu não sei exatamente por que eu coloquei aqui cinco e fio. Ponha o seu 10. Eu sei porque eu criei este programa. Mas você sabe, o usuário não vai saber o que ele está fazendo exatamente. Então acho que é uma boa ideia. Então diga algo como um programa que são dois números um para o outro. E então você pode pedir ao usuário o primeiro número, uh, primeiro número segundo número quando eu estiver perto deles. Embora, como você pode ver agora, ele está nos pedindo o primeiro e o segundo número, certo? Certo. E também precisamos adicionar o tempero aqui, a fim de torná-lo um pouco melhor, certo? Ok, há também mais uma coisa que eu quero te mostrar. Nesta lição, é a calma, um sinal que você pode usar na impressão porque,
você sabe, você sabe, adicionar cada espaço de tempo como esse está demorando muito tempo. E então por que se preocupar em fazê-lo quando você pode usar em vez do sinal de adição do coma? O que vai acontecer? Como você pode ver, esse espaço foi adicionado aqui automaticamente porque este é um separador padrão para a
função de impressão . Você pode mudá-lo. Não vamos falar sobre isso agora. Mas, ei, esta é uma operação padrão. Ah, separador. E cada vez que a função de puxar vê a vírgula, ela irá adicionar lá, hum apenas o espaço e mostrar a próxima coisa que está depois do coma. E o que este objetivo é que você não cumpra o dedo Use o elenco sobre isso agora porque você
não está conectando isso a isso. Ok, então você não precisa usar o seu como a função hora, o nojento que no professor resulta na string. Certo? Então também é legal porque agora você pode fazer algo assim. Alguns fora. Está bem. E agora podemos dizer, bem, a é igual a alguns. Alguns fora de um que é igual a ok. Como isso. Uh huh. E, oh, você está certo. Além disso, ser é igual a E quando você em torno do módulo você não é é que temos aqui alguns dos nossos físicos para cinco. Não precisamos do dedo do pé que te apimentar, certo? É importante que não precisamos do dedo do pé. Lembra-te disso porque tens de o fazer. O espaço agora está aqui. Canção do jogo. Alguns de um difícil 05 mais B é igual a 15. Não, eu deveria ter dito que eram essas pessoas também? Por exemplo, Been é igual a Ah, Ok. Ninguém ao redor do módulo, alguns fora auxiliado é que você poderia ter cinco dedos. Mais B que é igual a 10 é igual a 15. Ótima. Então a coisa legal sobre isso é que você não precisa rebocar nos espaços aqui, e você não precisa se importar com que tipo é essa variável aqui, certo. A função de impressão. Nós só trabalhamos bem. E vai imprimir o resultado assim. Certo? Mas veja, fora do curso no reboque. Está bem. Era o método de fundição. Como não está aqui porque senão o resultado é 510, como eu disse antes. Então é hora de exercício mega programa que pedimos ao usuário seu nome e sua idade. E depois que ele aparecer qual é o nome dele e dizer-lhe qual será a sua idade em um ano. Você tem alguma pergunta? Como sempre, sinta-se livre para perguntar
14. Operadores de comparação (de relacionamento): Olá, todo mundo. Hoje vamos falar sobre empresas em operadores. Às vezes eles são chamados de operadores relacionais porque eles verificam como a coisa que está
no lado esquerdo se relaciona com a coisa que este no lado direito ou o comparar como quatro é 25 E quando o sinal se parece com
isso, é verificações, se for maior que cinco. Não é verdade, certo? É falso. E a expressão como essa vai ser travada no reboque. Falso. Porque o intérprete verifica algo assim, verifica a expressão assim. Isso e muda mais tarde no reboque. Falso ou se fosse verdade, então se tivéssemos uma situação como essa, seria mudada no reboque. Verdadeiro. Bem, podemos verificar facilmente fazendo algo assim. É 10 maior que 5. Sim, é dois é cinco mais baixo do que saber. Não é verdade, porque cinco é maior que dois. Ok, é assim
que a empresa razão operador que funciona, mas você pode estar chapado. Mas quando eu poderia usar algo assim bem,
no futuro, no futuro, você aprendeu que algo seria declarações condicionais esculpidas. Estas são declarações. Estas são instruções que podem verificar se algo é verdadeiro ou falso, e dependendo da situação, você será capaz de executar instruções diferentes. Falamos sobre isso em futuras palestras, mas imagine que podemos fazer algo assim. Se 10 é maior que 5, então, hein? Faça algo assim. Caso contrário, faça outra coisa. Imagine que você quer criar um programa que irá verificar quanto dinheiro alguém termina, e dependendo do dinheiro que o cara ganha, ele precisa pagar taxas de imposto diferentes quando ele ganha mais rei para pagar mais e, bem, você pode fazer algo como eu puxo me colocar, nós podemos fazer coisas como essa prancha. Ouviu como Marge você e por ano, certo? E você pode atribuir valor a, por exemplo, algo que a deusa chamou seus recados corretamente. E você pode usar o valor que você pode verificar mais tarde se seu ganho é maior do que, por exemplo, 20.000. E se sim, então você pode fazer algo como você pode. Por exemplo, disse que a taxa de imposto para contratar direito, É assim
que você pode criar melhores e programas, certo? Isso é que finalmente, vamos ser capazes de fazer coisas realmente grandes. Portanto, há outros como, por exemplo, menor do que para obter verificações se dois é menor do que, por exemplo, cinco anos. É verdade se dois é menor que um. Não, não
é verdade. E aqui está o mais importante. Igual a pensar. Bem, olha, cinco é igual a cinco. É 25 é igual dedo do pé, pois é falso. O importante que você precisa notar aqui é que estamos usando o sinal de igualdade de dois porque você não pode fazer algo assim. Estes sinais são usados para atribuição. Lembre-se disso porque este é um erro muito comum que é cometido por iniciantes. Então, para verificar se algo é igual a outra coisa, você precisa usar o que chamar sinais. E agora olhe, vamos criar A favorável e vamos atribuir a ele. Cinco. E vamos criar um muito será. Mas vamos tirar essa variável das importações. Então, do usuário. E agora eu colocaria aqui também cinco. Agora, quando eu digito, você vê que cinco. Ele é assim quando eu escrevo os cinco anos assim. São cinco picles Toby. Não, não
é porque o que Porque B é realmente uma string porque ser foi tirado da entrada. É o que eu estava falando nas últimas palestras, certo? Lembre-se sobre isso. Essa string não é a mesma que no professor, mas você sempre pode alterá-la. Você pode fazer algo que eu fiz A é igual a, mas precisamos mudar. Seja no reboque, inteiro usando a função de fundição em e, como você pode ver agora é através. Há também operador como esse. É cinco. Nota igual a lutar. É falso porque é igual. É cinco, não é igual a quatro. Uh, é através. Cinco é maior que cinco? É falso. É FISA maior ou igual a cair. Cinco. É verdade. Então, se você usar no mesmo sinal único co signatário assim, você pode então verificar se algo é maior ou igual ao mesmo tempo. Certo? Seis é maior ou igual a cinco. Sim, é verdade. O que funciona da mesma forma e bem como um exercício. Use estes um jogo com ele, jogar com empresas e operadores porque eles são muito úteis. Na próxima palestra, você verá o porquê, porque você aprende a declaração condicional. Se você tiver alguma dúvida, como sempre, pessoas para perguntar, Muito
obrigado.
15. Instrução "se!: Olá, pessoal. Hoje vamos falar sobre declarações condicionais que são declarações. Então eles são algum tipo de expressões que podem condicionar para que eles possam verificar se algo era verdade ou não verdade. E dependendo do resultado, podemos decidir usando algo como declaração condicional. Se você quiser executar a instrução abaixo declaração condicional para que possamos fazer algo assim. Se algo é verdadeiro ou talvez não seja verdade, então eu quero executar instruções abaixo caso contrário. Se forem dois, ou talvez não, também. Então eu quero executar instruções aqui. Se algo mais é dois ou talvez não através, então faça essas coisas. E em tudo, se todas essas instruções que ambos não eram muito. Em seguida, execute instruções aqui. Então, este é o Conte mostrado no estado. Você pode verificar se algo era verdade ou não. E dependendo da situação, podemos executar instruções, mas abaixo da direita quando algo assim pode ser usado. Oh, bem, vamos fazer um exemplo simples. Primeiro, isso é ótimo. Variável A. Vamos atribuir a ela. Cinco ser Isso é um sinal para comer de graça. E então vamos verificar se um é maior do que ser Ah, do jeito que eu escrevi. Aqui está o chamado pseudo casaco. Está escrito assim. Então isso não é verdade, Coat. Eu só escrevi assim. Então é mais fácil de entender. Aqui está o canalizado em onde sintaxe que você precisa para Você. Então, se um é maior do que ser, de
modo que, a fim de criar declaração condicional nele, direito, se palavra e então você precisa escrever parentis é e dentro de parênteses, você precisa digitar a expressão que deve ser verificado. Então, por exemplo, cinco é maior do que estar certo. E se cinco é maior do que ser, então você precisa adicionar a contagem aqui e depois disso. Você precisa fazer um fim. E aqui eu falaria em breve sobre tentar fazer um recuo aqui, então em colocar algumas especiarias aqui e as instruções que devem ser executadas. Então, por exemplo, vamos trazer um é maior do que ser assim. Vamos executar o módulo. Como você pode ver, A é maior do que ser, e é troves. Mas quando mudamos, por exemplo, , mudou para, como podem ver, não
vimos nada certo,
porque, bem, bem, a expressão aqui não é para isso. Tudo bem se fizermos algo assim. Como pode ver, é falso. Fizemos algo assim. Temos essa instrução aqui impressa. Então é assim que o mais fácil é mais fácil declaração condicional. Parece que neste pequeno olhar podemos fazer algo assim é maior do que ser. E em outro caso, podemos fazer algo como,
uh, bem, bem, esse é o problema. Nós não escrevemos o outro aqui. Só temos oito, só
isso. É assim que a sintaxe para L rígida parece em Piketon A é menor do que ser, em seguida, imprimir A é menor do que a televisão de outra forma ainda. Quando todos esses casos não são verdade, executar algo assim A é que ele chamou para ser e nós podemos tomar Talvez esses números do usuário. Certo? Primeiro número segundo número cinco livre é maior. Feito, B É também. Agora vamos digitar grátis no cinco. Mais lento do que estar bem. Cinco e cinco. A. É igual ser louco está funcionando bem. Mas há mais algumas coisas sobre as quais preciso falar. Vamos levar esta coisa sob comando para que estas instruções não sejam executadas. E agora o que acontecerá se eu excluir esse recuo aqui, então os espaços aqui, o que acontece? Posso executar o programa. Sintaxe. Erro esperado um bloco recuado, que significa que o intérprete espera o bloco recuado, de modo que espaços antes da impressão. É um erro vital. Se você está vindo de outra linguagem de programação, você pode precisar se acostumar com isso porque você tem que fazer recuo, então você precisa criar alguns espaços aqui. Quer livre para você também pode bater a parada de garrafa superior, mas na direita e é OK nesta idéia porque quando você aperta o botão superior no lutador eu d. sobre este. Ah, tudo o que um hit do botão Top será alterado em quatro espaços, mas o para visitar você poderia usar apenas um especial. Hum, provavelmente significa que podemos ir com você se tornar e assim. Certo, e vai funcionar bem. Mas há algum tipo de convenção. Então, a maneira como devemos este programadores todos os programas e a convenção dizer que devemos usá-lo para espaços. Ok, para algumas pessoas dizem estúpido. Mas acho que para é melhor. Você não deve usar tab mais tarde, o botão superior, mas neste. Eu te disse especificamente. Você pode parar porque o top é transformado em quatro especiarias? E então você não precisa do O Cara sobre a direita? Você tem preços de força instantânea. Você só tem um botão,
eu acho,é eu acho, mais fácil do que pensar. 1234 vezes especificações, certo? Eso o recuo é muito importante. Por que ele pode ser. Por quê? Por quê? Por quê? Por quê? Por quê? Porque imaginem uma situação como essa. Eu não vou fazer aqui. Mais uma instrução. Como, por exemplo. Ah, um é maior do que ser e eu estou tão feliz com isso. Mas quando eu em torno deste módulo, Como você pode ver, nós não adivinhamos sobre o resultado é maior do que ser nenhum. Nós não pegamos este, mas como você pode ver, quando eu digitei Ei, aqui, eu cheguei aqui. Que corda. Mm. Então tentamos confortar duas cordas um ao outro. Portanto, este é um ero comum que você precisa fazer em comparação com inteiros uns aos outros. Certo? Então você precisa fazer um casting. Então você precisa mudar os tipos deitados lá. Agora, quando eu tomar 10 5 como você pode ver os dois fora. Estas instruções foram executadas corretamente. Ok, mas olha, quando você executar o módulo e você digita, por exemplo um e no segundo, Número cinco ambos desligados, essas instruções não serão executadas. No nosso caso, era algo que queríamos que acontecesse. Mas e se você souber que quer que a dívida em seções seja executada? Lola, vamos rodar o módulo. Vamos digitar o primeiro número. Por exemplo, um e depois cinco, como você pode ver, roubar essas instruções não foi executado. Por quê? Porque estava no mesmo nível fora do recuo. Então, havia a mesma quantidade de espaços aqui para e aqui para o espaço é ok. Então, a fim ,
você sabe, remover essa instrução dessa condição, você precisa ter o recuo que é, você sabe, igual à instrução condicional para tê-lo no mesmo nível. Como quando estou usando minhas milhas aqui, você precisa estar no mesmo nível. E então esta instrução não está, você sabe, sob esta declaração condicional. Agora, quando eu executar o módulo e eu digitar um e depois cinco, como você pode ver, nós temos esta coisa impressa. Ok, então agora você entende que o recuo importa que você tem que fazer recuo em ordem. Para que dedo mesmo ser capaz de adicionar algo sob a declaração condicional. Certo. Como isso. Bem, obrigado. E se você quiser, remova uma das instruções da declaração condicional, você tem que apenas, você sabe, remover o recuo. Certo? A primeira instrução sem recuo não estará sob a
instrução condicional . Ok. E agora vamos voltar a isso. Vamos ver se funciona. Tudo bem. O módulo 15 É sobre a luta. Isso é verdade. Um e um A é igual a ser.
16. Exercício de calculadoras: Olá, todo mundo. É hora de praticar. Você precisa lembrar que, se você não praticar, você nunca se tornará um bom programador. Ok, então hoje nós vamos criar um programa simples que será capaz de, nos números subtrair números, multiplicar dois números e dividi-los. Certo, então vamos criar uma calculadora simples. Certo, esse é o nosso trabalho. Então você pode tentar fazer você não é Europa. Se você não sabe como fazer isso, então brinque comigo. Ok? Assista a essa palestra e fique comigo olhando o que eu fiz. Mas depois desta palestra, dê-se 20 meios e tente fazer a mesma coisa ou mesmo gastar a calculadora de volta algumas novas operações. Está bem, está bem. Vamos voltar para a nossa calculadora. Então, o que precisamos fazer? Em primeiro lugar, precisamos de um dedo. Pergunte ao usuário o que ele quer fazer se quiser adicionar, subtrair, multiplicar ou dividir números. Ok. Vou criar algum tipo de homens, , mas como podemos criar Manu? Como podemos criar algo que vai agir como Manu que parecemos equipe semelhante e eu acho que poderíamos apenas cremes isso para opções no conselho e parece que muitos, mas
precisamos ser capazes de escolher entre as opções que direito precisamos permitir que o usuário para ser capaz de escolher entre enganos. Eu acho que poderíamos, por exemplo, um número antes de cada tópico. E se o usuário digitar um, vamos permitir que ele adicione números. Se ele digita dedo do pé será subtraído, poucos tipos livres ele seria para multiplicar ele digita para ele seria capaz de dividir. Ok, e agora, como você pode ver, ok, e parece melhor. Então é algum tipo de manual, mas precisamos de um dedo. Peça ao usuário o número em ordem para pedir ao usuário o número que poderíamos usar em vez da função de impressão, poderíamos usar a função de entrada, certo? E depois disso, poderíamos, por exemplo, no cólon e no espaço. Então ele tem o espaço de jogo que você depois do dedo do pé Manu colocou algo para o nosso programa, certo? Como você pode ver, nós não temos, você sabe, Colin sugerindo que nós deveríamos digitar o seu algo. Então, quando eu tomo por exemplo, um programa de hora termina porque agora nós acabamos de entrar em nosso script, aquele do usuário e nosso código se parece com isso, certo? E isso é tudo o que precisamos para fazer algo com aquele vindo do usuário. O que precisamos para atribuí-lo a algum tipo de um maduro para que possamos criar uma variável que será chamado, por exemplo, nova opção. Então agora podemos decidir dependendo do mundo será escolhido pelo usuário o que queremos fazer. Ok, então agora podemos usar, por exemplo, declarações
condicionais. Se a opção man é igual a um, então vamos adicionar dois números. Mas não temos esses dois números. Então também precisamos perguntar por eles, certo? Então vamos grande vory empunhado com co primeiro número e vamos atribuir rebocá-lo primeiro número que será colocado aqui pelo usuário. Não, vamos fazer isso. Acho que com o segundo número. E agora vamos trazer o resultado como esse primeiro número mais o segundo número. E agora vamos por aí. Quanto mais você sabe quando escrevemos um. Como você pode ver, podemos digitar os primeiros números de exemplo 10 e cinco e nada Campins porque eu fiz novamente de
propósito porque você precisa dedo do pé. Lembre-se, você precisa do dedo do pé. Leve-o profundamente em sua mente que estes pensam se você não usar o elenco se você não juventude algo como a cabeça, então esta coisa é realmente um contrato certo corda. Pode digitar opção humana. Como você pode ver, é um com essas aspas simples aqui. Então isso significa que é corda. Então vamos precisar compará-lo assim. Não podemos ficar assim,
mas precisamos usar o elenco. Não podemos ficar assim, Ok. Lembre-se sobre. Mas
por que não? O que é isso mudar para esta coisa e talvez nos deixe ouvir os sinais? Como, por exemplo. Além disso, sou um sinal. Pergunte o risco e o corte assim. Não enfraquecer. Apenas verifique-te. Ele amarrou o sinal de AH, mais, certo? E então adicionaremos os números que funcionarão bem também. Ok, então se você quiser adicionar isso aos números, nós também devemos pensar sobre eles como em. Então devemos fazer algo assim. Caso contrário, vamos tentar a força. Lembre-se sobre isso. As vidas ao redor do módulo que é o sinal de mais e deixar, por exemplo, cinco mais 10 latidos. Temos 15 Ok, Então esta é a primeira opção da nossa calculadora. Precisamos entrar em outras opções. Então, assim? Todos seguros. Então, em outro caso, se alguém em muitas opções escolheu o sinal de menos,
em seguida, irá imprimir o resultado sub direção agora mesmo. Está bem, vou poupar. Vamos lá. Porque você pode colocar o Essman se, como quiser, for asterisco, então nos multiplicaremos e estarão todos seguros. É a barra. Então dividiremos esses dois números, certo? E em todos os outros casos, isso significa que alguém digita algo que não era esperado. E vamos dizer a ele que você amarrou algo inesperado. Ok, assim. E agora, quando você corre, quanto mais, é claro, o frio. Aqui eu peço desculpas. E agora, quando temos algo inesperado, você morreu algo inesperado porque, bem, nós verificamos aqui. Certo? Uh, quando fazemos algo como, por exemplo, como o risco em nós isso eu acho que quatro multiplicado por oito. Eu tenho 32, o que é verdade. Então nossa calculadora está funcionando bem. Mas temos que roubar algo que não é bom olhar. Temos aqui divisão direita então alguém digite barra e ele quer dividir cinco três para ganhar cinco agora com zero. Como podem ver, temos aqui uma divisão de erro por zero e nosso programa parou de funcionar. Não queríamos que tivéssemos uma situação dessas. Devemos verificar se o segundo número é zero antes da divisão. Ok, então neste caso, devemos verificar o oitavo. O segundo número é igual a zero se for verdadeiro, e agora é muito importante. Precisamos aderir recuo porque esta instrução será executada. Se isto for verdade, vou aderir a Outra Inglaterra e este fim. E sugerimos que esta instrução pertence a esse direito instrução para fazer
declaração condicional aqui o se um segundo é igual a zero k. Então vamos trazer uma divisão por zero. Você não pode fazer isso assim, ok? E caso contrário, se não for zero, se for outro número vários que não é legal para zero, vamos apenas dividir esses dois números, é
claro, foi para a calma aqui. Então, por favor, note que eu tenho um bom recuo aqui e para você e esta instrução quando esta instrução for verdadeira, então esta declaração condicional será executiva. E se esta declaração condicional este ano do que este será executado de outra forma, estes na seção com executar. Então, agora, quando fores, mais
procuras a Nicole. Quando digitamos barra primeiro número por exemplo cinco e o segundo número zero como você pode ver divisão por zero, você não pode fazê-lo um soft dead e agora cinco dividido por um. Como você pode ver, o resultado é cinco. Então tudo funciona corretamente. Então é assim que acabamos de criar uma calculadora simples. Você pode adicionar mais a ele como, por exemplo, você pode tentar números de energia, certo? Você pode usar o operador do módulo. Esse é um exercício que você pode criar mais opções para escolher. E, bem, é um exercício. Você deve criar este programa do zero. OK, remova tudo o que você pode que você vê aqui apenas criado a partir do zero
depois de 20 minutos Depois de assistir a esta palestra, você deve praticar criando este programa, será ótimo exercícios. Você pode ver que eu estou faltando cada vez que este pente aqui e eu estou fazendo isso porque eu programo em muitas linguagens fora, linguagens de
programação e hey, não
use essa coluna aqui e de alguma forma eu realmente tendem a ah, você sabe, Perdê-los. Isso é isso. Isso é isso. Como isso é culpa minha. E peço desculpas por isso. Mas você sabe, quando você está programando muitas linguagens, essas pequenas diferenças como essas coisas e você sabe que é difícil mudar seus hábitos quando você está mudando de uma linguagem de programação para outra, programá-lo instantaneamente e como o nosso novamente. Novamente, esqueci-me dessa cor. Então peço desculpas de novo. Espero que não estejas zangado comigo. Desejo-lhe boa sorte na prática da linguagem lutina criando uma calculadora simples que não recebe lição. Muito obrigado.
17. Valores em que de zero: Inferno acabou. Mas a coisa que é lugar aqui é chamada de expressão. E essa expressão, depois de seu bean executado, será transformada em um único valor. Então, se a é maior do que ser neste caso, é falso porque cinco não é maior que grande. Portanto, esta expressão será transformada em false. E se algo for falso, as instruções depois disso estão ligadas a isso na declaração condicional não serão executadas. Então eu rodei este módulo. Como você pode ver, nós não temos aqui nada, por outro lado, alguns também, é que ele pode ver. O resultado é a coisa que temos aqui sob a declaração condicional, a instrução como essa está aqui. Mas também é importante notar que qualquer valor que este diferente de zero irá executar instrução. O que isso significa? Isso significa que se você digitar aqui, por exemplo, grande número como esse Como você pode ver, você tem aqui como um teste de resultado quando você digita mesmo número negativo. Além disso, você vai ver test ive você digitar string como que você pode ver. Como resultado, temos novamente o melhor. Mas se escrevermos aqui zero, então não é nada. Então, zero dobras não vai te dar nada porque significa que a instrução, a declaração condicional era falsa. Há também mais uma coisa sobre isso é chamado nenhum. Também não vai executar a instrução abaixo da declaração condicional, mas falaremos sobre isso no futuro. É algo como nada, certo, como o vazio para objetos. Então você sabe qualquer coisa que é semelhante a algo que é como vazio como nada como zero. Então vai. Você não quer dizer a mesma coisa. É falso ou zero, mas coisas que são diferentes de zero Então, no número ou exemplos foram capazes como
uma variável A é agora igual a cinco. E porque cinco, não
é igual a zero a instrução como essa foi executada. Comporte-se. Mas quando mudamos 80 você notaria que não vemos nada porque A é igual a zero. Além
disso, seria como verificar se zero OK, é importante porque,
uh, bem, bem, quando você está fazendo declarações condicionais, você pode me comprar bife. Compare algo
e, como resultado, você terá um número que não é igual a zero, e o resultado será verdadeiro, certo? E você não vai saber por que agora você não sabe a zona. Boa lição. Muito obrigado.
18. Operadores lógicos: Olá, pessoal. Hoje vamos falar sobre operadores lógicos. Eles são chamados lógicos porque eles trabalham em expressões verdadeiras e falsas através declarações completas. Mas antes de entrarmos no dia da água, como eles funcionam? Gostaria de lhe apresentar o problema que eles resolvem. Vamos imaginar uma situação como essa que você deseja obter do número de usuário. Certo, então precisamos criar um Vrabel. Então você vai por exemplo, número e queremos verificar se o número está no intervalo entre um e 10. Então vamos apenas como essa entrada digite o número. E digo-te se for entre 1 e 10. Certo, vou pedir o número ao usuário. Ok, então é um número que precisamos também custar. É para terminar,
direita, direita, Ir para mudar o tipo de dedo do pé corda e lembrar que o tipo de entrada é sempre cordas indo para mudá-lo em inteiro porque precisamos de um número. E então eu quero verificar se esse número está entre 1 e 10. Então, como você faria isso? Sabe, Barbara, faça algo como aquele ladrão e aí dentro você verificaria se o número é maior que um. Então o quê? Agora eu só verifiquei. Se o número é maior que um e é tudo, mas não sabemos se não é, você sabe, por exemplo, 100 ou 500 nós não sabemos. Então precisamos fazer de novo. Declaração condicional. Se o número é menor do que 10, em seguida, vamos verde número entre um e 10. Certo? Faça algo assim ao redor do módulo e digitamos o número. Por exemplo, cinco. Como você pode ver agora, Eu sou varia entre um e 10, em seguida, digite o número. Estes maiores que 10 não estão mostrando nada. E aqui está o problema que temos para fazer declarações condicionais sobre ele. Não parece bom, certo, porque temos que fazer o recuo do dinheiro aqui. Nós melhor se pudéssemos de alguma forma conectar esta expressão com esta expressão com algo aqui entre esta coisa é chamado operador lógico, e este operador será chamado final nesta situação. Eu vou te dizer em breve o quê? Como um ano mencionado, os operadores lógicos trabalha na expressão verdadeira e falsa. Lembre-se que isso acha que o número é maior do que um vai ser transformado em verdadeiro ou falso, dependendo da situação. Bem, vamos imaginar isso com colocar no número o quê? Cinco. Então é cinco maior que um? Sim. Então essas coisas vão mudar muito verdade. E seus cinco menores que 10? Sim. Então, esta expressão será alterada no reboque para e para terminar também significa para Por quê? Porque este é um off operadores lógicos que se é encontrar com dois e verdadeiro, ele será transformado em verdadeiro e funciona assim quando você tem que. E é verdade, muda suas expressões para verdadeiras se for preciso. E falso iria transformá-lo em falso. Mudou pés cessados. Falso e verdadeiro. Vai mudar em quedas de reboque. Tem falso e falso. Mudaria no reboque, Falso Como lembrar. Bem, você pode se lembrar de duas maneiras. A conjunção e é chamada de conjunção é somente quando ambas as expressões são duas. Certo, então só precisamos lembrar disso e daremos dois acima. Expressões são verdadeiras, mas você também pode se lembrar de outra maneira. Imaginemos que você está falando com sua esposa e ela se transforma. Você sabe, eu gostaria de um café com leite e você vai dizer a dedo. Ok. Minha esposa, comprarei café e leite para você. Imagine isso. Esta é a nossa expressão. E quando você voltar com café e leite, significa que você não tem luz para ela. Ok, mas se você voltar só com café sem leite, então isso será declaração completa, certo? Mick não foi construído. Significa que mentiu para ela porque não comprou o leite. Não é o suficiente. E a mesma situação vai com você. Não compre café, mas você compra leite. E se lhe contaste alguma coisa, significa que lhe mentiste completamente. Ok? É assim que se lembra. Você pode sentir isso quando você diz a palavra e isso significa que você precisa fazer as duas
coisas ao mesmo tempo. E ao mesmo tempo. É por isso que quando você faz algo assim, se o número é maior do que uma extremidade no mesmo número de tempo é menor que 10. Então essa expressão será verdadeira. E quando eu rodei o módulo, como você pode ver, eu vou digitar. Por exemplo 15 não será verdade. Quando eu escrevo é entre um. E, em seguida, há também um operador que é chamado São Este operador lógico será, também, quando pelo menos um fora do Expressionista para desenhar verdadeiro falso lhe dará dois porque um off que a expressão quer através de dois. Falso. É verdade, se acabares. Mas quando tiveres quedas e quedas, dar-te-á falsas. Então altere nativo porque é assim que são hábeis é falso, Onley foi. Ambas as expressões são falsas. É assim que se lembra. Ok, então ou é falsa teia de expressões são falsas. contração é através da teia de expressões são verdadeiras. Mas também imagine uma situação com leite, direito e café. Quando disseres à tua mulher, vou comprar café ou leite. Isso significa que você pode comprar um fora desse produto ah e tudo vai ficar bem por isso. Oh, isso Bem, você pode voltar sem um fora disso. Você pode comprar bola deles. Tudo bem, mas você não pode voltar sem nada. Ok, é assim
que você pode lembrar que faz isso e quando você muda aqui para o nosso talvez não seja uma boa idéia usar o rancho. Imagine outra situação. Coloque-o sob para comentar e que é Ah, criativo um reboot cinco e muito ser. E vamos verificar se a é,
por exemplo, por exemplo, maior do que ser e,
bem, bem, A ou B é igual a cinco,
em seguida, teste de impressão. Então em nossa situação uh, também coluna em nossa situação quando em torno deste programa, como você pode ver, nós temos aqui teste. Por quê? Porque cinco é maior que dois. Certo, então é isso que é verdade? Mas essa coisa era falsa, certo? Porque B é igual a nota a cinco. Então é falso, mas verdadeiro ou cai dá-lhe o que dá o seu também Ok, Hum, o legal é que quando você mudar ou e você vai notar que você precisa rebocar tem ambas as expressões através ao mesmo tempo que você pode ver agora que é falso. A expressão que o resultado dessas expressões é falso porque verdadeiro e falso lhe dá verdadeiro e falso. Isso lhe dá falso. É uma boa ideia,exercício no
dedo do pé,
prática de criar alguns, sabe,
brincar com esses números e ver os resultados que ele conseguiria acertar. , É uma boa ideia,exercício no
dedo do pé, exercício no
dedo do pé, prática de criar alguns, sabe, Você também pode usar algo com este culto. Não significa não. Certo. Então, quando você pode mudar a verdade para falso e falso para. Então, se você tem uma situação assim agora, o resultado é falso, certo? Porque não vemos nada. Podemos mudar o resultado usando não assim. Você pode usar os parênteses. Então essa coisa, a razão dessas expressões será, uh nós lembramos que ele era falso, certo? Então será transformado em verdadeiro. E como você pode ver agora nós podemos ver a impressão aqui. Ok. Então operadores lógicos permitem que
você você conecte mais de uma condição ao mesmo tempo, certo? Você pode criar um complexo com números e assim por diante. Neste momento, estes são simples porque eu não quero fazer isso muito difícil porque você está agora aprendendo o mesmo imposto. Então não se preocupe. Tenho certeza que o fazer no futuro você criar algo mais admirado avançado. Certo? Ok. Aquela zona fez uma lição. Muito obrigado.
19. Loop enquanto enquanto enquanto: Olá sobre isso. Eles iam falar sobre Loops. Loops permite que você repita a instrução quantas vezes quiser. É muito útil. Imagine uma situação como essa que você quer. Peça ao usuário os próximos cinco números, e depois que ele os colocar diretamente no seu programa, você quer adicioná-los? Como você faria isso? Bem, você provavelmente criará um Rabel como, por exemplo, lá, alguns designados para comer algum valor padrão, por exemplo. Zero. E então você pediria. Então importar dar conheceu lá número algo como que você também iria lançar. É o número inteiro. Então você tem o número. Não esta bebida, Andi. Você iria atribuí-lo ao número, e depois dele você provavelmente faria o que eu acho que iria adicioná-lo no direito ao alguns. Então alguns mais é igual a número, e então você perguntaria novamente. Então eu acho que vamos precisar digitar assim e aquilo porque estava no jogo, o novo número que viria do usuário. E então vamos fornecer a repetição repetida e realmente ganhar e eles estão sendo reparados novamente repetidos. Ok, então quantos números nós adicionamos? 12345601 Demasiado. Certo, então vamos debater isso. Mas como você pode ver, leva tempo. Seu código não é bom. Claro, esta é a cultura curta. Você pode, de alguma forma, gerenciá-lo. Mas e se isso, bem, que havia algum, você sabe, complexo chamado fazer coisas assim manualmente como que não é a maneira de ir porque nós temos algo ou este loop de corte e olhar vai reembolsado todas essas instruções para você . Como estamos como este exemplo na próxima palestra? Porque é um pouco adiantado. Certo, vamos nos concentrar em aprender a sintaxe da coisa. É mais importante por enquanto. Vamos imaginar uma situação em que você quer apenas mostrar os primeiros 5 números como fazer isso. Ou talvez como não fazê-lo não vai fazê-lo assim. Certo? Porque se eu tivesse mudado o exercício para vamos trazer os primeiros 5000 números, então eles não demoram um pouco para olhar. Ok, então vamos usar alguma coisa. O que é chamado while loop. Está bem. Você digita as palavras-chave. Por quê? Qual é a palavra em inglês? Isso significa durante esse tempo que a condição que vai ser depois dele executar tudo que está no corpo fora do tempo. Olha, então é realmente semelhante ao se certo, mas eles têm bom agora aqui enquanto e agora colocamos o número de exemplo da esposa condição. Vamos criar o número é menor ou igual a cinco. Então imprima números, certo? Tem o número aqui. Então, se nós fizemos, você sabe, assim se você usar o if assim nós usamos essa declaração condicional e quando você estava no modelo, como você pode ver, nós temos aqui no Lee Ones Zero. E isso acontece porque a instrução condicional se executa as instruções que estão conectados à instrução condicional se a instrução condicional é através e ele executa sua única vez. Ok, mas quando você mudar para o meu lábio e nós queremos o módulo, como você pode ver, nós temos agora zero repetido indefinidamente. Ele agora é chamado de loop infinito. Se você quiser parar esse processo, você precisa acertar o grupo de balcão. Ok, controle mais C no seu teclado. Então a diferença entre por que e se é que quando a condição é verdadeira, ele executaria as instruções que estão conectadas ao olhar indefinidamente. Você precisa mudar de alguma forma o número dentro do loop, a fim de parar esse loop algum dia. Então eu acho que a melhor idéia que eu seria adicionar ao número, por exemplo um. E por causa disso, depois de algumas vezes o número será finalmente o maior que cinco. Então seria busca um dia e seis é menor que cinco. E por causa
disso, vai parar. Mas até que isso aconteça, ele irá executar e imprimir números que estão antes das cinco. Então, quando executamos o módulo, como você pode ver, não
temos 012345 Exatamente o que queremos. Então é assim que o por que o funciona ele executa instruções por exemplo conectado ao olhar até que a condição é verdadeira. Ok, vamos voltar para a coisa que falamos sobre o início na próxima palestra como um exercício. Mas antes de ir lá, eu gostaria que você se exercitasse sozinho. Tente imprimir números não de 0 a 5, mas imprimir números de 5 a 0 fora do curso usando lábios. Ok, isso é apenas uma boa lição. Muito obrigado.
20. EXERCício: de soma: tinha mais sobre isso. Hoje vamos criar um programa que irá adicionar números retirados do usuário. Então, o que temos que fazer primeiro? Bem, precisamos pegar o número do usuário como fazê-lo. Para fazê-lo, precisamos usar a função, que é chamada de Importação. E vamos perguntar ao usuário,
por favor, me dê o número assim. E então nós precisamos mudar esse número em um número, porque a verdade é que nós vamos obter uma string dele, certo? Então, para usar isso no elenco de professores e então precisamos economizar um pouco. Mas vamos salvá-lo em sua variável. Isso será chamado de R. Isso significa número. Ok, então precisamos agora pedir outro número para outro número para outro número. Mas nós também precisamos de alguma forma de proteger o alguns que você precisa para ter alguns começar o verão direito. O resultado. Então eu acho que poderíamos criar uma variável que chamaríamos de resultados e vamos atribuir a ela
no início. Zero porque zero é natural quando você está adicionando números para que pudéssemos fazer algo como resultado mais número do veículo e então poderíamos fazer algo assim. Isso é isso. Então, acabamos de pedir quatro números. E como podem ver, repetimos quatro vezes. que significa que este é o tempo que você precisa usar loop. Sempre que você repete algo, significa que é uma boa idéia usar. Olha, então como fazer isso? Primeiro, removemos que um necessário um casaco e vamos criar um loop. Por que larga? Por quê? O que? Por quê? Algo é menor que quatro. Porque queremos repetir as coisas aqui quatro vezes. Ah, e precisamos criar esse algo aqui. Certo? Então, precisamos limpar o va deleite como, por exemplo, eu e deixe atribuído a ele zero no início. Então por que eu é menor do que para nós vamos repetir, e é muito importante. Precisamos usar o botão de cima. Precisamos adicionar os espaços aqui. Certo? Então nosso vital sabe que essas instruções pertencem. Suportou que por lope? E agora, quando eu for menor que quatro, isso em seções serão executados. Bob, quando eu rodei este programa Bem, o problema é que isso vai funcionar para sempre. Por quê? Porque zero é sempre menor do que para ir de alguma forma mudar que eu dentro do nosso olhar, por exemplo, precisamos ativar um cada vez que o loop passa por todas essas instruções. Então agora, por causa dessa instrução aqui, depois de cada repetição que eu aumentarei em uma. E por causa disso, a condição será finalmente falsa, certo? E esse loop vai apenas. E assim, para ver agora o resultado, precisamos imprimi-lo após o loop. Então nós precisamos,
você sabe, quebrar, entrar e, em seguida, retroceder. E aqui podemos colocar algo na saída. Como, por exemplo, o resultado da adição de números é e, em seguida, podemos ,
por exemplo, mostrar que é um resultado. Não se esqueça que você precisa adicionar seu cone aqui, porque é assim que a sintaxe no pipe e parece. E depois disso, podemos apenas executar o módulo e que você pode ver que nossa programação está nos pedindo o número . Ok, vamos colocar você, por exemplo, cinco dedos e ficar e,
por exemplo, para e o resultado é 21 sinais vitais mais 2 +77 mais 10 17 17 mais 4 é 21 o que é verdade. Certo, então nosso programa está funcionando. Tudo bem. Mas como ele faz isso? Bem, a maneira mais fácil de verificar é apenas analisar o seu programa. Como se você fosse o computador. Então nós criamos variável de morte que é chamado de resultado, e nós atribuímos a ele zero porque zero é agora viajar para a frente. Ah, operação off adicionando números. Então nós criamos a variável I e nós enviamos para ela zero porque, bem, ele vai ser útil para nós quando ele zero e nós queremos executar. Por exemplo, esta instrução dentro do lope quatro vezes porque zero é reduzido e quatro. Então o programa está apenas verificando o início do globo, se a condição é através, é zero menor que quatro. Sim, é verdade. Então, como? Ok, precisamos executar todas as instruções que estão dentro do olhar. A primeira instrução é pedir o número. Quando colocarmos o número aqui, certo, esta coisa vai mudar para cinco bem através dos cinco dele assim. E então essa coisa vai mudar que cinco no reboque através de cinco para o cinco não é professor e nós temos um assinado cinco para número É assim que fazemos X direito nisso. Volte para o casaco original e quando tiver cinco aqui, queremos adicionar essa luta à razão e vamos adicioná-la. Então o resultado é igual a cinco. É uma boa ideia, comentar o
dedo assim. Seu código quando estiver
analisando, vai ter muito. E então, bem, você precisa aumentar o I. No início, eu era igual a zero e agora é igual a um por causa da operação aqui. E depois verificamos novamente. A condição é menor do que porque ele tem seu serviço. Nós toe pedir um jogo para o número e bem nós colocamos aqui para assim também foi alterado para a verdade para semear no inteiro e novamente plotar cinco mais 27 Então nós aumentamos o eu comprar um porque eu era igual a um. Agora é igual a dois e verificamos novamente. A condição é inferior a quatro anos. É seu para que possamos pedir o número. Então nós colocamos seus 10 assim 10 mais 7 17 ganhar Chris I por um. Então é grátis. Nós novamente Verificar é baixado livremente e para o seu Verdadeiro. Então, novamente pedimos o número e colocamos o quatro como o número e disse, Bem, quatro mais 17 Leste foi, eles ganharam e eu é igual a para não e vamos verificar é para menor do que para. Não, não
é verdade, porque 4 é uma chamada para então o loop vai parar de executar as instruções dentro de sua fronteira. Certo? O corpo fora do circuito é indicado pelos espaços aqui, certo? E bem depois disso, nós apenas imprimimos o resultado assim. O resultado da adição de números é e nós apenas usamos a variável que criamos aqui e tudo funciona bem. E a tosse é que agora podemos mudar facilmente, você sabe, aqui essa condição de quatro para, por exemplo, 200 nós trabalhamos 200 vezes, certo? Isso é muito legal, porque você não precisa repetir seu casaco fora do curso. Este é um dos exemplos mais fáceis de como usar loop. Há muitos outros exemplos que serão mais úteis, mas falaremos sobre isso mais tarde. Não se preocupe. Eu sei que isso não parece,
você sabe, você sabe, super útil porque é apenas pedir números,
mas acredite em mim, mas acredite em mim, lábios são a coisa mais preciosa que o programador pode ter. Por que ele está programando. Certo, só
há lição. Muito obrigado.
21. Loção para: Olá sobre o hoje vamos aprender sobre o loop que é chamado. Na última lição, aprendemos sobre o olhar que é chamado Por que e então Loop estava executando a instrução dentro de sua borda enquanto a condição waas através e tivemos que mudar de alguma forma essa condição que resultam da condição cada tempo. Porque senão o loop morto será infinito. Seria apenas por aí para sempre. Então tivemos que fazer algo assim. Não é que o caso fora olhar para é um pouco diferente. Que impostos de pecado que disse um diferente não é que não declaramos variável. Eu gosto que nós não precisávamos dedo atribuído a zero Start e também não aumentamos que eu comprar um. Esse olhar aqui fará o mesmo que fez aqui. Não é quando o Irã, o módulo de trabalhadores que precisamos chamar. E agora, como você pode ver, é apenas adicionar o que para números que ele fez a mesma coisa. Mas é mais curto. Então, como funciona? Bem, procure por trabalhos como esse quando o lutador, vamos procurá-lo, executará estas instruções das instruções dentro do corpo. Procure como rentabilizar como existem elementos dentro de sua gama dentro de seu escopo. Isso pensar aqui, esta é uma função chamada intervalo, e ele retorna o escopo, o intervalo entre zero e o número que está aqui. Então, devolverá o mínimo. Falamos sobre isso mais tarde. Mas a lista é apenas um tipo de recipiente como esse que contém números ou outro tipo de escritores. Mas como você pode ver, estamos aguentando aqui agora. Números 012 grátis. Então essas coisas serão executadas quatro vezes porque existem 1234 elementos. Ok, para itens insights de quatro cada item dentro desta lista dentro deste intervalo dentro do escopo execute instruções aqui. E o que é essa variável aqui? Podemos chamar-lhe o que quisermos, certo? Poderia ser assim. Como se isso pudesse ser assim. Seja lá o que chamamos assim, porque com o mesmo, como estava aqui, essa coisa com Holt, seus números ou com os valores que estão aqui depois
quando, quando a procura vai executar as instruções Aqui. Certo, podemos até imprimir o que está dentro dela. Conseguimos aqui quando ele executou o módulo. Como você pode ver em, por exemplo, 40 2025 40 acabamos de adicionar esses números, mas também não pode ver que o eu waas na primeira vez igual a zero, em
seguida, queria e, em seguida, livre. Então podemos em breve corrigir isso assim são assim. É o mesmo. Certo, então não é isso que você sabe. Você não inclui os últimos 11, certo? Quando dizemos que o intervalo de 0 a 4, isso significa que temos agora elementos como 01 dedo do pé e livre, isso é tudo que não está incluindo o aqui. Então a coisa legal sobre olhar para é que você pode facilmente passar. Por exemplo, 1001st números direita de 0 para 1000 não incluindo um o último número 1000 e podemos executar o múltiplo e fazê-lo em torno de 1000 vezes. Isso é ótimo, certo? E podemos usar o longe que fez isso. Por exemplo. Isto que eu ouço vai conter números ou quaisquer valores que estão dentro do mínimo aqui. Como podemos usar esse fato? Vamos, por exemplo, imprimir os primeiros 1000 números que estão pares agora, quando você executar o módulo, veremos 1º 1000 números, mas todos eles. Mas se você não vai números que são mesmo assim eles são divisíveis por dois. Precisamos usar um pouco de muff aqui. Então, por exemplo, podemos usar esse operador modelo assim. Quando eu faço isso assim, você percebe que temos agora 010101 até o fim. Por quê? Porque bem, zero Mahdi Auto te dá zero. E este é um número par, certo? Um modelo para te dá um. E este é todo o número para modelar dá zero novamente e doença. O que? No número par, certo? Quer dizer
que podemos fazer uma condição aqui. Vamos fazer as condições. Se eu modelo dois é igual a 20, significa que é um número par. Então você pode dizer, uh, carreada. E então vamos trazer isso o quê, Libby. Eu é mesmo número assim em torno do módulo. Ok. E como podem ver agora, temos números pares sobre Lee. Aquele que é mesmo o antigo. Desapareceu? Certo? Isso é legal, não é? Você pode fácil, Chechi Que números são, por exemplo, visíveis por cinco, mas não são divisíveis por sete Como fazê-lo Bem, você precisa usar também a declaração condicional. Mas você também precisa usar a conjugação que falamos. Por que não tentar fazer isso agora como um exercício? Se tiver problemas, não me pergunte e eu terei você. Só há uma boa lição. Muito obrigado.
22. Quebre e continuar e a: Olá sobre isso. Eles iam falar sobre pausa e continuar a instrução sobre um exemplo prático. Vamos imaginar uma situação que queremos criar um programa onde pedimos ao usuário números
positivos e gratuitos . Bob, queremos o pé em Onley. Números positivos Se o usuário embarcar os números negativos do número com o filho menor, não
queremos que o dedo do pé seja incluído no resultado. Ok? E o problema é que todo o sal vai se analisar. Mas não é exatamente perfeito. Pode ser melhorado muito pelo intervalo e continuar a instrução que vai falar sobre Ok , é hora de analisar o programa. Criamos uma variável que é chamada de resultado e atribuímos Reboque zero porque zero é um elemento natural para adição e queremos usar o resultado para adicionar números positivos. Em seguida, criamos o seu loop para e ele olhou para a frente, executar instruções dentro de seu corpo três vezes porque eu amarrei aqui o intervalo e eu enviei a função de intervalo livre e que intervalo livre retornará aqui pelo menos fora alinhamentos livres. E sabemos que olhar para vai executá-lo três vezes porque fora os elementos livres que estão aqui veio então pedimos para o usuário para o número positivo. Nós mudamos esse número Sammy porque é realmente um estranho para o inteiro usando esta
função de elenco . Então nós o atribuímos ao X, e então verificamos se X é maior que zero ive. Sim, então adicionamos esses atos no resultado, e então enviamos o resultado da adição atual em sua saída. Então agora é um programa muito fácil. Mas o problema é que quando executamos esses módulos depois de, a coluna é sempre e colocamos, por exemplo, 20 e 15. Então, por exemplo, cinco. Como pode ver, tudo funciona bem. Mas quando colocamos 20 e, em seguida, exemplo menos cinco e, em seguida, 25 nós acabamos de adicionar em Lee para números
positivos. Mas você sabe, nós queríamos um dedo livre, números
positivos, certo? É porque um dos números era número negativo, e é por isso que funciona assim. Precisamos de alguma forma melhorar este programa. Podemos resolvê-lo de duas maneiras. Poderíamos, você sabe, pedir números positivos e outra situação. Quando o número for negativo, podemos quebrar a alteração. Podemos deixar esse olhar totalmente. Porque o break vive o loop inteiramente. Ele vive. Ele pára a execução fora instrução depois dele. E, você sabe, nós poderíamos informar o usuário. Eu esperava número positivo que você me deu e número negativo. Você é uma má prancha, certo? E nós vamos só porque ele é apenas garoto, quebrar o interacional, certo? E agora, quando ele executou o módulo, você não vai. É quando morremos 20 e depois menos cinco. Como você pode ver, o loop parou. Totalmente. Então Bragg é uma instrução que deixa o loop inteiramente. Ok? Ele o pára e ele vai saber mais a rodada. Então, se eu tivesse começado com a bomba numérica negativa, está feito. Ok. Nenhuma das instruções será executada após ela. Até aquele depois do intervalo. Instrução, certo. Estes não foram executados. Mas é claro, se houver instruções como ele, certo? Aquele que estiver fora do dia será executado sem problemas. Logo depois. Como pode ver, temos o bem atrás dele. Tão brilhante que só vive. Isso parece inteiramente. Mas eu acho que não é que a melhor coisa que mostramos eu acho que sim. Com um jeito um pouco diferente. Vamos digitar você continuar. O que? Isso é coisa que você faz, ele deixa a canela iteração atual Então ele dá o invólucro, deixa a repetição fora loop o atual e, em seguida, continua a execução fora
de Luke desde o início ok e vontade deste lugar. Viverá instantaneamente para este lugar. Então agora, quando executamos o módulo e quando colocamos você, por exemplo, 20 e menos cinco e depois 20. Como pode ver, informamos que esperamos. O número positivo no diesel. Bem, por causa disso, continue com isso. instrução aqui não foi executada. Não é que quando removemos o continuar e você executou o módulo e tentamos 20 menos cinco e, em seguida, 14 em 20. Temos como resultado, para dois aqui como aqui. Mas não é que nós temos estes. Acha que você é a edição atual do resultado é 20 aqui? Nós não tínhamos essa informação direito é porque quando o intérprete luvas o continuar, ele vai deixar as iterações atuais de atual re petição peppery off loop e continuar desde o início. Saltaria daqui instantaneamente para trás do dedo do pé aqui. O problema é que ainda pedimos números grátis do Onley. E quando alguém fazendo lá estavam em Onley dois números. Bem, se ele cometeu dois erros, vamos pedir para adicionarmos um número, certo? Se ele fizesse flechas livres
, teríamos zero como resultado, certo? Podíamos ver que C menos cinco menos cinco. De volta Nada porque nós nem mostramos o resultado chegar na amostra menos cinco menos cinco e cinco. Como pode ver
, são cinco. Então ainda não é perfeito, certo? Deveríamos,
de alguma forma , mudar. Eles estão de forma inativa. Então ele repete um jogo mais uma vez. Como fazer isso. Infelizmente, não
é possível com a sua procura, mas podemos conseguir essas coisas com o porquê. Então vamos criar uma variável temporária I e por que eu é menor do que livre. Então vamos executar todas essas instruções e no final vamos adicionar dedo do pé. Eu ganhei e não é que acabamos de resolver o total do problema. O curso dela. O carvão cinco menos cinco 20 Oh está pedindo ao jogo algo como, por exemplo, 20. É 45 como cinco mais 20 mais 20 é 45. Por que está funcionando bem? Porque bem, vamos analisar Dedicado o programa I é igual a zero é zero. Baixe-os livre. Ele tem que eu vou executar instruções Aqui nós pedimos o número positivo. O número positivo era cinco. Então, se cinco é maior que zero, ele tem é maior que zero. Por isso, adicionámo-lo ao real. Estas instruções não foram executadas porque bem, não
é porque eles seriam executados se x waas menor ou igual a zero. Certo. E executamos a edição atual do resultado. Eso são cinco e então nós adicionamos dedo do pé que eu ganhei é um menor do que livre. Sim, é verdade. Então pedimos novamente o número e depois colocamos aqui menos cinco. Então menos cinco não é maior que zero. Então nós executamos as coisas que estão aqui dentro da outra declaração condicional Border. Então nós apertamos para fora. Eu esperava um número positivo. Você me deu um número negativo. Você é sobre o garoto. Mas nós não executamos a instrução continuar que todas as carnes que não executarão o
que porque fora que as instruções não executarão o esquiador instrução, Nós apenas saltar instantaneamente para trás aqui o que significa que eu não vou aumentar em um. Ainda temos aqui como na condição a mesma condição de antes, certo? Porque verificamos de novo. Se um for menor do que livre. Sim, é menor novamente menor porque um é menor do que livre. E verificamos o antes, certo? Então, um é um a menos de três anos, então pergunte novamente. Então a coisa legal sobre essa solução que temos de bom agora é que nós podemos, você sabe, constantemente digitar números negativos. Mas nosso programa vai parar de executar apenas quando colocamos números positivos livres. Então, quando fazemos algo assim e, em seguida, um jogo, por exemplo, colocar números negativos. Ah, eu escrevo algo errado. Você está tão perto do motivo de novo. Então menos 500 assinados menos tempero, por exemplo. 20 e menos cinco menos um menos cinco. E então, por exemplo, 30. E então uh huh. E depois 20. Então precisamos digitar números positivos livres como queremos certo. Assumimos que nossos programas adicionam comida, números
positivos e não deve parar a execução até que nos libertemos. Números positivos. Agora funciona como queremos. Então, como você pode ver agora no exemplo prático como continuar ou quebrar pode ser usado. Certo. O continuar deixa a repetição atual iteração de lope e Contin UES a execução desde o início. Mas quando você usa o intervalo, você simplesmente deixa o loop instantaneamente totalmente certo. Você apenas vive, você quebra. Ok, essa é uma boa lição. Obrigado.
23. EXERCÍCIOS: a adivinhação: número de adivinhação: Olá, meu amigo. É hora de se exercitar porque estamos praticando sua habilidade de programação. Você nunca se tornará um programa. Em breve você vai ouvir o que queremos criar nesta palestra. E eu realmente gostaria que você fizesse isso sozinho. Experimente. Pelo menos. Você sabe, neste 10 dedos começar significa tentar fazer as coisas que eu vou fazer nesta palestra
por conta própria. Se você tiver problemas. E, claro, assista este vídeo. Mesmo que você faça o exercício sozinho, tente assistir e ver como eu fiz isso. Compare-o com o seu próprio casaco. Talvez aprenda algo novo. Certo, então qual é o problema? Eu gostaria de criar um programa que irá pedir ao usuário o número. E vamos comparar o número dois o número secreto. Porque queremos o gás do dedo do pé do usuário. Esse número. Ok, então nosso programa será chamado número de convidado. Acho que devemos começar o programa a partir da criação do número secreto que o usuário que
procuramos . Vamos atribuir a ele, por exemplo, 40. E agora eu acho que devemos pedir ao usuário para o número, então devemos usar a entrada Eu acho que Número Pedir ao usuário para o número vai mudá-lo em número usando o cast inteiro. E estamos seguros. Esse número de convidado, acho que na variável que chamamos de número de convidado. Você pode ver que nossas variáveis são realmente auto-descritivas, certo? Podemos ver instantaneamente o que eles chamaram dentro dela, certo? Isso é muito importante. Porque se o chamávamos assim Oh, você precisa analisar o que está aqui e aqui para saber o que está acontecendo. Agora estamos metidos em alguma coisa. Estava subindo assim. E agora acho que devemos verificar se o número do convidado é igual ao número secreto. Como fazer isso. Acho que devemos usar a declaração condicional para isso. Então, se seu número secreto é igual ao número do convidado, então mostre algo como parabéns, você adivinhou. Caso contrário, fui enviado. Tente de novo, olhando. É o meu rosto. Gostei. O que está em torno de um módulo quando gostamos de 40 de vocês porque você pode ver que tudo funciona bem. Mas o problema é que quando digitamos o número assim, tente novamente, e isso é tudo. O usuário não teve uma segunda chance, certo? Isso é quase impossível juntos. Número assim na primeira tentativa, certo? Porque o número poderia ser realmente assim como melhorar o programa. Acho que devemos repetir essas instruções novamente assim. E então novamente, e então novamente, você
acha que é uma boa idéia? Porque eu acho que é Não, uh, este não é o caminho porque nós não sabemos quantas vezes o usuário vai
tentar adivinhar o número. Certo? Então devemos repetir estas instruções aqui até que ele gaseie o número. Certo, então devemos repetir. O que significa quando você pensa em repetição instantaneamente, você deve pensar em loops. Então eu iria tabela Por que, Até que isso será igual a este. Então devemos repetir essas instruções a menos que esses valores sejam iguais assim. E agora eu acho que será ótimo incluir essas instruções dentro do loop y. Então precisamos usar o espaço. O recuo está aqui? Certo? Porque caso contrário, esta instrução não estaria ligada ao circuito dos Emirados Árabes Unidos que está lá fora. Lutar funciona. E agora, quando executamos o módulo, como você pode ver, ele ainda não está funcionando. - Tudo bem. É porque o número de convidado ainda não existe no design. Gostaria de lembrar que o intérprete executa o código de cima para baixo. Então, quando ele encontra esse olhar selvagem, ele não sabe sobre a existência fora da variável número convidado porque foi declarada nestas linhas, não aqui ou sobre isso precisamos fazer criado aqui e atribuído a ela. Por exemplo, zero. Começa algo que não será igual ao número secreto. E por causa disso são mais módulo será executado sem problemas. Agora, quando digitamos por exemplo vinte anos, você pode ver que é tão como tentar obter o número 20, em seguida, 30 50 31 40. Parabéns, você adivinhou. Então olhos lição Esse programa, o número secreto é suportado começar porque o número zero é para dois não é igual ao
número secreto 20 Sim, é verdade. Então isso significa que o loop enquanto executamos instruções aqui Pedimos o número que
digitamos 20 e porque 20 não é igual ao número secreto, não
mostramos esta mensagem. Mas nós digitamos tentar novamente. E então porque os gatos número bem não era igual ao número secreto. Nós concedemos o cheque, a chave, mas o cheque de olhar largo. Vamos verificar novamente aqui. Bem, Bem, então vamos executar essas instruções novamente até que o número de convidado seja igual ao
número secreto . Bem ali. Igual ao lubrificante. E por dizer parabéns, vocês é ótimo. Acho que devemos melhorar o programa agora. Você sabe por quê? Porque bem, lançar o número sem qualquer dica é apenas difícil. Imagine que o número é maior assim. É quase impossível obter um número de outras mãos. Então poderíamos, por exemplo, comparar o número secreto dois o número de convidado e entregá-lo ao usuário. Como cabelo. É um pouco maior ou, ei, é um grande menor, certo? Então vamos dizer que o número secreto é maior do que o número de convidado e nós vamos ver. É um pouco. Lá vai você outra coisa. Se, assim, é um pouco menor e de outra forma. Parabéns. Agora vamos correr. O programa. Obtém o número. OK
, talvez 20. É um pouco maior. Ok, 30 talvez 35 42 0 é um pouco menor. Está bem
, está entre 35 e 42. 41 esta noite. Está bem
, são 40. Isso é trabalho duro, certo? Está bem. Foi o que fizemos nesta eleição. Eu ajudo-te. Conseguiria criar um programa como esse, Daniel. Então não me preocuparei se não o fizesses. Porque você está aprendendo agora. Se você tivesse assistido o vídeo, estávamos tentando fazer este exercício por conta própria. Eu acho que você deveria fechar o vídeo agora. Pare de assistir vídeos por 20 a 30 minutos e tente fazer a mesma coisa. Eu não fiz essa palestra sozinha. Vai se beneficiar muito. Você fugiu da lição de dongle. Muito obrigado.
24. O que são listas? Operações básicas em listas: Olá, meu amigo. Hoje, eu vou te dizer o que é a lista. Vamos imaginar que você é um professor e você tem em sua mesa e caderno dentro deste caderno. Você tem bons nomes fora dos alunos que você está ensinando. E esses nomes são chamados listas de estudantes, certo? Liste os alunos. Então, o que é uma lista? Este é um tipo fora agrupados l mulheres ao lado do outro. Certo? Então, na programação, linguagem é realmente a mesma. O contêiner que pode conter alguns elementos, como, por exemplo, números de
strings. E assim como criamos pelo menos dentro Parton observou para fazê-lo, Nós amarramos o nome da lista, por exemplo, nomes. E então morremos aquele sinal de igualdade. E então nós amarramos este colchetes assim. Está bem. E dentro desses colchetes que você coloca estão femininos. Bem, nós nomeamos nossos nomes mínimos, então eu acho que será passivo. Colocamos aqui nomes como, por exemplo, o meu nome. E a outra,
certo,
Joan Claire. E a outra, certo, Peter, Jacob. E como você pode ver, a
fim de separar cada elemento, precisamos usar seu local de coma. Certo? A coisa legal sobre a lista como essa é que você tem dentro de um único
elemento membro nome antes, se eu não soubesse o que essa lista eu precisaria criar para cada nome de um Rabel como esse, por exemplo, certo E, bem, isso são apenas cinco nomes, mas, bem, se você tivesse um grande banco de dados que vai levar muito tempo? Não seria produtivo. Então menos é muito legal, porque você pode apalpar elementos dentro de uma coisa, que é chamado lista, certo? E o que é mais, no futuro, você vai obter os valores como esse do banco de dados dos cinco, e você pode reuni-los todos de uma vez. Dentro de uma lista, certo? Seria fácil usar o do Billy. É por isso que precisamos de uma lista. É por isso que eles são tão frios. Ok, a próxima coisa que vamos aprender é como os dedos trocam volumes de limões dentro, pelo menos bem , talvez nomes não sejam as coisas que mudam. Então talvez seja uma boa idéia criar outro contrato, e vamos chamar dentro dele valores como,
por exemplo,
números paradentro de por exemplo,
números para leads, você pode começar com o tipo que ele não vai escrever. O fato divertido é que você pode até mesmo você sabe loja também cordas dentro do menos em quando você tem bom também seus números. Mas eu não recomendo fazer algo assim. Bem, armazene um tipo dentro de uma lista porque eles foram claramente criados para tal caso. Então, quando você executa o módulo, ele vai sem qualquer problema. E agora podemos mudar um dos números. Digamos, por exemplo, queremos mudar esse aqui. Então queremos mudar 12 quarto elemento livre, certo? Temos bons cinco elementos aqui. Então, como agimos estes Ironman? Bem, a primeira coisa que você precisa saber é que o primeiro elemento está na posição. Zero O segundo elemento está na posição. Um, o terceiro elemento está em posição para que o quarto elemento está em posição livre e o último limão em nosso invólucro em posição para Então aqui é o mesmo direito zero um para livre. Então não são cinco elementos quando há cinco elementos dentro? Sempre. O último elemento está na quarta posição no quarto índice é ouro e índice. Está bem. Ele também tinha cinco elementos. Bem, isso é ótimo. Um elemento de seis. Então o primeiro um pouco então o último limão, que é seu sexto elemento, está no índice cinco posição. A fim de agir é agora qualquer um desse cara que você precisa fazer usar os colchetes aqui e ele colocou o índice que você quer dedo ativo. Então, se você quiser atores, digamos que 20 aqui você coloca cinco e então você pode mudar o valor para, por exemplo 30. E agora um com valor impresso como esse você não
é, é que vamos ter 30 não 20. Nós removemos essa linha aqui. Como você pode ver
, são 20. Mas deixe-me fazer algo assim. É 30. Agora sabemos como os valores de mudança têm que trazer valores, certo? Também é bom saber que você quer obter o último elemento. Você pode obtê-lo usando aquele menos um como esse. Você pode ver que nos dá o elemento de perda. Sempre quando descontados, pegamos o Jacob para que você não precise contar como os números mundanos estão lá, Andi. Bem, o Peter seria meu. Ainda são três menos quatro. Menos cinco. Certo. Você pode vir das palavras de latido. A coisa legal sobre menos é também que você pode apontar todos os elementos de uma só vez. Como, por exemplo, peso morto. No entanto, eles serão sempre formatados assim. Então você tem bom que colchetes e, em seguida, aspas simples assinaram o apóstrofo, o valor do elemento apóstrofo. Então é assim que parece para corda. E é assim que parece para o número, certo? Não precisamos usar o apóstrofo, a única citação em números ou não os vemos aqui. Se você quer valores cerebrais dedo do pé de maneira diferente, você pode atribuir com o homem de muitas maneiras. Mas um deles é usar esse olhar. Sim, podemos usar olhar para a frente como, por exemplo, antes assim para cada nome que este dentro nomes que eu quero tomou nome de impressão agora quando eu rodei o módulo porque a coluna aqui resumo temos bons nomes impressos sem qualquer problema. O legal de você saber que eles procuram é que você pode fazer algo como quebrar um pouco. Quando você chegar ao terceiro elemento, você pode continuar para que possamos remover um fora do elemento. Se eles são iguais a algo, você pode fazer coisas estranhas aqui, certo? Você também pode saber, o que quiser, eu posso fazer algo assim
também, também, certo? E nós começamos com este colchetes, um para a mãe, o que você quiser. Então, a procura é muito útil para imprimir, por favor. Bem, a verdade é que o alcance para isso que estávamos falando está realmente retornando o mínimo Você, certo? Eu disse-te que regressou depois de 901 dedos livres, certo? E estava passando por cada um fora do elemento. Então agora só passamos por elementos que especificamos manualmente, certo? No futuro, aprendemos muitos truques úteis, como, por exemplo, como classificar todos esses elementos que limita como o dedo do pé upend o novo elemento, como remover os limões do é como obter a terra, filmes e muitas, muitas outras coisas assim. Então, como você pode ver, isso também tem muitos recursos úteis. Então, a queda vai. Esta lista A aluga um recipiente fora elementos que são colocados um após o outro e você pode acessar alterar qualquer fora deste elemento. Eles estão agrupados, certo? Suporte fácil alguma coisa. Eles são agrupados lá categorizados em e bem, por causa do vídeo chamado é mais limpo. Você não precisa criar para cada novo valor e nova variável. Vai demorar muito. Essa é apenas a lição. Muito obrigado.
25. Como verificar se o elemento está no "em" ou "não" da lista: Olá, pessoal. Hoje você vai aprender a verificar Eve o elemento como, por exemplo, nosso Kardashian está dentro da lista. Você sabe, quando você está olhando para a lista assim, você pode ver instantaneamente como ela está aqui no ponto no índice zero nomes à direita fora de zero como que foram escritos para nós. Nossas cartas, certo. Podemos apenas dizer. Mas o problema é que você vai agora, provavelmente no futuro. Obtenha todos esses valores de, por exemplo, banco de dados ou do fogo, e você não verá o que está aqui. Certo? Então você vai querer saber se o valor que você está procurando está dentro da lista, e para verificá-lo, você pode usar a palavra-chave em ou observando como usá-lo corretamente. Lex, por exemplo, usa a impressão digital e depois vamos verificar se a nossa Kardashian está dentro da lista de nomes deles. E então, quando você executar o modelo, você não vai. Sim, é verdade. E é verdade porque está dentro desse direito. Podemos verificar se o John
também está lá dentro . E, bem, claro, é certo, mas se nós liderarmos John daqui, você ficará indefeso que é falso. Certo, não
é suportar. Assim, podemos ver instantaneamente se algo está dentro da lista apenas usando a palavra-chave em e , bem, podemos usar o falso e verdadeiro dentro da condição em declarações. Certo. Então você pode facilmente fazer algo assim. Se Jones tem nomes internos, então vamos então vamos
dizer alguma coisa. Chaleira. Joan molhada. Venha. E como podem ver, temos agora,
aqui, aqui, vosso
trabalhador porque a Joan está dentro deste último vídeo. Deixe-o. Então, claro, é
claro,não
há nada para ser visto porque John não está nesse direito, então ele não está nos nomes. Mas quando usamos essa palavra-chave não antes em vai verificar se algo não está na lista. Então é bem simples, certo? E vamos verificar se algo está dentro. Não se algo não estiver dentro. Você pode usar essa palavra-chave conhecida não antes do John, logo antes do valor que você está procurando. Corpo. Você sabe, uh, não está parecendo bem. Acho que é melhor quando está tudo bem. Só estou dizendo que você pode usar não antes do nome, porque é possível. Então você não vai se surpreender quando você encontrar alguém usando a declaração como essa
26. Como operar nas listas com as funções: Olá, todo mundo. Hoje vamos aprender todas essas funções que estão aqui. Então vamos começar esta palestra a partir da função que este chamado Len e o Len é atalho para comprimento para que a função verifica quantos elementos estão dentro da lista. Para usá-lo, podemos digitar o nome fora da função. Então enviamos para lá dentro o nome da lista, e podemos apenas executar o máximo. Mas o problema é que não veremos um resultado porque o valor de retorno está aqui. O comprimento para o menor número um é 12345 Então seria como se tivéssemos escrito
assim . O Então precisamos salvar esse valor em algum lugar, por exemplo, na variável chamada X, e então podemos imprimi-lo. Como você pode ver, funciona bem, mas também podemos invocá-lo diretamente assim. Ok, e como você pode ver
, são cinco. Ok, esse é o mais fácil escreve ir para o um par. Uma função reprimida adiciona no final da lista um único elemento,
Então, se você quiser, você quer expandir o liberado por outro elemento precisamos escrever algo como número um
atado aconteceu e, em seguida, adicionamos, para exemplo, tempo. Vamos verificar se essa lista mudou, vamos executar o módulo. Como você pode ver, é também. Acabamos de adicionar 10 e o fim. Também temos algo. O que é chamado extensão extensão significa que você vai extensão lista por outra lista. Por isso, é usado para estender por uma nova vida. Acabamos de adicionar um número. O que? E se você quiser adicionar um novo alugado à lista que estamos usando? Então, por exemplo, você quer adicionar este dedo a polícia para como você pode ver agora nós acabamos de adicionar o que
acabamos de usar nomeá-lo. Isso também funcionará, mas será uma coisa diferente. Vejamos a diferença. Como você pode ver, acabamos de adicionar aqui elementos no final merecem este objeto. Novos elementos adicionados à lista. Mas ele quando usamos o abandono, é certo quando você usa a função caneta aqui, não isso que temos aqui colchetes porque nós adicionamos como um único elemento. Assim, com adicionado inteiro isso no final como um único elemento. Sim, você pode ter uma visão de lista e outras listas, mas usando a função de extensão, estamos apenas adicionando elementos à lista final como se fossem apenas elementos simples, certo? Itens simples. Ok, então há uma diferença entre uma cerveja e uma extensão. Você também pode que é bom saber, pelo
menos como essa lista mais alugado para, por exemplo. Mas o problema é que quando fazemos algo assim, estamos criando alto na memória temporária, um novo mínimo que precisamos salvar alguns. Assim, podemos, por exemplo, salvá-lo o menos livre. E quando você executa o módulo, como você pode ver, sim, ele funciona como a extensão. Mas o problema é que é mais lento, certo, porque você precisa criar verão na memória um temporário pelo menos, e depois salvá-lo dedo do pé. Outra razão pela qual
você poderia, você sabe, mudar por exemplo, este número um para que você não precisasse usar o terceiro se você fosse capaz, mas aço está, você sabe, mudando completamente. Fique de pé agora, nós fomos apenas alguns limões aqui, e ele está certo, mas imagine que há um espírito, os roubos fora como milhares de coisas dentro e nós queremos conectá-los. Definitivamente. Não use esse método porque ele será mais lento. Use a extensão se você quiser estender arrendado por outro lançamento. Certo? Use uma caneta se quiser adicionar no final um único elemento. OK, então agora vamos aprender sobre a inserção. Inserir significa colocar algo e, bem, isso é o que ele faz menos número um inserto. E queremos insultar o dedo do pé, por exemplo, algo no início. E então nós colocamos como o primeiro pensar depois que os parentis é o índice onde queremos colocar algo e, em seguida, o valor que você deseja colocar em. Então, por exemplo, quero colocar 10 dentro e isso significa que queremos ter o começo. 10. Vamos rodar o módulo. E como podem ver, temos aqui 10. Agora, se você quiser ter, por exemplo aqui 10, então nós colocaríamos aqui um. E quando você executar o módulo, como você pode ver, temos inquilino agora no índice um se colocarmos, por exemplo, para tê-lo na
posição ted . Então, no índice para Ok, então é assim que o inserto funciona a boa velha Samantha, que é chamado Índice de Índice permite que você, hum, retornar o índice fora do pensamento que estamos procurando dentro dos parentis. Então, se digitarmos, por exemplo ,
menos dois ,
uh, em bem envolvido como você não vai é que nós temos que porque sim, é verdade. 01 para o índice de menos dois é dois. Isso é muito OK, mas e se tivermos que ocorrer ou moedas fora, por exemplo, sete. Então ele retornará apenas a primeira posição. Eso 01 A primeira ocorrência será retornada. Certo, só o índice da primeira ocorrência, só
isso. É assim que o índice funciona. Mas e se escrevermos algo que não exista no mínimo na área? Desculpe Você não é que há apenas um erro como esse. E esse erro deve ser, você sabe, tratado. Mas ainda não sabemos como fazê-lo. Aprenderemos sobre como lidar com coisas assim no futuro. Não trabalhe. Há também uma função que é chamado de classificação classificação é grande porque você pode classificar s ascendente ou descendente todos os valores sem ter que escrever algum carro rígido. Então, neste momento, isto é apenas alguns números aleatórios. Mas você quer tê-los, sabe, resolvido. Isto é uma coisa muito comum de se fazer. Então nós apenas digitar sort e está tudo bem Agora todos os itens que estão dentro da lista são classificados. Isso é ótimo em ordem ascendente, até mesmo querer ter ordens reversas de decrescente. Precisamos do dedo do pé, como você pode ver Faça algo assim. Precisamos alterar o inverso do valor padrão porque o valor padrão para o reverso é falso. Alguém que você em torno destes novamente temos o mesmo resultado. Mas quando mudamos para verdade, você não vai isso então é uma ordem decrescente, certo? Isso é muito incrível que você pode fazer tão rápido Salting na luta Há também um muito bom legal uma função que você pode apenas verificar o número máximo instantaneamente. Use as marcas se quiser. Oh, veja o menor valor. Basta usar a média Ok, Há também uma função que conta ocorrências comuns. Quantas vezes aparece algo dentro da lista? Então, se escrevermos, por exemplo, essa contagem número um quantas vezes sete está dentro da lista, você vai notar que nós temos duas vezes, certo? Se escrevermos menos ainda, ele nos dirá que é apenas uma vez quando escrevemos algo que não existe. Como pode ver, diz que não existe. Há também método que permite que você pop, por isso precisa remover o último elemento da lista. Quando estamos ao redor do módulo, você vai notar que acabamos de estourar. Então removemos o último elemento da lista. Você pode estourar tantas vezes quanto há elementos dentro da lista, certo? E cada vez que removemos o último elemento. Então nós removemos 720 menos dois desta vez porque foi três vezes invocado, você pode ser como, mas por que eu iria usá-lo? Porque, bem, você poderia, por exemplo, trabalhar eu nesses últimos elementos e depois de trabalhar com eles, você, por exemplo, você não iria encontrá-los mais, certo? Eles não são mais necessários, mas eles ainda estão tomando o lugar na memória. Então, é uma boa ideia tirá-los. Então você apenas removê-los e eles não vão tomar mais e mais Ok, é por
isso que o papa pode ser útil. Você também pode remover o item da lista. Então, a primeira vez que ele aparece. Assim, podemos, por exemplo, remover sete. Então, isso significa que nós removemos a dívida primeiro ou correntes. Ok. E como quando executamos os módulos, você pode ver que temos um 50 54 certo? Menos dois, uh, 20 e sete. Nós não temos isso. É o sétimo que está aqui. Logo na primeira ocorrência será removida. Temos também exigido que limpa a lista inteira, então ele remove todo o conteúdo da lista. E por que você usaria isso? Bem, por exemplo, você usou completamente a lista ou não precisa mais dela. E você quer apenas limpá-lo, certo? Você não quer o dedo do pé, tê-lo dentro e memórias. Então é como otimizar seu programa. Você também pode reverter o mínimo a ordem das coisas durante a locação do site. Como você pode ver agora é da resposta. É 77 2020 menos dois menos 277 lutando 54 54. Seria uma ótima idéia que depois da palestra você pratique um pouco. Todas as coisas que você aprendeu. Apenas, você sabe, usou essas funções, abrir o lutador e usar cada um deles nesses. E na maioria das vezes você não precisa se lembrar de todas essas funções, certo? Porque, bem, se você esquecer, você apenas mergulha no AG. Atrás lista funções tubulação, e você vai encontrar cada nome para cada função e como eles funcionam? Mas é muito importante para você, como programador, saber que eles existem. Ok, então quando algum dia você for como ele, não seja uma boa idéia para classificar essas pistas. Mas como fazê-lo. Oh, então eu preciso fazer um lope para ele. Ok, então eu tentaria fazer isso assim,
mas não, não, não, não, não, não. A Ok, er Kaddish disse que havia uma função de classificação para que eu possa usar a função de classificação. Mas como funcionou? Como você apenas digitando. Vai, tipo, função, luta. A menos que E então você instantaneamente semeou que há esta função que fontes como usá-lo e você pode apenas usá-lo, certo? Você não precisa se lembrar onde tudo ridicularizado não é possível lembrar tudo. Quando você é um programador, só você sabe que quando você esquece algo, está
tudo bem. Mas é uma boa ideia lembrar que ela existia, certo? E então você pode apenas É o uso do Google para descobrir sobre a função sem ter dedo do pé montar a função por conta própria. Claro, no futuro você poderá escrever funções como essa, e aprendemos a arruinar funções. Mas você sabe, leva tempo para escrever coisas que já estão escritas corretamente. Isso seria apenas levar o seu tempo, que é muito precioso. Isso é apenas uma boa lição, e há sempre se você tiver alguma dúvida, sinta-se livre para perguntar.
27. Tuxas - o que é imutável?: Olá. Hoje você vai aprender o que é um tombamento? Qual é a diferença entre topple e at least e quando você deve escolher? Derrubar a lista. Certo, então o que é um tombamento? Topple também é recipiente como um elevador. Mas você não pode mudar. E o limão A que já foi designado para derrubar. O que significa quando você cria um tombamento? Mas como poderia criar uma capela? Você precisa pensar sobre o nome da vida dupla. Digamos, por exemplo, derrubar o que quer que seja. E então você atribui a isso, por exemplo, ferida para 2044. E agora acabamos de assinar valores diferentes para derrubar. E a diferença entre leasing é notar que não usamos nenhum colchetes aqui, então podemos criar a fim de criar um tombamento. Você não usa nenhum suporte aqui e o início ou no final. E porque fizemos isso assim, criamos o tombamento em vez disso, e não seremos capazes de mudar. E um limão que já foi um santo para derrubar. Então, o que significa quando fazemos algo certo que teremos um erro? Por quê? Porque o objeto de derrubar não oferece suporte à atribuição de item, certo? Você não pode atribuir e o valor não pode remover novos valores que já foram atribuídos. E alguém certo. Então esta coisa não é totalmente capaz de mudar na programação Ward, Eles dizem que os topos são tabela Imo OK, que onde palavra significa que você não pode mudar elementos dentro de cima. Há também uma segunda maneira de declarar um tombamento que você usa aqui. Ron Brock. Está tudo bem. Não, os colchetes, mas Iran Brockett, então você pode ver que ainda não podemos mudar o valor um elemento. Mas quando mudamos para colchetes não que temos agora uma lista e como você pode ver , podemos fazê-lo facilmente Então você pode fazer qualquer operação que você já poderia fazer com por favor que não
estão mudando valores. Então você pode fora do curso, por exemplo, ver o que está dentro de uma queda direita? Estou 100% certo de que está agora. Curioso? Por que você usa topos? Foi pelo menos pode fazer mais certo? Por que mesmo topos são criados introduzidos na programação menos pode fazer mais direito eles podem mudar itens de movimento Por que mesmo se preocupar em criar algo como um tombamento em vez de levantar e essa é uma boa pergunta. Você cria um tombamento porque eles são mais rápidos e eles levam menos sopro. Ok, onde um tombamento é mais rápido e leva menos memória. Porque quando o computador olha para uma declaração fora do topo, modo que alguns valores entre colchetes redondos estão entre nenhum colchetes, o computador reservará alocar Onley quatro espaços na memória. E isso é tudo o que é suficiente para ele, porque ele é um difícil a pessoa certeza de que você
não vai mudar no pensamento dentro dele. Tudo lá é constante e bem, ele não precisa pensar, você sabe, que você será capaz de mudá-lo. Essa é a primeira coisa. E a segunda coisa que você não vai adicionar nada vai remover qualquer coisa. Então ele vai criar mais rápido, certo? E ele levou menos memória, porque quando você está criando uma lista certa como essa, então seu computador não reserva para espaços e pessoas de memória, Barbara é que há um pouco mais só por precaução, então vai ser um pouco mais rápido quando você adicionar coisas novas direito, então vai levar um pouco mais de espaço em sua memória. Também vai ser mais lento, mas você tem mais possibilidades, certo? Você pode. Você pode não só atores coisas, mas você também pode alterá-los, removê-los e assim por diante. Certo. Então, há mais possibilidades porque tendo alugado parte, vai ser mais lento e levar mais memória. Então, sempre que puder, você deve usar topos em vez de pulso, certo? Você usará o leasing somente quando tiver certeza de que posteriormente os valores que estão dentro deles podem ser removidos. Alteração adicionada como em alguns em caso contrário sempre usado tombamento. Porque esta coisa vai ter memória fixa, certo? Há o espaço de memória que será tomado. E vai ser mais rápido porque vai haver alguma otimização por trás da cena para topos porque, bem, eles não precisam fazer todas essas coisas, como na lista, certo? Certo, é só essa lição. Muito obrigado.
28. Dicionário: Olá, pessoal. Hoje vamos aprender sobre o vício. Lá é também recipiente, como uma polícia e corpo inteiro superior chamado itens de uma maneira um pouco diferente. Bem, então, Len, como? Mas primeiro, vamos nos lembrar, como criamos a lista? Usamos seus colchetes para topos. Usamos o ao redor dos colchetes e para dicionários. Agora vamos falar de algo novo. Estamos usando os colchetes. Ok, agora vamos dar um nome ao nosso novo dicionário, por exemplo. Regras. E este dicionário vai manter salas. Mas antes que eu explique como dedo inserir itens dentro de quartos Bem, eu gostaria de falar sobre esse vício lá. Eu sei que a idade como não teria feito agora. A maioria das pessoas não sabe usar os dicionários físicos, mas é um livro onde você pode procurar muito rápido que define algumas coisas. Ok. Por exemplo, onde é como, certo você tem lá. Você pode, por exemplo, olhar para cima. O que significa essa palavra? Como, por exemplo, o que isso significa? Dedo, por exemplo? Cooperar, certo? Ou significa que você trabalha com outras pessoas? Certo. Então, é uma definição como essa certa. Você tem uma chave na definição, que é um valor. Então é assim que o dicionário funciona. Você tem seus filhos cooperar, em outras palavras como essa, e você tem uma boa definição, que nossos valores. E é assim que os dicionários estão trabalhando no cano. Bem, você tem a chave, e você tem um bom valor e a chave precisa ser única. Então você pode criar, por exemplo, quarto número 4 a 9. E então você usa o Cohen e, em seguida, você usa o valor. Então, por exemplo, digamos que estou gastando meu tempo dentro do quarto 49, certo? Então agora eu sou o valor para este quarto, e você não pode ter dois quartos com os mesmos números dentro do hotel, por exemplo. Certo, então esta é uma chave única. E aqui está um volume. Meu nome, certo. E certamente tudo bem, Eso. Acabamos de criar um dicionário com Wanke e um volume. Mas é claro que podemos adicionar mais linhas como, por exemplo, digamos que temos bom o número do quarto 69. E digamos que haverá minha esposa. Não vamos passar as férias juntos porque discutimos, por exemplo, e estamos envolvendo quartos diferentes, certo? E quando executamos o módulo, podemos agora atores. Então como o dedo acessar elementos dentro de um dicionário. Você amarrou o nome do dicionário, então você usa os colchetes e amarrou a chave que você quer acessar. Exemplo para esta noite. Como você pode ver, nós temos o bem. Agora o meu nome e apelido quartos 69. Como você pode ver, funciona assim. Quando eu fizer isso, vou ter um dicionário inteiro. Então digamos, por exemplo, que estou deixando minha vida. Diz que a minha mulher diz que não vai embora comigo. E eu vou atualizar. Então nós sabemos que atualizar este rei com um novo valor porque vai haver uma nova pessoa. Por exemplo,
John, John, um pouco de piscina. Hum, não. Quando vamos para o quarto diz que você pode ver que eu não estou mais no hotel. Minha vida Minha esposa me deixou. Bem, eu saí. Deixei minha esposa. Temos alguns pela saúde. Outra pessoa. Ele está em outro quarto. Certo. Ok, então é assim que você atualiza o valor da chave que está dentro de um dicionário. Você digita lá. Ok. E, em seguida, escreva o valor que é novo. Você também pode adicionar um novo valor dessa forma. Então você, por exemplo, quer inventar o quarto número 55? Só acredito no número 55. E agora você faz algo assim. Andi, você vai notar que acabamos de criar o quarto número 55 por pessoa. Isso é chamado de Ok, então, hum e você também deve notar que esses 55 anos não aqui, certo? É aqui no final vai bem, não importa em que outras coisas são colocadas dentro de um dicionário cedo é importante dentro do topo das coisas. Mas aqui em um dicionário, dúzias de matéria. Porque estes são apenas beijos e os valores que podemos ter não vão ser diferentes. Você sabe, beijar aqui com tipos diferentes, por exemplo. Assim, certo? Isto vai funcionar bem. Você tem aqui uma chave que é uma visão aqui. Uma chave que é um número, e funciona. Tudo bem. Era mais que você poderia até mesmo usar aqui um boliche envolvido no problema. E também vai funcionar. Ok, isso é e vai ficar tudo bem. Você pode usar qualquer tipo que quiser aqui como chave, mas o mais importante é que isso veio. Deve ser você, MEK. Ok. O que isso significa? Isso significa que a vista tinha outro cara no quarto 49 por exemplo John Sample ass ass e nós em torno do módulo. Você vai notar que nós apenas anulamos o que estava aqui, certo? Isto deve ser único. Caso contrário, você simplesmente substitui as coisas. E é assim que funciona. Mas claro que pode. Você tem, por exemplo, o mesmo cara nos dois quartos porque ele queria um dedo que não queria que não tivesse se incomodado ao lado dele. Assim, ele está errado porque ele está certo. É por isso que, por exemplo, alguém, por exemplo, digamos que repetimos o valor. O valor pode ser facilmente. Fizemos o certo, mas o caso deve ser único. Ok, para casa. É assim que você pode atualizar e adicionar novos itens. Há também outra maneira de adicionar itens que você pode usar a função que é chamada atualização, que atualiza o dicionário por outro dicionário e você pode convidar ventilar suas coisas Como, por exemplo, quarto número 54 I 555amostra e você pode adicionar mais de um item uma vez que você pode algo assim. E acabamos de adicionar dois quartos com duas pessoas diferentes com nomes estranhos. Mas e se quiséssemos remover algo do dicionário onde podemos usar,
por exemplo, para a função de leitura É chamado Deal from Ded. E lá podemos enviar o nome do dicionário e chave que queremos remover. Então, por exemplo, queremos remover o 555. Certo? Esse latido Ondas, você pode ver que acabamos de remover. Você é um cara morto. Ok, há outra maneira de remover itens e esta coisa chama-se Pope. Você sabe, as coisas pop do dicionário você digita quartos e pop, e então você digita o nome off key. Quer estourar? Então queremos estourar 200 e 22. Burro. Como você pode ver, temos aqui no valor ah que é atribuído a 202, o que significa que o topo não só remove essa coisa, mas também diz as guerras mundiais. Lá você pode ver que removemos a parte chave 222. Nós também temos um valor de retorno foi algo como que pode ser usado Bem, você pode fazer algo como, por exemplo, que quartos. Então você pode, uh, pop, por exemplo, 69 direita, 69. Mas o que? 69? E você pode atribuir esse valor tão bem, aquele ponto que é removido para variável e você pode reutilizá-lo mais tarde. Certo? Você pode ver o que estava dentro do nosso interior o valor sob a chave depois de removê-lo. Certo. Você também pode usar algo com este culto regras que o item papa que se tornou excedente espaço
pop sancionável É assim que você escreve e volta como você pode ver,
ele remove o último elemento. Você também pode usar algo com este culto regras que o item papa que se tornou excedente espaço pop sancionável É assim que você escreve e volta como você pode ver, Então, o último momento é esse cara e o também pensa retorna e diz o que estava embaixo
dessa chave. Mas também diz qual é a chave? Mas porque não colocamos aqui uma chave, então não saberíamos. Então só removemos o cara que está ligado. Poderíamos ir agora atrás de mim e da minha esposa. Você também pode verificar o Len, que significa dicionários landfall tão comuns os itens que você pode contar. Itens Haman estão dentro de um dicionário agora. São dois deles em você pode limpar, o que significa que você pode remover vazio o er dicção
29. Sets: Olá, Meus amigos, Eles estavam indo para falar sobre outro tipo de avanço. Ligamos para o Set porque eles são tão homens desse tipo. Eu criei a mesa. Isso vai ser Hal B O C. instantaneamente o que você pode ou não fazer em um desses tipos. Tenho certeza que vai te ajudar no futuro. Então vamos para o que é um conjunto. Esse conjunto, como outros tipos que todos nós aprendemos nesta seção, é apenas em um lugar onde você pode segurar itens,
direita, Então, isso é novamente recipiente. Mas os itens durante o site têm especialmente corrigir assim. Ok, a
fim de criar conjunto, precisamos nomear esse conjunto. Em seguida, use o sinal de igual e, em seguida, use cobrir os suportes de respiração novamente, Curly um como para dicionário. Mas a diferença entre conjunto e dicionário é que você não usar este tempo. Bem, Keith. Então você apenas coloca aqui valores como, por exemplo, 40 e menos dedo 2030 direita. Este é um dito. Não temos chaves para cada valor que vim. Não é apenas a diferença que está entre o dicionário sete, porque não é que você não pode mudar específico e limão. Então você não pode escolher, por exemplo, este elemento e, em seguida, alterá-lo porque os elementos em conjuntos estão ordenados. Você não sabe onde eles são colocados e onde eles estarão em breve. O que quer dizer? O que quero dizer com “logo “? Bem, quando tentamos imprimir, por exemplo, isso disse que você não vai. Essa é a ordem desligada? Este elemento é diferente, certo? Coloquei menos dois no segundo lugar. Mas agora aqui está no final. É um comportamento inesperado, sabe. Saiba onde todos esses elementos serão colocados. Ok, eles são colocados aleatoriamente. E é por isso que você pode escolher, por exemplo, aquele cara e mudá-lo para outra coisa. Ok, no dicionário, era possível porque poderíamos escolher a bicicleta elemento. É esqui e podemos mudá-lo. A coisa mais importante nos conjuntos é que cada elemento no conjunto deve ser único. A coisa mais importante nos conjuntos é que cada elemento no conjunto deve ser único. O que isso significa? Se eu adicionar um elemento assim? Por exemplo 40 você notará que ele será mostrado em Lee. Uma vez que veio, você pode adicionar elementos do fazer. Dois conjuntos é realmente como, por exemplo, um rd e, por exemplo, 24 então você sabia que precisamos Nós usamos o aviso admitido que 24 foi adicionado aqui. Não no final, porque, como eu disse, área, não
sabemos onde os elementos serão logo depois de adicioná-los e bem, você pode alterar esses comportamentos,
por exemplo, fazendo algo assim. Você quer classificar elementos assim, você pode executar função sortida, mas o resultado será lista, como você pode ver, porque aqui estão colchetes. Ok, então o resultado off função oh são classificados quando você envia lá disse que o resultado é menos que é uma espécie de mínimo que você pode agora acessar cada alinhamento e assim, mas não disse é sempre sem classificação , certo? Você não sabe onde as coisas estão, Você pode adicionar novos elementos. Você pode mudar especificamente. Eu quis dizer que você pode você não sabe a ordem fora elemento e todos os elementos são únicos. E essa singularidade é a melhor coisa possível sobre conjuntos porque você pode estar se perguntando, por que eu precisaria deles? Ei, olha, nós nos conhecemos mortos que você pegou do banco de dados, muitos nomes fora. Imagine isso. Estes números são nomes, certo? E há algumas duplicatas que ele escreve para esse cara e esse cara, certo? Quando imprimir A, você vai notar que podemos ter duplicatas no direito de locação, e é possível que tenhamos uma lista do banco de dados. Mas o problema é que não queremos ter duplicatas. Assim, podemos facilmente mudar esta lista em um conjunto usando a função que este chamado set. E então sabíamos que quando fugimos, mais Julie notaria que temos valores únicos de Onley, certo? Cada duplicado não foi removido, mas substituído por apenas um. Uma cura inst certo. Há apenas um único item que é único, como 40 e 20, certo? É por isso que eu disse são realmente úteis e isso é
realmente, muito longe normalmente sem conjuntos, você precisará escrever um loop, passar por cada elemento em um IRA e verificar se há uma duplicata fora do item que você Estou procurando. E se houver uma duplicata, você precisaria removê-lo, fornecer surgir. Isso vai levar tempo. Você vai precisar cavalgar. Muitos chamaram por isso. Isso não é legal. É bom usar ferramentas como, por exemplo, disse fazer apenas fazê-lo para você direito, é por isso, diz um muito legal. Há mais algumas operações que são úteis como estas aqui, mas falaremos sobre elas na próxima palestra. Então lembre-se que você definir, principalmente porque queremos itens exclusivos e nós os usamos quando não nos importamos com a ordem. Nós podemos adicionar elementos para, eles disseram. Mas podemos mudar o elemento específico. Podemos remover elementos especialmente grandes como, por exemplo, você pode fazer algo assim A descartar. Esta é uma nova função. Remove um limão, por exemplo. Eu quero remover alarme e loja secundária, e você vai notar que menos dois IHS não removido porque estamos usando a lista direita? Isso diz que em suas sete coisas você pode ver menos ter waas removido facilmente. Você também pode usar a função remove, mas o problema enquanto removido função é que quando você digita aqui valor que não existe , como por exemplo, 200. Temos um “ok “estreito, essa música, essa lição. Na próxima palestra, você aprenderá a usar operações e diz que eu
realmente, muito útil se você tiver alguma dúvida. Como sempre, sinta-se livre para perguntar
30. Operações em conjuntos: Olá. Eles estavam indo para falar sobre operações úteis que você pode fazer em conjuntos porque conjuntos são usados principalmente não só para mudar menos em conjuntos, a fim de criar elementos únicos Onley. Mas você também pode, por exemplo, alguns você pode fazer uma união. Você pode adicionar um conjunto a outro como fazê-lo. Bem, você pode fazer isso de duas maneiras. Você pode fazer algo assim e depois o sinal assim. É tubo e depois ser E isso vai nos dar uma união, o
que significa a conexão entre A e B. Então isso significa que temos todos os elementos que existem neste conjunto. E neste conjunto ao mesmo tempo, se houve alguma repetição, como por exemplo, 20 e 20 obteremos apenas um item único, mas temos o bem. Agora todas as outras mulheres de ambos os sets em um, e esta coisa chama-se União. Você pode estar se perguntando agora, mas quando algo assim é útil,
imagine que você tem que bancos de dados e você começa de um banco de dados nomes como esse e, em seguida nomes como esse do segundo banco de dados, e você quer para conectar ambos os resultados de cada banco de dados em um. Certo? E você também quer itens únicos do Onley. Então você faz algo assim. E agora você também pode, por exemplo, classificar todas essas coisas muito rápido. Assim, certo? Então você tem o bem lá, União, entre dois bancos de dados e ao mesmo tempo, você tem todos esses itens classificados. Ótima. Muito rápido e direto para a frente. Certo? Está bem. Aniversário. Mas também há algo chamado cruzamento escolar. Isso é coisa ainda mais legal porque esta coisa vai lhe dar, como resultado as coisas que estão no um fora do set e o segundo set no mesmo tempo . Então olhe, 10 está aqui. 20 está aqui. Certo? Mas 40 não está em B menos dois não está em B sete não é a noite para não está em um então você pode facilmente verificar se, por exemplo, o A e B eram nomes, certo? Você poderia verificar os
nomes do banco de dados. Existe um no banco de dados. Seja ótimo. Isto é muito fixe. Você pode facilmente verificar algo tão longe apenas usando esta coisa. Há também ah é uma boa coisa para saber que você pode usar essa função, por exemplo, união em vez deste sinal. OK, então se você fizer algo assim, você pode. Você pode ver o algo como uma união, então você faz Osama aparafusado fora desses dois conjuntos Você também pode fazer no cruzamento. Mas para ser honesto, prefiro os operadores assim. Mas é bom saber que você pode usar funções em vez disso. Beleza. Então, quando você olha para alguém que chama de casaco que ele não é seu, você vai saber instantaneamente o que isso significa? Ok, também
há diferença e exclusivo ou mas bem, que
tal essa diferença funcionar? Digamos que eu não vou ter algo como ser de um mineiro. Como você pode ver, temos um número 14 final menos dois 14 e menos dedo do pé branco porque 10 e 20 foi removido porque existia em B. Ok, então você remover uma mulher do dito que está no lado esquerdo que existem no conjunto que está do lado direito. Quatro e sete não existem aqui, então nós temos. Nós não precisamos removê-los, mas 10 e 20 existe em ser assim, se tivéssemos removido, por exemplo, 20 A partir deste dito, você percebe que o resultado é para 2 20 e menos. Então, certo, então agora nós não removemos O gêmeo adicionado de volta bem novamente removido 20. Claro, você pode remover carne de um e, em seguida, você e não coisas que temos quatro e sete. Então, sete estrangeiros. Porque 10 a 20 existe aqui e nós o removemos daqui. Ok, então isso é um diferente que temos. Além disso, algo de bom é chamado tristeza Exclusiva são este nome representa este X ou e ele remove interseção da união. União da União O que significa isso? Ele remove a coisa que é compartilhada entre o conjunto A e B Você ficaria e 20 E a coisa que são deixados, que é menos 2 44 e sete são adicionados. Ok, então vamos ver, nós apenas agradecemos por B Então a você vai notar que isso aconteceu. Como eu disse, para sete. 40 e menos dois porque 10 e 20 existe em deslocamentos acima nós apenas removê-los porque eles são compartilhados entre a e B. Então estas são todas as operações que você pode fazer chateado que são usados com algo deusa chamado operadores. Mas há também um a mais do que isso. Acho útil. Enorme é chamado de subsídio para você. Faça assim. É subsídio. Uh, estes foram ah, fora de ser. Estes retornarão falsos. Porque para ser um subconjunto de outro conjunto, você precisa ter exatamente os valores que estão dentro de outro conjunto. O que isso significa? Por exemplo, quando temos menos dois e 20 em ser, então ser é um subconjunto fora A Porque menos dois está aqui e 10 está aqui. Certo? Então, é o subsídio de um Ok, Bob A não é o subconjunto de B porque ele tem mais itens sobre isso, certo? Certo. Tem um 14 e 20. Então ele verifica se os elementos de outro conjunto estão incluídos em outro conjunto e todos eles devem ser incluídos. Aquele que estamos verificando todos eles. Não só alguns deles, mas todos eles não estão sendo bons. Certo, então aqui, um número que não existe,
como, por exemplo, 15. Você vai notar em que é falso. Também cai quando eu faço isso assim. Porque 50 não existem no set. Quando não queremos mais 50, tudo está bem. Ok, isso é só uma lição. Muito obrigado.
31. Tipos de aninhados: Olá. Eles iam falar sobre tipos aninhados. Mas antes de entrarmos no que é conhecido como o tipo, eu vou te dizer que problema eles viram? Assim será mais fácil para você entender. Ok, então não é que nós temos aqui etiquetas livres separados como nome, idade e sexo. E eles estão conectados uns aos outros de alguma forma porque eles descrevem uma pessoa aqui, uma pessoa aqui e uma pessoa aqui. Mas você sabe, não
parece bom quando temos variáveis conectadas entre si e que estão descrevendo isso descrevendo uma pessoa dessa maneira porque imagine que você tem boas como 1000 delas, certo? Vai ser difícil, você sabe, encontrar seu frio civil assim. Também é impossível criar uma variável para cada valor. Se você está tomando dados do banco de dados do fogo e assim por diante, você precisaria criar refúgio para cada valor que vamos querer começar e a solução para este problema Waas pelo menos que já sabemos raça, derrubar ou definir certo? Criamos uma pessoa e mantemos tudo junto. Então as listas são a solução para algo assim. Mas ainda assim, isso não é bom porque você sabe que você tem bom não pessoa, uma pessoa para pessoa livre pessoa, 4% 5. Mesmo assim, esses caras estão de alguma forma conectados uns aos outros. Certo não é apenas uma pessoa que você conhece, é como não ligado a pessoa morta porque eles são, por exemplo,
um convidado em sua festa, restaurante ou
no hotel, o que quer que eles são de alguma forma conectados uns aos outros. E é por isso que é bom ter um dedo tão frio. E esse é o tipo. Quando você tem uma lista fora de listas ou ou pelo menos fora topos menos deslocamentos e outras coisas como essa. Falamos sobre isso em breve. Mas a coisa mais importante é que bem, agora nós temos bons eles conectados, certo? Nós temos bons em um lugar e porque fora isso teria entrado neles em um só lugar. Podemos olhar. Olhe para o convidado isso e ver instantaneamente todos os convidados direito. Em seguida, você pode criar outro. Estes estão desligados, não convidados. Embarque, por exemplo. As pessoas trabalharam em seu lugar e você vê instantaneamente que esses caras são os que trabalham nunca lugar. Certo. E você pode tirar do banco de dados da luta. Todos eles de uma vez em um só lugar. Isto é muito útil. Tipos aninhados são muito, muito importantes. Eles resolvem o problema tendo dados em um só lugar, certo? E então você pode fazer o que quisermos com os dados. Falamos sobre isso mais tarde. Agora, vamos aprender como,
por exemplo, atores, atores, coisas assim na primeira semana. Não é que ele observou para criar um tipo aninhado que você cria, pelo
menos como normalmente, certo. Mas agora, em vez de ter apenas um único valor, certo? Primeiro, este é um único valor que mantemos dentro. Apenas escreva, por favor. Estes são apenas rendas para como aqui. É como se tivéssemos compilado daqui até ele. Certo. Ok. E agora adivinhe como podemos acessá-los? Olhe quando ele digitou lista de convidados, temos pelo menos sempre certo quando ele amarrou a lista de convidados. Zero. Temos este mínimo aqui. Então, a fim de acessar isso um limão o que? Precisamos apenas mergulhar a lista de gasolina do 00 certo? E eles têm um cartão ish, então vamos exercitá-lo. Mas eu quero acessar essas coisas como fazê-lo. Lista de convidados. Isto é o que como segundo papel. Então podemos de zero em seu zero, então um. Então não podemos digitar um. E então queremos acessar a mulher para 012 e ouvir boas mulheres, certo, que está funcionando bem. Ok, então nós podemos é os elementos de acesso. Podemos facilmente mudar elementos como esse. Por exemplo, Gasol está fora de zero em um, que é, por exemplo, minha idade. Certo? Não é que eu digitou 29 anos, 28 vai mudá-lo de volta do pé 29, por exemplo. Certo. E a vitória em torno do módulo e nós ativa lista escassa fora de zero quem não está morto. Minha idade mudou. Ele está funcionando bem para que você possa facilmente mudar os valores que você pode actores eles, você pode São os novos elementos no final do laço de gás exemplo colocado uma mão em. Será que podemos adicionar no final, por exemplo, cara
novo. Assim como no DNA. Agora vamos dizer que será, por exemplo, mulheres
Zafy. E como você pode ver, nós adicionamos no final amar. Mas o legal é que você não precisa usar apenas menos dentro da folha. Você pode ter, por exemplo, tombas dentro, pelo menos, o que será um benefício fora da solução como essa. Bem, desta vez não seremos capazes de mudar os valores aqui. Certo? Então isso significa que essa coisa é impossível de fazer. Quando você executar o módulo, vamos ter um erro porque o objeto derrubar não suporta atribuição de item. Certo, Bob? Podemos a calça é a nossa lista de convidados? Porque do lado de fora, temos o que, pelo menos, então acabamos de adicionar um novo elemento no final. Não podemos alterar os valores durante o lado, mas podemos adicionar novos elementos. Por que eu iria querer isso? Porque eu gostaria de ter benefícios de tombos aqui em benefícios. Um susto horrível, certo? Podemos adicionar ao Newell uma mancha de homem. Essas coisas são um pouco mais rápidas. Eles tomam este memorial e aqueles assim por diante. Então, tudo bem, então temos duas coisas boas em um só lugar. Então temos com o laço dentro da parte de cima, mas não é o fim. Podemos ter um tombamento dentro de um tombamento. Então, quando fazemos isso assim, não
podemos agora um panned novos elementos. Por quê? Porque os topos não podem ser alterados em tudo o que temos agora eu me beneficio ou ainda mais
acelerando isso . Mas perdemos o benefício por sermos capazes de nosso novo elemento. Depende muito da sua situação. O que você deve usar, certo? Você vai precisar olhar para seus dados e decidir dependendo de seu programa o que você quer toe use bod. Esse não é o fim. Você pode ter, por exemplo, como definido e dentro de um conjunto de uma queda Quando prato Irã em torno destes modelo, Como você pode ver, não
podemos upend novo elemento porque você não pode upend as coisas também. O set. Você pode adicionar novos elementos, mas você não pode depender porque upend significa que você é um novo alum no final desse recipiente nós Mas você precisa lembrar que os conjuntos estão em regiões ordenadas, que nós não podemos exatamente dizer onde os elementos estão dentro. Certo? Nós não sabemos se quando executamos este programa nossos concessionários de carro estará em primeiro lugar. Pode ser um “d” último. O conjunto é como uma meia como uma casca onde você coloca um limão, você os mistura e você não sabe em que ordem eles vão sair quando você tenta, você sabe, alcançá-los com a mão, certo? Então você não pode uma caneta coisas, mas você pode adicionar um novo elemento. Me vê bem. Você apenas adicioná-los em algum lugar que você colocar para baixo neste lugar e deve funcionar bem, mas você não pode adicionar o mínimo dentro. Você pode adicionar próximo site derrubar. E agora, como você pode ver, nós tivemos isso Zafy sobre isso, você pode ver que é um segundo limão agora, mas nós editamos no final. Não está funcionando assim. Acabamos de adicioná-lo ao conjunto deles na pechincha de algum tipo de meia, e você não sabe em que jogadas será certo, porque ele é um corpo de guerra panda pode ser como, mas o quê? Por que eu iria querer fazer isso assim? Oh, vamos ver algo que digamos que você tenha um segundo palpite, Elise, que diz que você tem alguém como J e seja Andi. Vamos mudar, por exemplo, não fazer ou algo assim. E agora eu gostaria de conectar a lista de convidados com outro convidado. Pelo menos como, por exemplo, dia em que podemos facilmente usar o sindicato, o operador algum. E agora, com conectados estes dois conjuntos você certo, este e este notar que conjuntos devem ter limões l únicos. Então o nosso carro vista mesmo dedo do pé Nós temos boas duas vezes aqui é colocado sobre os aqui sempre de todos os elementos será pelo menos mostrado uma vez estes como um filho, certo? Como em você. Conectamos esses dois conjuntos um ao outro. E agora, por causa disso, sabemos que precisamos reservar lugares em Onley para essas pessoas. Ou podemos usar, por exemplo, a conjunção de conexão. E agora, como você pode ver, podemos facilmente ver quem está em guerra em um centavo e em outro conjunto ao mesmo tempo. E podemos ver instantaneamente a pessoa mais
convidada, por exemplo, por exemplo,duas vezes, que pode, por exemplo, ligar para ele ou, você sabe, apenas reservar um lugar. Seja qual for. Podemos, de alguma forma, reagir a isso. Eso conjuntos têm classes como, por exemplo, este direito, você pode adicionar um novo elemento remoção limões. Mas o problema é que você não pode dizer exatamente em que ordem as coisas estão dentro. Se você não se importa com a ordem. Sempre, você disse, porque eles também são mais rápidos do que a lista. Certo, então para a máfia do pecado, usamos os tipos da Nissa para ter dados relacionados uns com os outros. De alguma forma, em uma colocação de uma variável. Certo. Porque fora isso é mais fácil para nós ler o dedo do programa, recuperar dados de arquivos de banco de dados, sobre os
quais falaremos mais tarde. Podemos fora do curso, passar pelos elementos mais fácil, porque dessa forma, que vamos na próxima lição. Então tipos aninhados são
realmente, muito importantes de entender. Ok, eles são muitas vezes usados em trabalhos de programação. Certo, isso é bom. Ouça, muito
obrigado.
32. Como processar tipos nados usando loops: Olá. Agora sabemos como criar, a menos que seja a hora. Mas como processamos? Como vamos passar por todos os elementos se queremos mostrá-los com? Por exemplo, Les Belles antes de cada valor, por exemplo, o nome são Kaddish, 28
anos. Homens do sexo. Como adicionar rótulos antes do volume de idade e mostrá-los em algum tipo de forma que é bom olhar para os outros. Certo, Porque você começa bom agora sobre os dados que vieram de, por exemplo banco de dados, certo. Imagine que esses dados são de dados e agora você precisa de alguma forma processos ir para como
fazê-lo . Imp Isten, você pode usar olhar para passar pelo mínimo, a fim de fazer qualquer tipo de queda. E então, em Piketon, você pode digitar os espaços reservados. Assim, os próprios nomes de Abel que irá manter cada um fora do valor, por exemplo, nome, idade e sexo. Então acabamos de inventar esses nomes, certo? Nós, eles não estão em lugar nenhum. Antes de apenas criar os esses nomes e eles vão manter em conformidade. Diga nosso Kardashian idade 28 homens do sexo porque, bem, digite aqui agora na lista de convidados. E agora podemos apenas trazer, por exemplo, nome, nome agora vamos apenas para ele. Oito. Seis ódio em torno do módulo e, claro, eu místico sobre o molde você. E como você pode ver, nós acabamos de imprimi-lo pessoa com os rótulos antes do volume de idade. Então, se processar esses elementos sem problemas, temos mais do que valores livres aqui, por exemplo, o número de telefone vai ficar a aderir mais uma coisa como essa, a mais uma variável certa Agora não comemos de graça. Mas o que acontecerá se tivermos aqui para variáveis? Mas nós temos sobre os valores livres aqui. Quando ele executou o módulo, você percebe que temos o erro de valor, não valores suficientes dedo do pé no parque porque esperávamos quatro deles. Mas todos nós estivemos lá livres. É por isso que você tem que sempre ter aqui a mesma quantidade fora de variáveis para que eles possam conter cada valor do aninhado menos ou menos o tombamento. Seja qual for. Pense como aquele tipo aninhado direito. Você não pode torná-lo um pouco mais bonito. Mais um espaço, a entrada. E por causa
disso, podemos ver facilmente agora que esses dados estão conectados ao status dessa pessoa. Conecte-se com essa pessoa neste tipo conectado a essa pessoa, então é bastante simples. Você só precisa se lembrar que há sempre a mesma quantidade de variáveis aqui como que são atendidas Valdez aqui. Essa é apenas a lição. Muito obrigado.
33. Dicionário no dicionário no de dicionário no de lista - no escolher o que: Olá, todo mundo. Hoje vamos falar sobre exemplos um pouco mais complexos sobre o dicionário dentro do dicionário, ou pelo menos dentro do dicionário. E nós falamos sobre bem quando você deve usar o que eu acho que não, é que nós normal onde nas últimas palestras nós aprendemos sobre como dedo do pé tem dentro pelo menos derrubar direito E as tombas dentro desta lista eram como John 27 Maio e onde poderíamos você, por exemplo, para o número de nível. Como hman hamster. Ele tinha namoradas hominy. Imaginem que temos aqui um pouco mais de números, certo? E então quando você olha para o disco assim, você fica como qual fora o número é oito, certo? Qual do número é quantas garotas ele teve, certo? Você não sabe olhando para o registro assim. É por isso que é realmente ótimo usar para dados como esses rótulos, que são as chaves para valores dentro de um dicionário. Certo? Então, é boa idéia ter dentro de um dicionário em vez de tombar para os dados como esse. Mas, você sabe, não
é assim, sempre assim. Você pode ter dados como, por exemplo, classificações certas, você pode ter uma pessoa como, por exemplo, arco
Kardashian. Eles são estudantes e eles têm algumas classificações de como eles se apresentaram na escola, certo? Como você pode ver, nossa casa é um estudante muito ruim e suas notas muito baixas, Mas porque você pode ver instantaneamente que o nome desta variável, o nome destes bem, dicionário consiste em classificações e ele estava apenas em nome e desde que estas são classificações, certo? Então você não precisa mesmo usar o tipo aninhado porque,
bem, bem, existem apenas maiúsculas e minúsculas e valores, certo? Mas quando você tem mais valores, certo, A distinção. Então, quando você tem algo assim aqui nome, classificações e comportamento, muitos mais como número de telefone e assim por diante, então provavelmente é uma boa idéia ter uma maneira e dentro de pelo menos metade de um dicionário, porque agora nós pode ver instantaneamente que estas classificações pertencem ao nosso carro enorme. E ele tinha um comportamento assim. Bem na Dhere. Nós temos jardineiros, e você tem classificações como essa e comportamento como esse aqui nós não seríamos capazes de adicionar outro valor a que tornaria fácil distinguir um ao outro direito então sim, usando topos, por exemplo, classificações é uma boa idéia porque,
bem, bem, você não chamaria isso de esperar, gerando trabalho no dedo do pé na criação para a frente se eu ralar seis. Certo. Seria estúpido adicionar um rótulo antes de cada valor fora como esse. Ou se você tivesse, por exemplo, programa que irá obter números aleatórios. Seria estúpido se o número um fosse mais frio. Número dois. Número três, número quatro, certo? É melhor apenas ver o tombamento e alguma chave para ele. Certo? Por exemplo, que a pessoa como a nossa casa de campo tem boas classificações como essa, ou números como esse. Seja qual for. Mas, você sabe, você precisa decidir que tipo você usa dependendo de quais dados você tem que, hum, processar em seu programa. E agora não é isso quando você tem uma situação como essa. Então, quando você tem menos aqui dentro,
Elise, Elise, você tem uma boa dicção que está pronta? Você tem um problema como esse. Quando você faz algo assim, escreve as coisas para zero, você vai ter todo o registro, certo? Mas imagine que você vá. Ele é um pouco mais de discos assim. Tipo, por exemplo, 500. E agora você não sabe onde está o nosso cartão. Onde estão os argumentos e você quer encontrá-los , certo? Você não pode fazer algo como classificar estúpidos de nossas vistas de carro e depois obter as anotações do nosso carro. Você precisa procurar por esse registro? Falamos sobre como procurar mais tarde, mas leva tempo, certo? Você precisa cavalgar. Também algum culto, mas não é ouvir. Quando você tem um dicionário lá fora, você pode fazer algo assim. Classificações de livre,
e, em seguida, chegar à nossa casa de campo instantaneamente. Certo? Você não precisa fazer lábio especial para isso. Você só tem instantaneamente todos os escritos para o nosso cartão em seus escritos como um cachecol ou como ele se apresentou na escola nas palestras sobre o que era seu comportamento. Certo. Então é muito mais fácil de usar quando se tem bons, os mortos. Mas você precisa se lembrar disso Bem, você precisa ter todos os alunos que são únicos. Então talvez nomes não sejam uma boa idéia para ter aqui porque, hum, estudantes podem ter o mesmo nome, mas bem, você poderia tentar com um nome, mais alguma identificação ou algo assim. Isso pode ser apenas identificação. Er como eu gostaria aqui, certo? Vocês são boas pessoas. E cada pessoa tem um ID
que identifica a pessoa, e você pode facilmente pegar as pessoas. E você pode obter instantaneamente tudo sobre o cara. Então ou bem, se você precisa ter singularidade, você só usaria o mínimo, certo. E você não quer ter ideias, certo? Três depende dos dados mundiais. Precisas de processar o que tens para entrar no teu programa, certo? Você tem alguns valores únicos, certo? Valor da
chave, valor da chave, ou você tem um pouco mais fora deles. Então, é boa ideia talvez usar o tipo aninhado o que você se importa com a ordem das coisas, certo? Porque bem, lembre-se aqui quando você colocar algo na lista, tudo vai estar em ordem que foi colocado no reboque. Mas quando você coloca algo no dicionário, bem, então é como uma volta quando você coloca algo no cão. Você não sabe exatamente onde será mais tarde porque,
bem, bem, você sabe, alguns pensamentos se misturam dentro do dinheiro, certo? Você pode então escolher algo do saco e você não sabe exatamente o que vai ser. Uh, você está escolhendo isso tão bem. Além disso, adicionar itens no dedo do pé menos quando o mínimo está fora é um pouco mais lento quando você está usando o dicionário, porque quando você adiciona novos itens a uma barra, você apenas jogá-los na casca bem aqui. Você precisa de alguma forma gerenciar. Como o dedo do pé é o novo item no final para manter o pedido correto? O que realmente, realmente depende da situação. Não se preocupe se você não conseguir 100%. mais importante para você agora é entender a sintaxe. Então, como criar cada um fora que o tempo aninhado no futuro. Quando você começar a usá-lo, você vai se acostumar com Ok, dar a si mesmo um sinal algum dia. Você não precisa entender tudo sobre nous que Bob avançados tipos não testados instantaneamente porque é que é um tópico um pouco complicado. Então não se preocupe. Vamos fazer no futuro alguns exemplos práticos, e você vai se acostumar com isso. Você também vai programar uma oferta com outras pessoas e você vai começar você ficou. Essas coisas que tomamos prática não é algo que você sempre esteve em fazer perfeitamente bem. Ok, em caso de qualquer pergunta, como sempre, sinta-se à vontade para perguntar
34. Como extrair os registros de os dicionários nde: Inferno acabou. Mas então sabemos como criar tipos aninhados que são avançados. Como por exemplo, dicionário enviou um dicionário um lado do dicionário pelo menos. Mas como extrair todos os valores de dentro como obtê-los? Sabemos como mostrar valores quando você tem topos dentro da lista. Mas e quanto a estruturas como essa? Como mostrá-los todos de uma vez usando loops. Vamos começar esta lição de algo simples. Como, por exemplo, extrair valores daqui. Então nós temos uma chave, que é um nome, e nós temos o volume que são grandes classificações, certo para o rifle chave, a pessoa como extraí-lo. Bem, nós vamos usar esse olhar para e então nós vamos inventar sempre capaz que nós vamos segurar h chave. E, em seguida, vamos digitar o nome fora dicionário em. E agora quando nós, por exemplo, imprimimos King e corremos o modelo que você não é é que temos Ahh Que Aqui impresso, certo? Isso é porque esse visual vai funcionar até que todos os itens sejam processados, certo, até irmos para cada item aqui. E bem, há dois itens porque temos uma boa vírgula aqui. Então o 1º 1 O 2º 1 em. Temos que manter para cada classificação sobre como entrar no valor fora da chave. Bem, nem Maria. Vamos imprimi-lo manualmente. Assim, certo? Coisas de um nosso cardio. E se você quiser ter uma Agnes, nós morreremos. Algo assim em um para que você possa ver que temos bom. Agora a escrita é ótima. Traga isso para cima. Então precisamos digitar o nome do dicionário e, em seguida, a chave. Certo? Então olhe para este ano, não
temos você e o nome do dicionário. E vamos usar o rei assim. E como você pode ver, você sabe, nós temos bom, ótimo para cada pessoa enfraquecer tipo algo assim. Certo, ótimo número. Tudo funciona bem. São os grandes do Carter querem todos fazer livre o melhor que você nunca. Então é assim que imprimimos simplesmente o dicionário que é único dicionário, certo. Mas e uma situação como essa quando você tem dicionários dentro de uma lista? Como extrair esses valores? Bem, vamos nos lembrar como extrair valores quando você tem uma lista simples com valores livres como, por exemplo, John Mary Ann Argus, normalmente você vai fazer apenas algo assim para cada valor dentro das pessoas livres. Você só vai trazer valor, certo? O Cole? Como podem ver, Joan, Mary Agnes, isso é muito fácil, certo? Porque nossos itens gratuitos procuram será executado até que você extraia todos esses itens três vezes e cada vez que o valor que mudaria para o valor atual dentro da aparência. Isso é bastante simples. Mas e quanto a uma situação como essa? Não é que temos agora o que cada valor é agora. Que dicionário, certo? Não é um tempo simples. Você gosta disso. É só um dicionário. Não está aqui? Tínhamos um dicionário, certo? Para extrair o dicionário, tivemos que fazer algo assim. Então precisamos de alguma forma conectar isto com isto lá fora. Temos a lista, então devemos usar como loop externo esse cara, certo? Mas dentro dessa coisa, então precisamos de alguma forma conectado a Vamos, por exemplo, copiar isso. Pense aqui assim, e vamos pensar por um segundo. Fazemos algo assim para cada valor. Desta vez, cada valor é o que é. Um dicionário. Então vamos mudar a nomeação para dicionário dentro do People, também. Então agora estamos dentro de um dicionário como esse, certo? Queremos extrair cada chave. Então, para enfraquecer viver esta chave aqui. Mas precisamos entrar. Vício? Er direita. Então dentro de um dicionário como esse e agora ganhando em torno do módulo, você vai notar que temos eu d fora do curso, remover as notas porque estes não são mais grandes. Eles têm apenas valores Colon, a fim de torná-lo um pouco mais fácil de ler. Eu d Uh huh. Nome Joan H 27. Sexo feito. Tudo funciona bem. Certo. Então nós conectamos, hum, escrevendo o único dicionário com escrever o único, hum, lugar. Certo? Porque você não tem menos. E dentro da Elise, temos o teu único vício IRA. Então, quando entramos em um dicionário, precisamos processar também dicionário, certo? Fomos conhecidos. Ah, aqui está a lista. Certo, pessoal, falar é um desperdício. Espere. Crie um dicionário temporário aqui e para cada dicionário temporário, passamos por cada chave dentro de um dicionário e usamos essa chave para entrar no valor do vício. Uma chave de dicionário, certo? Poderíamos escrever aqui, por exemplo. Traga o dicionário e você vai notar que nós apenas obtê-lo. Dicionário certo. Quer libertar cada um deles? E porque usamos a aparência interna assim, processamos cada um fora do dicionário direito. Em vez de apenas escrever dicionário, nós o processamos. Fomos a ele. Eu acho que este 100 para comentar porque não é necessário no shopping. Ok, essa habilidade, mas como processar dicionário dentro? Vício? Er bem, vamos colocar isso sob o comentário sobre Vamos pensar por um segundo. Então, quando nós só temos que gostar que as pessoas fora, uh, em que nós
imprimimos, nós vamos ,
hum, dicção nós vamos usar o i d e então nós usamos o nome nós vamos tirar o volume daquele cara. Quem tem que gostar disso no nome da chave. Todos nós gostamos disso. Então nós mudamos o i d. Nós vamos pegar o Mary. Se mudarmos para acertar, vamos pegar, Laurie. É assim que funciona quando você faz isso manualmente. Mas é claro, tivemos Manny Valores Way precisaria usar o olhar certo nós somos preguiçosos. Nós sempre sentimos que você cai bem. Até agora, cada chave como você trabalha dentro das pessoas. Vamos trazer,
por exemplo, por um segundo
para ver o que está dentro veio. Peço desculpas por precisar deles. Deus, quando você está escrevendo em assassinato, línguas
diferentes, coisas assim acontecem. Como podem ver, temos agora todos os reis. Então essas brechas correm tantas vezes quanto há dicionários aqui. Certo? E como muitos itens estão aqui, as pessoas vão nos dar o que Bem, nos
dar dicionário inteiro porque cada vez, porque ,
bem, é vício e direito é um povo, certo? É como chamamos nosso dicionário dentro de um dicionário para que pudéssemos
imprimir toda a estrutura . E se tirarmos as pessoas do King, entraremos em quê? Sim, temos boas. Não, cada dicionário que nos interessa. Certo. Então precisamos processar essa coisa primeiro. Eu acho que devemos digitar, por exemplo, algo assim para o propósito de informar o nosso usuário que eu d.
Estamos processando auto-exemplo I d e irá digitar equipe direita, porque ele é o i d fora de cada pessoa dentro pessoas. E então devemos, eu acho, ir para cada insight do dicionário, certo? Então, para cada um, as pessoas vinham normalmente quando fomos a um dicionário. Fizemos algo assim, certo? Então,
por exemplo, podemos inventar seu rei secundário. Certo? E agora vamos imprimir as pessoas do Vietname fora da chave do segundo Eric E. Certo? Normalmente fazíamos algo impresso, e depois usávamos as pessoas. Ah, esta é a nossa. E agora precisamos do widget de chave secundária, por exemplo. Nome, certo? Isto é o mesmo aqui. E agora quando você executar estes, claro que calma você não é é que nós temos bom para cada i d uma pessoa com todo o seu conteúdo. Ótimo. Podemos, é
claro,
dizer, por exemplo, segundo estão interessados em mostrar o nome de cada rótulo. Ligue para ele para deixar mais claro que tudo funciona bem. Pode parecer difícil, mas não se preocupe . Só precisa de prática para fazer coisas assim. Se você depois de terminar isso, esta lição começar a práticas, Tenho certeza de que você vai agora, fazê-lo sem quaisquer problemas depois, Por
exemplo, 10 vezes, certo. Você precisa fazer isso pelo menos 10 vezes, mas não faça 10 vezes seguidas. Mas, por exemplo, depois de terminar essas lições,
faça isso e tente o dedo do pé para a direita. Tudo, desde a extração mais fácil. Certo? Então a casa é como essa. E se você tiver problemas,
em seguida, abriu o eleitoral e ver como eu fiz isso. E em chamadas, Eleitor. E, em seguida, espere 10 minutos e tente fazê-lo novamente por conta própria. E faça isso até conseguir. Certo, essa é uma boa maneira de aprender. Além disso, tente o dedo do pé de volta a este tópico depois, por exemplo, ferida dois dias algumas vezes. Então você não se esqueça de como fazê-lo. Não se preocupe, sério. Você precisa apenas praticar e você vai fazê-lo sem problemas. Está bem, vou mostrar-te outra saída. Extraindo o conteúdo fora do site do dicionário, Outro dicionário que estamos usando os itens atendidos e este método é mais rápido do que este. Então você deve saber como fazê-lo desta maneira, apenas no caso ou para entender o que está acontecendo dentro. Mas há uma versão mais rápida. Vamos correr rápido, acredite em mim, para correr mais rápido. Você, é
claro, sabe como verificar ou isso mais rápido ou mais lento no futuro, porque eu vou te ensinar. Mas por enquanto, acredite em mim, é uma maneira mais rápida de extrair as coisas. Então, se há muitos itens dentro, você deve usar a coisa que eu vou te mostrar. Então, há um médico que é chamado de itens, e isso é assunto muito legal, porque não é o que ele vai retornar. Uh huh. Temos alguns que pensam que você é como a morte. Então isso importava. Retornou uma vista como essa. Vamos mantê-lo aqui para que possamos ver o que ele devolveu. Isso é um debate formal. Então, de alguma forma mudamos um dicionário dentro de um dicionário a reboque, uma lista que tem casais e cada um dos tombos consiste em valores. Bem, o primeiro valor é King, certo? E o segundo valor, é um dicionário, não é? Isso é muito legal. Então, como podemos usar esse conhecimento? Repare que uma vez aprendemos a processar algo assim, certo? Chamamos inventar nome, idade e sexo variáveis para cada item dentro do tombamento. Isso estava dentro de uma lista e poderíamos facilmente mostrá-la. E o jogo temos a mesma situação aqui. Olha, temos a lista lá fora. O resultado está fora e dentro. Temos que derrubar a Apple. Aqui temos valores livres aqui temos apenas dois volumes, certo? O primeiro valor é a chave. No segundo volume é um dicionário. Então, algum tipo avançado, mas podemos processá-lo de forma muito semelhante. Essa é a coisa legal sobre isso. Ah, então olhe, agora
podemos entrar em um mundo a reboque. Pessoas que eu chamo, que é essa visão. Inferno, certo. E agora podemos inventar nomes de variáveis. Quatro a chave aqui e para o dicionário. Ele está certo? Não somos nenhum problema, certo? Então, por exemplo, podemos chamá-lo de i d. E a segunda coisa é dicionário. Então vamos chamá-lo de dicionário. Então este é um dicionário chave dito. E agora podemos, por exemplo, imprimir a ideia, certo? E então podemos fazer algo assim para cada chave dentro do dicionário porque, bem, queremos protestar agora. Dicionário. Então queremos entrar em cada rei dentro de um dicionário que vamos criar. Certo, Colin, Dicionário de Chave. Pode levar isso sob o comentário. Sinto muito mesmo. O mais importante é que funcione como final, certo? Você pode remover o sprint daqui. Como pode ver, estamos bem. Eu então chamei John H Sexo de cada nascimento. Então essa é uma maneira de fazer o bem que você pode fazer. Também é assim. Mas isto é mais lento. Se você entender mais essa coisa. A notícia, mas apenas para uma pequena quantidade fora de registros, tudo porque quando você tem bons homens fora deles, vai realmente acelerar usando este método. E você não pode conhecer o seu programa. Corremos mais rápido, então é melhor usar dessa maneira. Certo, você aprenderá, como eu disse, como verificar o dedo do pé o que é mais rápido seria mais lento em futuras palestras. E quando falamos sobre as funções sobre o uso de funções de módulos e outras coisas assim não se preocupe. Por enquanto, você só precisa entender. Então aqui temos uma área de 90 vícios e inventamos a descoberta para Ebel. Eles são como ele espaços reservados. Eles guardam o lugar para valores assim, certo? Eu tinha para cada dicionário i. D mantém o lugar para cada dicionário, e então nós imprimimos cada uma dessas idéias para sabermos qual cara vamos processar. E então inventamos o nome o espaço reservado para chave dentro de cada um do dicionário. E depois mostramos aquele homossexual. Então sabemos do que estamos falando. Nós digitamos a coluna e, em seguida, acessamos a idade do corpo. Espero que entenda. Se não, não se preocupe. Tente, você sabe, chegar a essa palestra, por exemplo, amanhã. Tenho certeza de que quando você pede que essas 23 vezes, você não pode obter os problemas. E como eu disse, a prática prática porque a prática vai fazer com que seja a melhor versão si mesmo. Só há lição. E como sempre, se tiver alguma dúvida, sinta-se à vontade para perguntar.
35. EXERCÍCIOS: o dicionário dinâmico com definições: Olá, pessoal. É hora de praticar seu conhecimento. Lembra-te que sabes que vou escrever programas. Você nunca se torna programa. Então, hoje vamos escrever um programa que permitirá que o usuário adicione novas definições, tais definições existentes e faça a definição que o usuário escolheu. Ok? E eu farei isso. Mas eu acho que agora você deve parar esta palestra e tentar fazê-lo sozinho. Porque você se beneficia de muito mais se você tiver problemas, volte para a palestra sobre DSI. Como eu fiz. Se você não tem problema do que também assistir a palestra para comparar a minha solução com a sua solução, você também pode me mostrar a sua solução. Estou mais do que feliz em lhe dar Haynes sobre seu casaco. Certo, então como escrever um código como esse? Eu acho que precisamos primeiro criar um contêiner que irá conter todas essas definições. E eu acho que é melhor criar um dicionário que temos definições para este tipo de dados. Por quê? Porque um dicionário é muito longe quando você quer obter valores de extração do lugar e sua adoção, adicionar novos elementos e nós não nos importamos com a ordem fora coisas que vão estar dentro deste dicionário. Então nós só queremos adicionar busca por algo dentro. Então é muito legal, eu acho, usar o dicionário nesse caso. Ok, então vamos criar o vício, Erin no contêiner, e ele estará vazio que começar no dicionário vazio do Criador. Nós apenas usamos os colchetes e não colocamos dentro de colchetes. E se OK, então temos dicionário agora, devemos de alguma forma entrar em contato com nosso usuário. Poderíamos criar uma manu e interface que estará entre o usuário e nosso programa. Certo. Então precisamos criar um menu que lhe dê uma escolha. Ok, então vamos fazer isso. Imprimir, por exemplo, quando ele escolher um hey será capaz de adicionar uma definição em mais algumas coisas que ele pode dio como. Tal para definição, remover definição. E enquanto ele pode terminar o programa, certo, por exemplo, quando você cair e agora devemos perguntar a ele qual escolha ele escolheu. Então escolha é igual à importação. O que você quer fazer assim? E não vamos mudar a corda para o fim assim, certo? Porque onde não precisamos adicionar esses números. Só queremos checar os dedos. Se, hum, a escolha é igual a 12 livre ou por isso se essa escolha é igual a um Dan, queremos outra definição. Então devemos pedir a chave para a palavra que queremos definir certo? Mas o usuário quer desafiar e vamos fazê-lo. Precisamos mantê-la em algum lugar para criarmos uma variável para ele. Vamos pedir por isso. Então entrada e ouvi a palavra que ele definiu assim. E agora temos uma definição para esse jogo. Então vamos pedir a definição assim inserida definição. E agora precisamos adicionar uma nova definição ao vício. Nunca. Isso já existe. Como fazer isso. Precisamos ligar a área do vício do nome. Então precisamos agir como a chave que não existe. E então precisamos colocar a definição à vista e então nós vamos informar o diferente quando com sucesso,
uh, uh, então definição é feita com sucesso? Não. Você é Andi Now? Bem, vamos tentar o nosso programa. Funciona o teste de definição. Essa é a nossa definição fora de sua definição com sucesso e podemos verificá-lo digitando dicionário. Nenhum teste. Como pode ver, funciona bem. Acabamos de adicionar uma definição no reboque. Nosso dicionário também. O manual que estes amigável para o usuário. Certo? Tudo parece bem. Ótimo. Agora precisamos permitir que ele procure definições. Então, se a escolha é igual a dois, então precisamos encontrar a chave que ele está procurando por algo para criar um muito ousado. Mas nós seguramos o rei perguntando o que você está procurando? E, bem, devemos verificar se a chave está dentro de um dicionário antes de mostrar a definição correta? Caso contrário, podemos tentar um ator algo que não existe dentro de um dicionário. Então, se a chave está dentro da definição, então dentro de um dicionário, uh, então imprima o dicionário fora da chave, tudo bem. Caso contrário, bem informou-o de que algo deu errado. A definição de trazer não foi encontrada. Confirmou o que ele falou assim. E ninguém. Nós executamos o módulo, podemos adicionar uma nova definição. Entrar na guerra para mantê-lo para encontrar como definição foi em seu sucesso sobre. O problema
é que, bem, não
nos pedem uma bengala, certo? O usuário não está sendo forma de jogo Gasca para o que ele quer fazer, e precisamos de alguma forma muda. Temos de continuar a perguntar-lhe o que ele quer fazer depois de cada coisa. Ele é como fazê-lo enquanto vai de alguma forma envolveu todas essas instruções até ele digitar . E a primeira coisa quando você ouvir algo como precisamos repetir quando você
precisa repetir qualquer coisa que você deve usar os loops porque eles se repetem, pensar direito e bem, vamos usar um lope y. por exemplo. O problema é, quanto tempo devemos repetir encaixar essas coisas? Bem, enquanto o usuário não entrar para aqui na escolha, devemos repetir essas coisas. Devemos repeti-lo quase sempre. Certo. Então, vamos fazer alguns truques. Chegamos a algo assim. Por que, através de tão verdade é sempre através. Então isso vai ser repetido sempre. Mas podemos de alguma forma quebrar o olhar mais tarde, certo? Porque temos instrução que quebra olhares que é chamado de quebra. E agora precisamos do dedo, sabe, porque em Piketon Onda precisamos usar o espaço é aqui. Temos de pôr o Rydell Dick Cho à direita. Usaremos esse rei quando escolhermos todas as instruções. Quem fez o time de topo. Como você pode ver, todas as instruções foram puxadas para o lado direito. E agora eles pertencem ao olhar largo. E todas essas coisas se repetirão para sempre. Mas precisamos mudar esse comportamento quebrando-o. Bem, alguém digita e certo para que possamos fazer algo assim. Eu vou se a escolha for igual a longe. Não apenas quebre. Você pode dizer algo como, uh, meu feito em. E agora, quando o Irã Nosso módulo e nós somos a definição. Então, exemplo, as tatuagens estão bem. Lá de novo, sendo perguntado. O que quer fazer agora? Bem, eu quero procurar por definição, e eu estou procurando a definição morta. Isto chamava algo assim. A definição não foi encontrada. Ok, eu quero encontrar a definição para o teste. Oh, então teste significa que essas coisas vão. Coisa estranha. O que você quer fazer? Quero terminar o programa para Biden. Funciona bem. Certo. Ótimo. Agora em apenas eles permitem que ele adie. Então eu vou se a escolha for igual a três Dan Onda. Precisamos perguntar o que ele quer diariamente. Então não vamos querer pedir a chave. Qual definição você deseja remover? E agora devemos verificar. Uma definição está dentro. Podemos copiar a coisa que estava aqui para podermos copiar as instruções do caso dentro de um dicionário. Não estamos rezando. Fez parte vai apenas o ataque direito. Saia agora. A fusão não foi encontrada, então ele não foi removido porque não existia. Então não havia nada para remover. Certo? E bem, está
tudo bem. Podemos executar o módulo na definição pensando não outra definição. Isso é também. E agora concerto para definição. Mas você pode ver duas lutas x que podemos remover. A definição pode mover a primeira definição que você pode ver. Nós removemos agora podemos definir para os testes de definição. E como você pode ver, definição não foi encontrada porque coloca removido onde poderíamos informar aqui após a
reunião,
que a reunião, definição foi removida. Provavelmente certo. Então imprima onome da
definição que o Waske removeu com sucesso. Pense que, em citação, podemos
acabar com o programa. nome da
definição que o Waske removeu com sucesso. Pense que, em citação, podemos Seja qual for. Certo. Certo, acabamos de terminar a tarefa, certo? Podemos definir definições. Você pode pesquisar definições. Podemos remover definições e encerrar nosso programa para que tudo funcione bem. Isso é sempre se você tiver alguma dúvida, sinta-se à vontade para perguntar.
36. Listando compreensões: cabeça sobre ele Hoje vamos falar sobre essas compreensões que às vezes são chamadas expressões fórmulas. Eu vou te dizer em breve, o que eles são? Mas antes disso, devemos ver que problema eles viram? Porque assim será 10 vezes mais fácil compreendê-los. Acreditar. Ok, então imagine o problema assim. Nós temos números, uma lista de números, como, por exemplo, 123456 E queremos aumentar cada um dos números para o poder de, por exemplo, e você deseja criar outra lista baseada em O pulso, certo? Então, a fim de fazê-lo, normalmente nós criaríamos uma lista vazia que iria iniciar os números de energia. E então nós passaríamos pela idade fora do elemento dentro para idade do item dentro, através de cada uma fora da entrada dentro dessa lista. E, em seguida, vamos apenas um panned para o fim desse número poderoso Idade do Item corrida para o poder de para. E está tudo bem. Acabamos de criar números cortados que são elevados ao poder de para isso é tudo. Mas podemos escrever isto de uma forma diferente. O caminho será mais elegante, elegante? Ficará melhor do que isso. Está bem. E como fazer. Bem, para fazer isso, vamos digitar colchetes, e então não vamos digitar. Em primeiro lugar, o que queremos fazer com cada item dentro do velho o menos como, por exemplo, números. Então queremos elevar cada um dos elementos para o poder de para e então precisamos dizer, de
alguma forma, alguma forma, dentro do lado de menor compreensão, este lado de expressão, esta fórmula onde Mas esses elementos são do certo? Porque agora você disse que queremos fazer algo com elementos, mas não dissemos de onde eles vieram? Ok, então eles vêm do menos aqui, certo? Então devemos dizer algo assim para o elemento em números. Hum, em tudo. Então, acabamos de substituir. Eles pensam por isso Pense direito. Nós não pudemos salvar o resultado dentro. Por exemplo, números
de energia também. Podemos rodar o módulo e como os números são alimentados. Vamos devolver-nos números de energia e números de energia. Teoh, nós escrevemos a mesma coisa. Então esta é apenas uma maneira alternativa de escrever. Esta coisa é mais elegante. Mais elegante. Para algumas pessoas, pode não parecer mais elegante, certo? Porque você pode ser como, hein? Não sei bem como ler isso. Não se preocupe, porque quando você escreve que essas compreensões são expressões algumas vezes você vai ver que é bastante simples. Você só precisa praticar que para não guerra. O mais importante é para você lembrar que, em primeiro lugar, você digita, O que você quer fazer com elementos em segundo lugar? Você digita? De onde você tirou esses elementos? Está bem. E também é que nós não temos aqui e eu estou assinado entre o quê? Cada um fora do depoimento, certo? E eu acho que é uma boa idéia apenas adicionar entrar aqui às vezes. Porque assim é mais fácil ver que você faz algumas coisas aqui, certo? Primeiro, o que você teceu elementos? E então de onde vamos tirá-los da direita. E também estes módulos que acabam com os problemas e não podemos obter o resultado como você quer. Ok, então vamos para o segundo exemplo como os números pares que você quer ter número par. Então nenhuma Marie vai passar por cada limão dentro da lista de números. E então vamos verificar se há prisão fora da operação como o Módulo Elemento dois é igual a zero. Porque se houver, se for igual a um, significa que está no número antigo, certo? Mas não vamos nem números. Então, se isso agitar, nós vamos um quilo esse elemento para os números pares sobre como fazê-lo usando a menor compreensão porque, bem, nós temos uma condição aqui. Como inserir a condição no interior. Bem, vamos fazê-lo assim números iguais para casas iguais agora, os colchetes. E o que primeiro queremos dedo do pé. Diga o que queremos fazer com os itens dentro. Bem, nós não queremos fazer com eles nada além de adicioná-los ao novo mínimo direito. Então nós só vamos digitar elemento você para maré alguma coisa aqui sempre. Então, se você não faz nada sem mulheres, basta digitar o braço e então vamos agora e dizer, onde conseguimos isso? Um limão de alguns. Conseguimos pelos números daquele Lyski, certo? E então nós digitamos a condição com base no 11º com base no item de ele vai. Então nós podemos apenas copiar esta condição aqui se elemento dedo modular é igual a zero é a nossa condição. Certo? E agora que para que possamos executar o módulo, podemos digitar número par. São números iguais para isso. Você pode ver. O resultado é este. Eu trouxe aqui algo assim para você. Este é um trecho para você que você pode olhar quando você esquecer como ele funciona. , Novamente, primeiro você digita. Você gostaria de fazer o 11º em casa na idade do item, Andriy. Certo aan den você. Bem, infelizmente, não
digitou e assinou entre todas essas coisas. É por isso que é um pouco mais difícil de ler. É por isso que digitamos o enter entre a idade dessa linha. Certo? Mas bem, eu aderiu esse cano aqui só por uma questão de clareza. Certo? Mas normalmente você não o usa. E então você é o que onde você obtém os elementos, e então você tem a condição que é baseada no elemento. Agora isso é tudo que você acabou de criar, pelo
menos baseado em algum tipo de velho menos certo e bem, eu chamo isso de fórmula porque é como uma fórmula matemática, acender algum tipo de expressão, certo? E ele volta a ser liberado quando terminar. Mas quando ele acha que é trabalho, certo, então por que usá-lo? Porque é uma maneira mais limpa e, além disso, mais
rápida do que esta, tens de saber que esta coisa vai ser executada mais depressa do que esta coisa, porque aconteceu a matéria mais lenta. E aqui há algumas otimizações indo em segundo plano que vão torná-lo executado mais rápido. Então, quando você tem uma situação como essa, é realmente melhor usar essa compreensão em vez de fora do que uma maneira típica como a morte. Também é bom saber que bem, nós não precisamos ter pelo menos fora números como aqui, certo? Poderíamos gerar esses números muito longe. Imagine que você quer o dedo do pé direito. O desligamento para números de, por exemplo, 0 a 20. Bem, não
precisamos criar um manual assim, certo? Podemos mudar instantaneamente aqui. Por exemplo, onde vamos sair? Os elementos de nós podemos apenas digitar. Você está no alcance de 21. Certo. Então agora, quando você executar o módulo, você vai notar que nós instantaneamente temos números de 0 a 20 escola. Você quer mais? Ok,
então, por exemplo, 51 Então números alimentados também. Temos números como esse instantaneamente. Então é uma maneira poderosa de gerar números. Estás a dizer para me lembrares outra vez, só
estou a dizer-te que números como esses ou dados vão vir da base de dados ou cinco. Então será, como 10 vezes mais útil,dedo
direito, dedo
direito, obter algo fogo no quarto,
e, em seguida, fazer algumas operações no menos muito rápido usando. Por exemplo. Essa compreensão é correta usando as fórmulas menos. E b, poderíamos transformar a coisa que pegamos do arquivo como aqui, muito sempre. Rápido, porque essa compreensão é trabalhar mais rápido e de uma maneira mais limpa, certo. Mais uma lógica, maneira
elegante. Essa é apenas a lição. Muito obrigado.
37. expressões de gerador de Python: O inferno sobre isso. Hoje vamos falar sobre expressões geradoras. Bem, o que difere? Expressão genital da menor compreensão. Olha,
aqui temos pelo menos uma complicação. Então, usamos os colchetes que escolherão elementos do intervalo de 0 a 400. E então nós queremos elementos Onley que são dividir ervas por dois. Então eles são até Onda. Não fazemos nada com esses elementos. Nós apenas escolhemos com base na condição. Então nós temos agora números pares e nós armazenamos esses números pares dentro, pelo menos. Mas aqui temos a mesma expressão como aqui. Mas usamos o que colchetes redondos. E essa coisa é chamada de expressão do gerador. E essa coisa é chamada de menor compreensão. Por que assim? Porque esta coisa vai devolver o gerador. O que é gerador? Acho que devemos checar olhando para o frio. Vamos ver o que está acontecendo. Veja quando você executa esses módulos, como você pode ver No primeiro caso, podemos ver a lista de itens de zero para centenas,
400, certo? Então tínhamos o número. Temos números por aqui. No segundo caso, temos um objeto gerador. O que? Este objeto. Você não sabe sobre isso ainda? Porque não falamos sobre aulas. Mas acredite que é algo que você pode operar. Você pode fazer alguma coisa, Andi. Este pensamento pode gerar itens, valores como esse no vôo. O que significa quando exijo que seja gerado? Está bem. Quando eu exijo gerado para gerar algo, ele vai fazê-lo. Então, como exigir? Bem, podemos fazê-lo, por exemplo, invocando a próxima função assim. E como você pode ver, como eu ia imprimi-lo. E como podem ver, temos zero. Então poderíamos fazer tudo o que pudermos. Coloque-os dentro deles. Procure assim para cada número dentro do gerador de números pares, podemos imprimir o número. E como podem ver agora, temos todos os números iguais. Como no mínimo tivemos. Trá-lo para fora e você pode ir para casa. Mas por quê? Para me importar quando temos o mesmo resultado, , Bob me deu a mesma reserva ou algo assim com apenas um gerador. Está me confundindo. E você está certo. Pode confundir-te agora,
mas
olha, mas
olha, isto de outra perspectiva que reservamos na sentinela. Quantos lugares na memória? Nós resultamos. Cerca de 200 lugares na memória para números inteiros, certo, mas no caso de gerador, nós apenas reservamos memória para apenas gerador. Quando importarmos o sistema seguro,omódulo dos
meus pais e vamos fazer algo assim diz dúvida,
tirar o tamanho assim. Quando importarmos o sistema seguro,omódulo dos
meus pais e vamos fazer algo assim diz dúvida,
tirar o tamanho assim. Quando importarmos o sistema seguro, módulo dos
meus pais e vamos fazer algo assim diz dúvida, Ah, status. Sob o comentário, você não é. Em vez disso, temos 814 primeiro caso de mordidas reservadas no segundo caso no 4 para 8. Quando aumentamos, há um pouco que você notaria que no primeiro caso, reservamos 919.314 mordida no nosso no segundo caso, os mesmos 48 bytes. Então procure apenas imprimir valores. É uma boa ideia reservar tanto espaço na memória? Eles definitivamente sabem quando você quer apenas imprimir números. Você não quer fazer algumas operações coletando Lisa, você quer dedo do pé? Você classifica esses valores de alguma forma você quer fazer algumas coisas com eles, certo? Com esses valores mais tarde em seu programa, em alguns lugares em seu programa, certo, você não deseja reutilizar esses valores. Você só quer algo do dedo do pé. Eu tenho uma tenda como beber fora, certo? É 10 vezes melhor usar apenas o gerador porque você não vai reservar tanta memória
espaçamento instantaneamente depois de apenas invocar algo assim. Você sabe, há apenas 4000 elementos de desconto, mas imagine que são milhares de milhões de elementos para passar. Isso vai levar muito tempo, e você não tem tempo para isso imediatamente. Não queremos que seu usuário passe tempo para algo assim no caso de usar o gerador. Seria muito rápido, certo? No caso de usar essas competições será lento e não ir. Agora mesmo. Darei um exemplo muito prático de que não podemos fazê-lo porque não sabemos como trabalhar com cinco, mas aprenderemos no futuro. Então imagine que você tem um arquivo de texto. Ok, isso consiste em mais de um terabytes fora de seus caras. Escolha a quantidade de dados, certo. E você quer carregar linhas desse fogo que começa com uma palavra, por exemplo, Sample. Quer guardar estas linhas de casaco no reboque? Outra luta. Ok, você não quer salvar essas linhas dentro do seu computador, mamãe ou no elevador? Porque levaria muito espaço do seu membro. Imagine tantos dados dentro do seu programa. Está bem? Por apenas a SEC de reescrever cumprindo todos os dados em outro incêndio. Se tivéssemos usado uma complicação de lista, você significaria carregar as linhas em um elevador. Tantos dados dentro dele são apenas para escrever os dados. Outro dedo do pé, outro direito de fogo é realmente desta vez uma razão para salvar tantos dados no reboque. Sua memória do computador, Você só quer passar os dados, fazer outro arquivo. Você não precisa dos dados na memória, certo? No caso, se tivéssemos usado gerar ou expressão, iríamos criar algo como um gerador logo depois. E isso nos permitiria gerar termos ruins em nossas linhas de caso a partir da direita fina que começa com amostra de prêmios. Então o gerador não manterá todas essas linhas dentro de uma memória para gerar apenas a linha quando exigimos dele. Então, por exemplo, no lope, certo. Então agora temos algo que geraria cada linha em mosca quando exigimos. Então, o que torna essa solução diferente? Bem, é importante notar que depois de salvar linhas usando gerador, não
teríamos acesso a elas. Animal. Quando
imprimimos os números usando o gerador,não
podemos mais acessar esses valores,
certo? Quando
imprimimos os números usando o gerador,não
podemos mais acessar esses valores,
certo? Quando
imprimimos os números usando o gerador, não
podemos mais acessar esses valores, Porque até mesmo o gerador de números não permite que você perceba algo assim. Certo? Então você não pode acessá-los. Geradores de Eso apenas geram uma linha. Mas se não o salvarmos em algum lugar como a menor complicação fez. Você não terá mais acesso a ele. Mas bem, no nosso caso é outra vantagem, certo? Bem, apesar de
tudo, queríamos isso porque fora do gerador, não
teremos em nossas memórias algo que não precisamos mais. Então, Então, Christina, usamos expressões geradoras quando os dados que queremos processar são grandes. É grande, certo? Como, por exemplo, naquele incêndio. E quando não precisamos de salvar dados processados pela expressão como, por exemplo, chave, certo? Mas só queríamos imprimi-lo. Por que você se importaria em salvá-lo? Verão? Nós não usamos expressão gerada quando precisamos de menos métodos. Quando você quer atores do dedo do pé cada uma das mulheres. De alguma forma, queremos fazer algumas operações em muitos lugares do nosso programa, como ,
por exemplo, conectar Glee etc. Certo, então depende da sua situação. Mas, por bem, , você sabe, eficiência para o bem de ter a menos que espaço reservado na memória. Se for possível, é melhor usar. Claro, o gerador. Há também uma coisa muito legal sobre os geradores. Existem algumas funções como, por exemplo, alguns onde você pode enviá-lo visitante gerador terrível. Cada vez que falamos sobre este futuro pensamento um pouco mais sobre quando você enviar aqui este para este alguns números mesmo gerador você faria em algo tem, como resultado, o alguns off. Talvez essa seja a tomada sob o comentário. Isso são coisas. Todas estas instruções. Acabamos de resumir todos esses valores instantaneamente. Tão legal, certo? Não precisávamos criar um ... ansioso por todos esses elementos. Nós só fizemos isso em uma linha. Isso é muito, muito poderoso. Então agora vá praticar e faça uma expressão de gerador que vamos escolher elementos que
virão do intervalo ou zero para, por exemplo, 500 e todos esses elementos devem ser levantados para o poder desligado para, e então você deseja provar que elementos. Certo, só
há a lição. Muito obrigado.
38. Comendas de dicionário: Olá, todo mundo. Hoje vamos falar sobre pretensões de dicionário, às vezes chamadas de fórmula de expressões. Então algum tipo de receita, algum tipo de padrão que pode criar para nós baseado no que está dentro de um dicionário. E dentro do vermelho, podemos colocar dados que konzi está desligado, por exemplo, strings e esses dados podem ser, por exemplo, um conjunto que podemos dar na compreensão do dicionário pelo menos, ou um dicionário. E podemos mudar dicionário em um dicionário com valores diferentes. Ou podemos mudar o laço para o vício árabe. Alguns, por exemplo, números
multiplicados. Ou podemos, por exemplo, definir para cada nome que comprimento fora de seu nome. Algo assim, certo? Bem, faça sozinho, não se preocupe. Então, como criar uma compreensão de dicionário? Fazemos da mesma maneira que fizemos essa compreensão, mas desta vez usamos os colchetes. Ok, então vamos, por exemplo, criar uma compreensão de dicionário chamada comprimento de nomes. Então, estávamos seguros aqui. Queremos fazer algo assim, são cardio, e eu quero ter um dedo livre para 56789 algo que eu quero um dicionário que será baseado no conjunto aqui com cada chave tendo o nome e como o valor que queremos ter o comprimento fora do nome, como fazê-lo. Bem, então a primeira coisa é, a diferença entre a menor compreensão e a compreensão do dicionário foi que usamos a quebra da Carol. Quebrá-lo aqui. E a segunda coisa é que agora não colocamos como a primeira coisa que queremos fazer com apenas valor. Mas precisamos fazer algo assim. Valor da chave. Ok, então o que você quer fazer com o rei e o volume? Então, isso está tudo aí. Não existem outras diferenças entre o lugar e a compreensão do dicionário. Certo. Fora do curso. Estes gerarão para nós. Casa de dicionário. Então, vamos pensar por um segundo. Acho que a melhor maneira de começar é sempre de onde queremos obter todos esses nomes, certo? Então procure por nós vamos pegar algo em nomes, certo? E agora devemos pensar no que lhe chamaríamos. Então, por exemplo, nós o chamamos direito de nome, porque pegamos nome de nomes, e eu devemos decidir o que queremos fazer com esse nome. Então, por exemplo, podemos dizer, um nome porque, bem, você quer Oh, veja seu nome. E depois queremos fazer algo que pensamos com o nome. Huh? Queremos ter um número, certo? Mas como tirar a terra de cada nome? Acho que devemos usar essa função Len assim. E eu quero você perto do módulo. Você notará que geramos nomes muito rápidos. Terra o dicionário, como você pode ver um fazer 345678 Grande. Então ele pode matizar contado. Quantos caracteres estão dentro de cada nome? Bastante rápido. E parece muito bom, certo? Você tem a maioria do tempo, você vê compreensão, e eles vão ficar assim. Mas não gosto do Senhor porque é difícil lê-lo. Mas quando você vê-lo assim, lembre-se de sempre começar a ler a partir do primeiro 4 olhar, ok, porque então você vai instantaneamente, onde você obtém os valores da direita? E então você vê o que você quer fazer com esses valores. E, claro, a coisa ruim é que a condição que você quer fazer nesses valores, certo? Porque você pode, Amit, certo. Você não precisa dar a opção do Ted aqui quando não queremos fazer uma condição. Então não precisamos escrever. Mas bem, nós podemos. Por que não? Podemos, Por
exemplo, verificar. Nós só podemos, por exemplo, mostrar nomes que vão começar a partir de um tem aqui. E depois assim aqui. Isso mesmo, por exemplo, um nome. E há um método que é chamado Começa com e nós apenas dar-lhe na, uh, letra que queremos dedo do pé. Toby começou com a Ofcourse
, pode ser premiado também, e outras coisas assim. Então, OK. E agora, como podem ver, escolhemos nomes Onley que começam com um e contamos. Quantos personagens estão dentro de um Vigen e um nome morto que é realmente poderoso, não é? Certo, vamos praticar um pouco mais de compreensão do dicionário. Então aqui temos números. Digamos que queremos multiplicar cada um dos números por si só. Então por que multiplicar por um é um multiplicar por 20 é de graça multiplicado por congelamento 94 multiplicado por 4 16 15 em intensifica mais de 36 no dso direito. Queremos multiplicá-los por si só e queremos ter como chave o primeiro valor. Certo? Então 123456 E como o seu valor para essa chave, queremos tê-lo. O número que é multiplicado por si mesmo. Ok, então como fazer isso? Queremos criar um dicionário. Então usamos o que uma compreensão de dicionário. Então use os colchetes. Agora precisamos de alguma forma chamar a variável que mantemos lá. Número. Então, por exemplo, números
mais d plied como. E agora o melhor é começar de onde tiramos esses números? Quatro. Cada número dentro dos números. Agora nós os pegamos. E agora queremos fazer algo bom. Então, como uma chave, queremos o número e queremos multiplicar o número por si só. O valor. Então número multiplicado por número. Queremos fazer uma condição agora? Então estávamos em torno do módulo, e como você pode ver, cremos que você quer integrado fora do curso. Bem, esses números são um atrás do outro. Então, com este caso, nós poderíamos usar, por exemplo, intervalo certo o intervalo de 1 a 7, e nós obteríamos o mesmo resultado Mas nós podemos aumentar estes
para, por exemplo, 500 certo? E agora vocês podem ver que multiplicamos números de um dedo, 499. Mas em si mesmo, certo? É muito poderoso. E é muito limpo, certo, coisas assim. Mas o que a escola enfraqueceu, por exemplo, Agora digamos que eu quero dedos têm números em Lee, por exemplo, que são maiores do que 30. E também números que são menores do que, por exemplo, uma Helen 20. Você pode fazer coisas assim. Tudo bem, Nisso, você pode ver que funciona bem. Claro, Em uma situação como essa, nós apenas digitar aqui torta e aqui 100 para 1. Só estou jogando isso para você. Você pode torná-los mais de uma condição, se você quiser. Peso morto. Certo. Ok, então nós apenas multiplicamos números. E agora temos uma situação. Temos Celsius. Algumas pessoas no mundo usaram a escala Celsius para medir a temperatura, mas algumas usam a escapada de altura estrangeira. Então imagine que você tem algo como aquele dicionário que vem é fora da medida. Temperatura um menos 20. Temperaturas a 15. E assim e você tem alguns caras que querem esses valores em escala Fahrenheit. Então normalmente você provavelmente iria para as quatro mudanças Lubin do volume. Mas por que se preocupar em fazer algo assim quando você tem uma compreensão de dicionário, certo? Podemos fazer algo como,
por exemplo, por exemplo, longe e nos esconder e agora é igual a isso. E agora não queremos o que pensar daqui, certo? Devemos começar a pegar as coisas de algum lugar Então quatro h e agora devemos digitar por exemplo chave e, em seguida, a juventude do Sul dentro da cela vê itens. Agora, o que não fizemos, gostaria de lembrá-los bem, itens retornam, como podem ver, os retornos caem assim e gostaria de lembrá-los que quando você tem uma
casa de topo você pode facilmente nomear cada um dos valores à vista Ofuls para cada iteração. Então, para cada vez que a procura passa pelos itens certos e nomeamos então a chave para a da Celsius para menos 20. E na próxima rodada, quando o loop for para esses itens, a chave será Tito e os Celtics serão menos 15. Certo? Então foi assim que fomos a todos esses macacos de valores. E agora precisamos dizer o que você quer fazer com ele. Acho que não devemos fazer nada com o rei,
mas precisamos mudar Celsius para Fahrenheit. Acho que não devemos fazer nada com o rei, Como fazer isso? Bem, se você não sabe como programador, você deve sempre usar o Google. É muito importante para você entender que eu não me lembro como mudar, por exemplo , Fahrenheit para Celsius porque eles não fazem isso normal em cada dia. Certo? Então você, como programador, deve muitas vezes usar o Google Quando você não sabe algo, você realmente tem quase todas as perguntas respondidas. Então, como fazer isso? Queremos mudar as células. Anos até a altura estrangeira, duas alturas estrangeiras, certo? E quando
pegarmos você, veremos que aqui está um parceiro de fórmula, como fazê-lo. Então precisamos de alguma forma obter aquela temperatura Celsius, multiplicá-la por nove, dividida por cinco e art. 32. Então vamos fazer isso. Não vamos Celsius. Queremos multiplicá-lo por nove dividido por cinco e, em seguida, queremos a arte 32. E agora, quando você executa o módulo, você percebe que temos um dicionário consistindo nas temperaturas em Foreign Heights K em vez das mais salgadas. É muito poderoso, não é? Está bem. E bem, aqui está um problema. Podíamos ouvir nove divididos por cinco de cada vez. Quando mudarmos que vende é para o Fahrenheit. É um computador precisa dividir nove dividido por cinco. Eu acho que é melhor dar o resultado disso. Então 1.8. Porque o quê? Esse é o seu computador não é muito sincero de cada vez. Certo? Então fontes multiplicadas por um ponto, e como você pode ver ah, eles disseram que você pode contar assim ou assim, e o resultado será o mesmo. Provavelmente andará um pouco mais rápido, certo? Bem, talvez não para alguns números como aqui. Nem eu imaginei isso para dar milhares agora. Imagine isso. Você quer obter,
por exemplo, por exemplo, temperaturas que são maiores do que menos Stan e inferiores a 20? Portanto, queremos escolher o comprador de intenção livre de temperatura para como fazê-lo. Bem, podemos fazer algo assim. Se o Celsius for maior que o Afeganistão e se Celsius for inferior a 20 então será escolhido. E agora, como você pode ver, nós temos um T livre anti para a direita. E também é que a temperatura foi mudada para altura estrangeira também. Ok, como na prática, eu gostaria que você fizesse todas essas pretensões de dicionário novamente por conta própria. Estamos procurando, não
sei, na palestra. Isso é uma coisa. E a segunda coisa Mm. Mude Fahrenheit em Celsius. Está bem. Faça dicionário de altura estrangeira e encontrar na internet como mudar a altura estrangeira, fazer Celsius e fazê-lo dentro da compreensão do dicionário. Ok, há uma pequena lição. Muito obrigado.
39. Set: e mais, mas que eles iriam aprender sobre a compreensão dos conjuntos. E funciona muito semelhante às luzes, compreensão e comparação de dicionário mencionar desta vez vamos criar uma expressão que irá criar para nós um conjunto baseado em algo que nós damos. Faça isso dito compreensão. Então, por exemplo, podemos dar seus nomes como esse ativo e queremos capitalizar. Então queremos ampliar as primeiras letras de cada nome porque,
bem, bem, imagine que esses dados foram tirados de usuários e alguns deles não, você sabe, levar em consideração o quão bem os nomes devem ser colocados na forma. Eles só usam a letra pequena no início. Certo? E as cordas às vezes começam com o caractere pequeno. Então queremos o dedo do pé. Certifique-se de que cada personagem começa com o grande com letra grande. OK, então como fazer isso? Bem, nós não vamos criar um conjunto de compreensão porque nós só queremos mudar este cenário também. Outro disse que temos a primeira letra maiúscula. Então, a primeira coisa que fazemos sempre, devemos o quê? Diga o que iríamos pegar os valores do nome até agora em nomes, certo? E então precisamos dizer, o que você quer fazer com esse nome? Então os nomes nomeiam essa cópia. Aliados. Há uma função que nós apenas fazer o trabalho para nós para que ele vai aumentar o primeiro personagem . E, bem, isso é tudo. Somos apenas um sinal. Os novos valores para o mesmo disse que não tínhamos Quando o Irã o módulo em que fazemos algo assim. Como você pode ver, cada primeiro caractere de cada palavra é grande. Então funciona da mesma forma, como a compreensão dos piolhos, como a compreensão do dicionário. Mas desta vez vamos ter o dito devolvido. E, a fim de criar uma compreensão de conjunto, você precisa usar os colchetes como o caso do dicionário. Mas desta vez você não usa o pente. Ele está certo. Então, se você usar uma coluna de E primeiro valor será uma chave, eo segundo valor será um valor para a chave, certo? E, claro, você pode usar as convenções e como um exercício, tentar apenas ah, ter os nomes que começa com a letra A. Ok, então extrair apenas nomes que começam com a letra Aris eso. No nosso caso, serão as nossas Kardashian e Agnes. Certo, lá durante a aula. Muito obrigado.
40. EXERCÍCIOS: como encontrar os números que são divisível em 7, mas não não são de visualização por 5: Ter todo mundo. É hora de praticar. Teríamos deixado tentar fazer este exercício sozinho. Se você não sabe dançar, eles me dão números de 2 a 470. E esses números devem ser divisíveis por sete, mas não podem ser divisíveis por cinco. Então, Bob fora desta condição deve ser atendido ao mesmo tempo. E aqui está uma dica do dedo do pé que você deve usar. E você também deve pensar por um segundo. Qual fora? Essa coisa que você deve usar se você usar gerando expressão. Eles devem usar menos compreensão, definir compreensão ou talvez compreensão dicionário e pensar por um segundo sobre isso, em
seguida, fazer anotações e pensar por um segundo é a resposta ao banho Pergunta. Sempre a mesma coisa, não é? Certo, então precisamos achar números de 2 a 470. Eu acho que encontrar números muito fácil podemos apenas usar a função certa, e então podemos colocar como o primeiro Volume dois e, em seguida, 406 71. Lembre-se que precisamos adicionar um aqui. Esse argumento aqui porque bem, caso contrário não teremos 470 gerados. Certo? Ok, ok, então devemos escolher entre números que não podem ser gerados aqui. Aquele que são divisíveis por sete. O que isso significa? Que o número é divisível por sete? Significa que é um humor. Pessoas com sete ou não significa 7 14 2128 35 para 2 a 49. 56 tão certo. Esses caras são divisíveis por sete. Por quê? Porque quando você divide sete por sete, é igual dedo um. Não há remanescente, certo? Não há descanso. Quando você divide sete por sete, direita, 14 por dividido por sete, é também. Não há resto, não há descanso, certo? Não sobrou nada. Está bem. Números que não são divisíveis por 75 10 15 2025 30 35 40 45 50 55 Vejamos estes números 35 35. Então precisamos de alguma forma excluir 35 daqui porque 35 é o visível por sete. Mas também é divisível por cinco. Ao mesmo tempo, devemos excluí-lo porque não queremos números que são divisíveis por cinco. Certo, então precisamos fazer as condições, isso é certo. Eles precisam ser atendidos ao mesmo tempo. OK, mas como vamos verificar se algo é divisível por sete Ordem sete Modo sete. Certo. Usamos o módulo operador sete Módulo sete é zero 14. modelo sete é o herói 21 módulo 70 28. Módulo sete é igual a zero. Vamos apenas, talvez, sinal de igualdade. Não é a ciência que eu vi assim. Você vê um padrão aqui? Bem, cada número que é divisível por sete nos dará como resultado dos
operadores de módulo aqui. Ok, mas precisamos também de alguma forma excluir números que são divisíveis por cinco. Então devemos ver 10 a 5 volts. Sete também é igual toe zero, mas 35 mês cinco é igual toe também lá. Então, a qualquer momento, quando o resultado fora da operação, quando você tem um lado esquerdo, um número à direita. Certo? Então você tem cinco e dentro você tem módulo e o resultado zero. Deveríamos remover um caso assim, certo? Devemos remover o número assim porque queremos remover todos os 35 imediatamente. Porque bem, outros números estão bem, certo? Ir sete é o que divisível por sete, mas devemos remover. Os números não são divisíveis por cinco. Certo? Os únicos 35 anos a serem removidos. Você tem algo como 14 mais cinco. Vai ser igual para a direita. Então não é igual a zero, certo? Vamos remover apenas casos em que temos condições como essa. Então precisamos forçá-lo a fazer algo que se número com alguns escolher o número. Mas eu número em mais. Jewell sete é igual a zero. Certo? E ao mesmo tempo, se o módulo número cinco não for igual a zero, precisamos ter ambos fora desta condição atendidos ao mesmo tempo. E então não podemos escolher o que queremos. Ok? Mm. Mas não vai gerar esses números de alguma forma, certo? Porque vai usar essas condições em alguma coisa. Então, o que eles usavam? Expressão do gerador. Essas compreensões disseram a compreensão ou talvez a compreensão do dicionário. Vamos começar a partir do gerador expressão gerada Bem dar-lhe uma chance de gerá-lo. Número gerado quando exigimos gerados para fazê-lo direito. Então, quando acessamos por causa dele, cada um dos números não vai ocupar espaço instantaneamente em nossa memória. Então, se quisermos reescrever números. Por exemplo, mais cinco ou queremos apenas mostrar-lhes OK sobre os. Claro, isso é uma boa idéia, porque você quer conhecer tempos Manimal. Então às vezes precisamos salvá-lo no caminho. Certo. Essa compreensão vai nos dar no Ballmer fora de ser capaz de atores, cada um fora do dilema. E então também, nós vamos ser capazes Teoh, por exemplo, mudar limões, mudar valores nós podemos alguns valores, certo? Podemos em algo substrato, algo a partir desses valores, o que quisermos e também lista ter todos os valores ordenados. Certo? Então, se nós os gerarmos nessa ordem, quando vamos mostrá-los, eles serão da mesma maneira ordenada. Está bem. Disse compreensão é também poderia legal opção. Porque depende da nossa situação. Talvez tenhamos em nosso programa números de ameaça como esse, certo? Nós temos, por exemplo ah, em nosso programa, muitos contêineres segurando números e todos eles são definidos. E agora adicionamos mais um de algo assim, certo? E o que não podemos fazer em breve e queremos, por exemplo, conectá-los corretamente. Queremos alguns ou,
por exemplo, por exemplo, fazer uma conjunção com outros conjuntos. Compreensão é boa, certo? Mas os Maias estão tão bem, os números serão ordenados. Tudo bem. Não podemos manter nossa compreensão do dicionário de inserção de ordem, eu acho que no nosso caso é apenas uma má idéia porque nós não comemos em uma chave, certo? Então, como você pode ver é a resposta para impedir a pergunta. Sempre a mesma coisa. Não. Depende da sua situação. Isso é, por exemplo, notícia, primeira expressão do gerador. Então, esta noite, números. Então, primeiro lugar, eu apenas coloquei dentro dele porque eu não quero me concentrar no que acontece com nossos números, mas eu quero primeiro pensar, onde nós escolhemos números de então quer escolher números de intervalo. Então, para o número, alcance o que queremos fazer, fazer com os números. O que? Não queremos fazer nada além de dizer. Então nós escolhemos agora todos os números possíveis de 2 a 470. Mas queremos fazer condições. O que é copiar estas condições aqui? Não vamos trazê-los para fora. Então o número de telefone em números traz cada número e, uh, ligue. Como você pode ver, ele funciona bem porque você tem 7 14 2128 35 foi removido. Certo. Quando fazemos algo assim, você notaria que temos um 35, certo? Certo. Então esta condição funciona bem. Acabamos de remover cada número que este divisível por cinco. Tudo bem, então acabamos de resolver o problema. E agora nós pensamos por um segundo sobre isso gerado nesta compreensão dito no dicionário. Então usamos um gerador. Nós só escolhemos Numbers. Sim, está tudo bem. Está tudo bem. Certo? Mas lembre-se quando eles usaram essa compreensão do Bommel é que Bem, eu quero fazer algo assim. Você percebe que cada número é quando nós vamos fazer a partir daqui é um após o outro. Temos todos os seus valores ordenados, mente e bem, não
nos importamos com a ordem e usamos a compreensão do conjunto. Então, fazemos algo assim. Você não está, está bem? Os números são colocados aleatoriamente aqui, mas o legal é que podemos fazer algumas operações. Como, por exemplo, não
podemos fazer o sindicato com outro disse algo tão certo,
então depende da situação que você tem. Certo, isso é só uma lição. Muito obrigado.
41. Como criar uma função? Quais as funções de problema resolve?: O inferno sobre isso. Hoje vamos falar sobre como criar sua própria função. Já conhecemos as funções da água. Eles são um tipo desligado chamado Dido. Você pode agir como sempre que quiser para obter o resultado que quiser, certo? Temos uma função que isso poderia imprimir Você remetente um argumento e você obtém os resultados como o impresso na cadeia shell. Falamos sobre as outras funções. Como, por exemplo, funções
de classificação. Certo. Então, já usamos funções muitas vezes, mas não aprendemos como criá-las. Olhe para a situação que temos. Bom. Agora aqui. Olá. Trabalho argumenta bem-vindo no meu programa. Olá, actores. Bem-vindo meu programa realizado em seu programa de boas-vindas. Então repetimos três vezes essa frase quase a mesma. Certo? Mas há uma diferença aqui, não é? Poderíamos usar uma função que fizesse isso por nós. Imagine que faríamos algo assim. Mensagem de boas-vindas. E lá vamos enviar, por exemplo, são cortados direito e gostaríamos como resultado prazo, certo. Quando fazemos algo assim,
gostaríamos como resultado dias pensar quando fazemos algo assim, queremos como resultado, provando direito. Então queremos de alguma forma definir uma função com um nome como esse. E quando enviamos uma discussão como essa, você quer um resultado como esse? Então função é ter um papel escreve bem, papel é uma função direita. Resolve o problema. E este problema é resolvido dentro do corpo off função escreve o fundo. Significa que dentro da função. Ok, então nós devemos fazer nomes fora da função auto-descritivo. Quando você olha para eles para a descrição, que é um nome, você vê instantaneamente o que ele faz, certo? OK, mas como criar multa realizada tem função? Bem, digitamos uma palavra. Morte. A morte é um atalho de definição, certo? Então criamos uma definição para função. Então devemos ter um nome de função. Então, no nosso caso, ele tem que vai ser mensagem de trabalho, e então o pai é, em seguida, é o cone e, em seguida, o corpo off função incomodado. Significa o conteúdo da função. Como podem ver, temos aqui um pouco de espaço. É isso? Quando você faz um recuo, significa que Ah, bem, você vai definir o que pertence à função Então, por exemplo, vamos dizer teste por enquanto assim. Então não vamos usar os nossos Cardio Dragons e Dani e vamos ver o que acontece. Como você pode ver, não está funcionando porque bem, esperamos argumentos. Mensagem de boas-vindas. Leva zero argumentos posicionais, mas um foi dado. Demos aqui um argumento, mas não marcamos direito. Então precisamos de alguma forma proteger o uso do cartão r aqui. E fazemos isso
declarando, definindo um parâmetro que você digita como esse parâmetro, e é apenas uma variável simples que pode conter o nome. Então enviamos argumentos aqui e agora
criamos uma variável que manterá esse nome aqui,
certo? uma variável que manterá esse nome aqui, E agora podemos muito em torno do módulo em. Como você pode ver, nós imprimimos no teste nove vezes, 12 grátis, e nós invocamos sua função três vezes. Então imprimimos nove vezes, certo? O teste e não há casacos Arkady e outras coisas porque, bem, nós não usamos o parâmetro aqui, certo? Então é hora de usá-lo seco Como fazê-lo. Bem, vamos, por exemplo, fazer algo assim traz nome e agora vamos analisar o molde. Tens as tuas coisas da Agnes. Tudo funciona bem. A questão é como fazer com que pareça assim. É apenas algo assim. Vamos mantê-lo aqui e agora algo assim. Certo. Então, como funciona? Quando invocamos uma função invocando função, queremos dizer chamar para casa a função ou executar a função ou iniciou a função? Certo, isso significa que está envolvido. Então, quando invocamos uma função para quando digitamos o nome da função e, em seguida, os parênteses e, em seguida, o argumento que
enviamos, saltamos iniciar a função. Então executamos todas as instruções que estão dentro da função do corpo. No nosso caso, é apenas uma impressão de instrução e traz olá como ele leva o valor do parâmetro que este ano e para uma questão é agora porque enviamos um argumento são cartão uso Aqui. Dedo igual são cartas. Então olá são bem-vindos Qadoos no meu programa. E então o programa volta. Onde? Aqui. Então este lugar. Mas podemos fazer isso porque não precisamos mais dele. Podemos rodar o módulo. E como podem ver as boas-vindas de Heller Carter no meu programa, tudo funciona. Assine como se quiséssemos. Você, vamos lá. Olá, Nossa Kardashian. Bem-vindo ao meu programa. Ok, então quais são os benefícios de fazer isso assim? Bem, agora, quando queremos mudar algo aqui na mensagem de trabalho, só
fazemos isso em um só lugar. Certo? Acabamos de adicionar um ponto de exclamação. Isso é tudo. Podemos rodar o módulo. Ei, aqui está um ponto de exclamação extra adicionado dedo do pé cada um fora do nome. Normalmente, quando tivemos uma situação como essa, precisaria fazer isso aqui e aqui. Aqui, certo? Não é bom. Quando precisamos fazer isso, qualquer coisa é manualmente. Bem, preguiçoso. Onde? Programadores? Certo, então não precisamos nos repetir quando queremos mudar algo certo e ajudar. Às vezes seria quase impossível. Toe mudar tudo porque Bem, imagine que sua função foi usada por milhares de pessoas fora do curso. Isso também pode levar a problemas porque, bem, você não deve mudar para margem de sua função. Eso funciona totalmente diferente, certo? Porque todos os que usam bem a sua função esperavam trabalhar como ela é. Só para você saber, você pode mudar algo, mas não vamos exagerar. Mas se você está programando para você também. Certo? Então você pode facilmente mudá-lo em mudar algo em um só lugar, e vai mudar em todos os lugares onde você envolveu a função, aquele ouro. Então é muito, muito mesmo. A segunda coisa é que você não precisa escrever o mesmo frio novamente, novamente e novamente. Bem, agora, aqui está. Uma chamada curta logo no início, correndo uma coisa. Mas imagine que temos aqui, sabe, algo assim. É uma grande função, e você precisa repetir esses objetivos, tipo, 15 vezes em seu programa. Uma coisa é que a escritura pareceria bastante complexa, e nós tivemos que, você sabe, não é nada que na segunda coisa, você precisa repetir novamente. E se você tivesse que mudar alguma coisa? Será horrível, certo? As funções vão resolver o problema, você sabe, repetindo o código. Então, se você sentir que você repetir o código, provavelmente é hora de usar uma função ou talvez um olhar. Certo? Ok. Poderíamos usar um olhar para, por exemplo, envolver uma mensagem de boas-vindas algumas vezes, certo? Os direitos, por exemplo, Como que para cada nome em, por exemplo, nomes. Vamos criar um aluguel de nomes, nossos agonistas prato de carro. E então você gosta disso. Não envolvemos apenas uma mensagem de boas-vindas. E mandaremos um nome. Como, por exemplo, isso Oh, claro. Vá. Helicópteros trabalhando ininterruptos. Olá, Hawkins, enfraquece! Labour Herald está trabalhando no meu programa. Ótimo, certo? Então, agora mesmo. Bem, poderíamos pesar assim. Além disso, Bob, o problema é que o resultado é o mesmo. Bob, você precisa olhar aqui. O que faz, certo? O que faz essa instrução aqui? Você tem um nome? Mensagem de boas-vindas. Ok, então é algum tipo de trabalho fora da mensagem que é universal. E quando o mudarmos, vai mudar todos os outros lugares onde nos envolvemos, certo? Porque, bem, por
isso que fizemos assim. A polícia lembra que não podemos programar mais você. Teríamos que comer outro lugar, e então precisaremos mudar de novo. Se pudermos mudar algo, precisamos mudá-lo em todos os lugares possíveis. Certo? Então, funciona assim torná-lo possível, dedo do pé reutilizar o seu casaco quantas vezes você quiser. E além disso,
este código é mais limpo, certo? Deixa o teu casaco mais aguçado. Você instantaneamente Seaworld faz isso? Lembre-se sempre nomear suas funções dessa maneira. Então eles são auto-descritivos. O que significa que quando você olha para o nome, você vê instantaneamente o que ele faz. É muito importante. Sei que me repeti muitas, muitas vezes, mas é muito importante. Certo, isso é só uma lição. Obrigado, muito
42. Como passar mais de um argumento com vários parâmetros: Olá, todo mundo. Na última palestra, aprendemos como criar uma função. Mas não sabemos como passar mais de um argumento para a função. Como criar uma função com vários parâmetros antes de fazermos isso. Imagine um problema como esse. Queremos contar a área fora do pendente grego, tem que vir em torno da área do retângulo onde tínhamos o tamanho de ambos os lados fora do retorno. Certo. Então lado um e lado, também. E nós só precisamos multiplicar lado a lado, também. E isso vai nos dar esse resultado, a área do retângulo. Então precisamos de parâmetros na função que vai contar a área do retângulo. Certo, então vamos definir . O nome fora do nome da função deve ser auto-descritivo, Então eu acho que devemos chamá-lo de retângulo de área. Logo depois disso, abrimos a doença dos pais, chamada de parênteses, e então tivemos o cone e dentro dos parênteses, devemos definir os parâmetros para criar mais de um parâmetro. Precisamos usar o sinal deles assim. Certo, então aqui vamos digitar o lado um, e depois o lado. Então, se você quiser ter mais de um parâmetro, vamos apenas adicionar outro sinal como esse e quantos você quiser. Mas o que precisamos em dois lados, duas latas área Rick Tango. Por isso, não podemos deixá-lo assim. Você poderia chamar a bebida do ovário também assim, certo? Depende de você o que você quer usar. Mas eu acho que os nomes devem sempre ser auto-descritivos em caso de operações fora da marca como essa que você pode facilmente usar A e B porque, bem, normal. Quando você aprende máfia, você chama o site fora do Rick balançar um no segundo lado do retângulo sendo que isso é a coisa comum a fazer, certo? Talvez A e B sejam uma boa ideia para esse caso, mas usaremos o lado de dentro. Então agora precisamos contar de alguma forma a área cada tanque também vai multiplicar o lado um por tamanho dois direito. E isso é muito bom, isso parece se quisermos nos envolver. Se quisermos envolver a área de retorno, precisamos usar o nome da função eso área off Rick tango, e então precisamos enviar os argumentos. Então, por exemplo, dedo do pé E assim a partir daqui nós pulamos aqui. Nós designamos para o lado um Teoh para o local para oito e então multiplicamos dois por oito e é igual a 60. Mas quando sob o módulo você notará que, como resultado, não
temos nada. Por quê? Porque bem, nós multiplicamos esses valores e fizemos isso corretamente e o resultado é que 16 corpos seriam
assim . Então são 16 Ys mandíbulas como no espaço, certo? Não foi atribuído com nada. Não foi devolvido. Não foi. Traga-o assim aqui. Então, se você quiser mostrá-lo, precisamos, por exemplo, imprimir. Há outras maneiras, Teoh, mostre. Mas vamos falar sobre isso na próxima palestra para que possamos imprimir em torno do módulo. E como podem ver agora, temos, como resultado, 60. Você precisa sempre se lembrar de ter a mesma quantidade fora argumentos enviados para a função como há questões de poder definidas aqui. Então nós temos aqui para, e se nós não gostamos disso, nós vamos agora ter um estreito como esse eu. Acho que um dos argumentos posicionais exigiu que enviássemos um segundo argumento, que não está aqui. Então temos uma direita estreita. Então, sempre a mesma quantidade fora do argumento como parâmetros, e eles devem estar na mesma ordem. Certo? Assim também, vai ser um lado perfumado. Um oito vai ser atribuído ao lado para fazer na mesma ordem. Os argumentos são passados. Eles são um santo. Como o tamanho da Alexis. Eu gostaria que você fizesse uma função que nós não podemos a área fora do triângulo. OK, isso é só uma lição. Muito obrigado. E como sempre, se tiver alguma dúvida, sinta-se livre para quê?
43. Valores de retorno no de de retorno no: Olá, verbo. Qualquer um. Na última palestra, criamos um problema. Que problema você pergunta? Não é que nesta linha nós trazemos o resultado fora do retângulo de área e eles não sabem como usar esse valor em nosso programa. Não é que poderíamos ter, por exemplo, cinco retângulos que são muito semelhantes. E queremos contá-lo de alguma forma muito rápido. Então, não mais. Faremos algo assim. Provavelmente certo. Cinco multiplicados pelo algo que deveria estar aqui. O que aconteceria quando o fizéssemos? Como pode ver, temos outro. Podemos ver que é 24 para multiplicado por seis. Certo. Então temos o valor. Traga-o daqui. Mas não podemos multiplicar 24 por cinco aqui. Por quê? Porque aqui temos algo com esse tipo frio e não. Este é um inteiro e não podemos multiplicar algo. Bem, este inteiro comprar algo com não é nenhum. O que não existe? Eu algo que este vazio vazio O que exatamente acontece aqui quando você invoca uma função. Então, quando você digita o nome da função e você envia argumentos para uma função, você pula para a definição que você atribui valores dois parâmetros e, em seguida, você executar seções e, em seguida, você faz algo. O que é chamado de retorno você retorna e como o nome sugere, isso significa que você retorna para o lugar onde a função estava envolvida. Então, o pé deste lugar e por padrão aqui é algo assim. Leia Return E isso significa que quando você não faz nada depois da palavra-chave de retorno
significa que você não retorna nada. Tipo Denon. Então seria algo assim. Cinco multiplicados por nenhum ganhando em torno do módulo. Como podem ver, temos a mesma flecha aqui. Então essa coisa, o que fizemos aqui é o mesmo que se fizéssemos assim, certo? Ainda assim, totalmente a mesma coisa. Então, como podemos mudá-lo? Como podemos retornar um valor aqui? Podemos, em vez de escrever impressão aqui podemos escrever algo assim e agora podemos usar isso. O resultado como um volume cinco multiplicado por 24 é 120. É muito legal porque agora podemos facilmente usar nossa função quantas vezes você quiser. E podemos, por exemplo, multiplicar o valor que será retornado por outro valor certo, então é melhor do que imprimir a função de insider volume. Além disso, agora
você pode escrever, por exemplo, aqui algo assim. Essa área fora do Rick Tango é a chamada, e você pode fazer algo assim, certo? E recebemos uma mensagem assim. Nós também poderíamos, você sabe, fazer aqui que eu imprimi. Mas o problema é que se fizéssemos isso assim,
ficaríamos presos com essa mensagem. Mas o problema é que se fizéssemos isso assim, Toda vez que você envolvia retângulo área e o outro fora de seu amigo que vai usar sua função, ele precisaria usar a mesma mensagem. Na situação da vida real. Nós mais quero algo diferente na mensagem, certo? Gostaríamos de escrever algo na área de retorno. Ir Qual o primeiro lado é igual dedo do pé e o segundo lado é igual. O dedo do pé é igual a algo assim. Alguém pode querer mostrar isso assim. E se você é uma mensagem impressa aqui, então isso vai levar a um problema. Claro, uma função vai imprimir coisas. Está tudo bem, certo? Mas se uma função é uma função que deve contar algo geralmente evite usar a impressão dentro da definição Ok. A coisa legal de também ter algo como Deus é o tempo. Podemos, por exemplo, salvar o valor. O resultado em outra variável, certo? Você pode dizer alguma coisa. Área. Rick Tangle. Obrigado. Exemplo sendo certo. Cada retângulo sendo algo assim. E agora podemos mostrar, por exemplo, em como, nenhum Sambolin vai dividir por sete. Qualquer onda que você possa ver funciona bem. O que é mais, você poderia ser usado, por exemplo, um lope que iria criar homens Eric Tangos com base nos valores que você tem a partir dos cinco, por exemplo, e inseri-los na lista. Bem, é poderoso, certo? E você poderia usar Ela tem esta função para mortos por isso seria rankles mais limpos Use uma função-los tão instantaneamente Veja o que você está fazendo e você poderia gerar
homens de Maenner Holliman e tango fraco Zeman área três tangos muito longe. Há mais uma coisa que a função de retorno condole e é
realmente, muito importante. Ele pode sair da função a qualquer momento que você quiser. O que isso significa? Vamos sair da função que fomos chamados, por exemplo dividir para que ele iria dividir dois números, por exemplo, A e B e nós apenas retornamos instantaneamente. A desafiado por B Então, quando fazemos algo assim, trazer dividir e enviamos para ele 20. E então, por exemplo, 10. Vamos começar como resultado, vamos levar esta coisa abaixo para comentar. Mas quando fazemos algo assim 20 dividido por zero, teremos uma divisão estreita por zero porque, bem, podemos dividir por zero. Certo? E nós poderíamos informar sobre isso de alguma forma aqui. E nós poderíamos saber, não
poderíamos devolver essa coisa. Poderíamos fazer isso de duas maneiras diferentes. Poderíamos fazer algo assim. Se B é igual a zero, então poderíamos, por exemplo, não
escrever nada. Caso contrário, devolverei esta coisa. Mas com o conhecimento que retorno significa grande saída da função. Nós não precisamos digitar mais aqui porque quando o computador atende a instrução de retorno, ele vai voltar para o lugar onde a função foi invocada. Instantaneamente. Ele vai saltar daqui para aqui. Ele irá substituir todo o conteúdo aqui. Ok, então podemos apenas retornar, por exemplo, nenhum aqui. Caso contrário, vamos retornar o A dividido por ser porque cólon e como você pode ver, nós não temos nenhum aqui. E bem, podemos usar esse fato porque precisamos saber que nenhum é realmente lógico, uh, uma afirmação completa. Então podemos fazer algo que se tudo correr bem, então vamos trazer os números. Estamos divididos corretamente,
caso contrário, podemos ser amigos da divisão por zero. Como podem ver, divisão por zero é mostrada porque voltamos aqui. Nenhum, certo? 20 é passado aqui. Zero é passado aqui. B é igual a zero. Então volte pulando aqui. E isso é substituído por isso. Se nenhum, os números foram divididos corretamente. Não, porque os indicados são falsos. Vamos ver a divisão por zero? Se quisesse usar o valor daqui, poderíamos fazer algo assim. Como você pode ver, Divisão por zero. Mas se tudo estiver bem, os números foram divididos corretamente. Seu resultado é igual a quatro. Você pode estar pensando em quem poderíamos tirar a digital aqui, certo? Sim. Talvez seja uma boa idéia sobre se alguém gostaria de ter uma mensagem diferente em alguns lugares do que seria. Poderia levar o problema a menos que você superasse se eu, como bosta, humano. O que seria a Arábia, então? Ok, tudo bem, porque você dá a opção de mudar a mensagem. Ok? Mas caso contrário, tente contar algo, retornar os valores, e isso é tudo. Ok, então lembre-se, toda vez que você envolve uma função, você pula para o lugar onde a função é definida. Você atribuiu os valores que foram enviados, seus argumentos para os parâmetros e, em seguida, você executar todas as instruções não são. Se a declaração de retorno, este mapa, se a declaração de retorno não for mostrada, então mesmo que não esteja lá, o tipo não será devolvido agora será retido. E sempre quando a função executa tudo, essas coisas, esse nome da função, a doença pai com os argumentos dentro serão substituídas pelo valor que foi o resultado. Então, no nosso caso, por exemplo, 24 fora ou fora do curso, nenhum, certo. Se não havia nenhuma declaração de retorno ou declaração de retorno, waas em branco direito quando não há nada após a declaração do leitor até agora. E aqui estava, eu acho, 48 direita, então foi substituído. É muito importante para que você possa reutilizar esses valores em seu programa. Você pode usá-los luz. Ok, isso é só ouvir
44. Seus próprios módulos importados: Olá, todo mundo. Na última palestra, eu disse-te para fazeres algumas funções. A verdade pode área quadrada retângulo, círculo, triângulo e trapézio. Então aqui está uma solução para este problema, e nós colocamos dentro, figuras que p w cinco e esta luta é chamada e módulo módulo é um fogo com um culto do outro modo, você pode pensar sobre módulo. O módulo significa que é algo como um elemento que pode ser usado como uma parte fora de outro. Não, eu quis dizer ou ele pode ser usado como uma parte de algo maior para que ele possa ser usado como parte de, por exemplo, biblioteca. Então um módulo, ou talvez mais de um módulo que ele é e biblioteca biblioteca. Porque a biblioteca é um conjunto de ferramentas ferramentas como, por exemplo, martelo direito. Você pode usar o dedo do pé do Hamel, enfiar as unhas no tabuleiro aqui mesmo. Você tem ferramentas como área de quadrado. Você não precisa pensar sobre como contar a área. Oscar, você só usa essa área de ferramentas fora do quadrado para contar a área de um retângulo por vir. A área de um retângulo. Você não precisa se lembrar de como fazê-lo. Basta usar o nome da função, por isso é útil. É útil. Então, um módulo é uma parte que pode se tornar essa parte fora de algo maior susto. No nosso caso, é uma parte do revestimento que pode conectá-lo a outros módulos, por exemplo, como fazê-lo. E por que fazemos isso? Até agora, nós tê-los que existem dois tipos de módulos. Um tipo que aprendemos. Chama-se “Pipe on Standard Library”. Então temos aqui módulos que poderíamos importar direito. Estávamos falando sobre como importar este módulo, e foi bastante simples. Poderíamos apenas digitar a importação e depois o nome do módulo, isso é tudo. E poderíamos usá-los. Há também algo vai descobrir módulos externos que você pode encontrar aqui. Vamos falar sobre fazer o futuro e, finalmente, módulos que podem ser criados por nós, como esse e como usar módulos que são criados por nós. Bem, vamos imaginar que queremos criar outro módulo. Vamos abrir um cofre. É, por exemplo, programa
principal como que não há, é que se queremos importar do programa principal, por exemplo, figuras devemos pensar em colocá-los na mesma pasta. E agora, a
fim de usar o modelo de figuras, nós não o digitamos. Importar os números, e isso é tudo. Quando você ao redor desses módulos, você já pode usá-lo aqui, como como nós podemos apenas digitar figuras que controlam mais espaço. E temos bons até mesmo Haynes sobre isso fora da função que podemos usar. Por exemplo, eu quero contrariar cada cereal fora, e eu vou puxado aqui o uso vermelho como, por exemplo, para e agora eu só preciso apertar enter. E como você pode ver, eu tenho um resultado de alguns anos área de Rick mergulhou fora quadrado, por exemplo, para não multiplicar por para sua fazenda. Tudo funciona bem, então podemos facilmente usar qualquer fora da função destes modelo eram importantes para o nosso programa
principal, certo? O legal é, agora que quando outros programadores podem usar nosso módulo de figura, certo, então nós criamos algo vai descobrir a biblioteca certo? Um pequeno, porque ele consiste apenas em uma biblioteca de módulos. A maior parte do tempo consiste em um módulo importante, certo? Moderados como parceiros. Eu disse que você fazia parte de algo maior na maioria das vezes. Então, hum, nós temos aqui números de importação. E podemos, por exemplo, fazer um programa que permitirá ao usuário escolher qual área fora da figura você quer contar, certo? Ele foi à medida. Então, por exemplo, isso quer dizer entrada de judeus de vôo. E agora vamos perguntar que área de figura você quer medir. E agora vou te mostrar algo legal. Quando fazemos algo assim dentro da função de entrada da função cerebral podemos adicionar entra aqui sem problemas, e eles serão interpretados. Não
é como se tivéssemos feito um comentário aqui,
certo? Não
é como se tivéssemos feito um comentário aqui, Comentário recusado. Mas é como um texto de várias linhas dentro da função anterior. A unidade útil porque não precisamos do dedo agora. Use a barra invertida e a ordem para fazer isso entrar à direita. Nós apenas você pode colocar coisas assim em outras linhas, então círculo retângulo quadrado tentar em ouro e bem, agora devemos verificar Se a coisa que ele escolheu foi igual a, por exemplo, um e E. V s. Então devemos trabalhar na área quadrada, direita a área fora da praça. Então, como fazê-lo. Os números que controlam mais a Praça Espacial e devíamos enviar o quê? O que? Algo de classe. Então devemos pedir ao usuário para o site para o tamanho do lado, certo? Então entrada Digite o tamanho fora do lado quadrado assim e devemos definitivamente mudar
para, por exemplo, flutuar ou inteiro e fazê-lo assim. E agora quando você executar o nosso módulo, não isso vai acontecer quando eu ganhei e eu entrar para nada acontece porque eu fiz isso de propósito Porque eu gostaria de lembrá-lo que quando você envolve uma função você saltar para a declaração de função. Você faz tudo o que está dentro da função direita, por exemplo, atribuído o valor para o perímetro que no nosso caso era igual dedo para e muito multiplicado por quatro é 16. Voltamos aqui e substituímos este pensamento inteiramente pela coisa que foi devolvida. Então este 16 como Ho Ting, certo? Não é atribuído a nada. Então devemos atribuí-lo a algo o resultado ou podemos apenas imprimi-lo assim, certo? Ou podemos adicionar uma mensagem que seria ainda melhor, certo? Nós vamos dizer algo como aquela área fora da escola onde sim, ele ligou e eu dei a volta no módulo Onda. Escolhemos um em menos de quatro. Como você pode ver, temos a área fora do quadrado é igual a 16. Tudo funciona bem. Você deve ter notado que é muito difícil e confuso saltar através de janelas quando eles se
parecem com isso. Nós não temos apenas dois módulos e o shell e, bem, eu cometi um erro. Dar aqui é que você tem aviso provável porque eu não tinha certeza de onde estou. É por isso que quando você tem mais de um modelo, é realmente útil baixar algo. Vá o crânio, por exemplo, Pie charme em resultados para o oculto ou átomo ou aranha. Estes são muito úteis. Identificação OK, eles são melhores do que o que vem com Bytom e, bem, vamos usá-los no futuro. Mas agora eu gostaria de me concentrar em aprender o Syntex porque, bem, é mais importante quando você aprende a sintaxe, você pode realmente jogar com qualquer eu que quiser. Ok, então você arma, não segure-os e tente, você sabe, brincar com eles. Estamos sozinhos, tenho certeza que você vai ser capaz de fazê-lo. Não se preocupe. Não é nada de carro. Então eu recomendo parte John. Os outros também são realmente muito bons e não tem exercício para esta palestra. Eu gostaria que você para terminar estes programa principal e permitir que o usuário para escolher retângulo círculo triângulo, trapézio e mostrar-lhe e bem olhando Resultado dissolvendo a lição. Obrigado, muito.
45. Enum - o que é e por que você é o que é e por que você deve usá-la?: passar por lá hoje vamos falar sobre animal que é um curto para enumeração . Você vai. Então vamos fazer isso, como usá-lo e fomos usá-lo. Olhe aqui. Temos uma solução para o último exercício que mandei fazer. E bem
, resolve o problema. OK? Tudo está bem, mas é difícil de ler. Por que eu penso assim? Bem, olhe aqui. Escolher é igual a um. Isso significa que eu tenho o dedo do pé aqui para ver o que significa bem, certo, mas ainda significa livre para cinco. Certo, está
se dividindo bem perto agora, então eu posso pular aqui. Ok. Quadrar o retângulo. Há um círculo e que está tudo bem, certo? Mas e se eu for em diferente I E se você souber que haverá, como milhares de homens menus como esse, certo? Em 1000, mas 150. Imagine que este programa é enorme. E então você vai precisar olhar qual relógio que eu acho que representa um, certo? Você precisa ir a algum lugar para um lugar que você teria dificuldade em encontrá-lo. Ok. O que? Esse é um ser, então isso não é bom do ponto de vista de fazer um culto capaz de ler. Ok, então nós poderíamos, você sabe, talvez nomear “Quadrado”. Mas o problema é que fazemos algo assim. O usuário em tipo quadrado, que é mais longo, com razão melhor se nós e até assim nós ganhamos. Então estamos novamente no início na entrada fora O que fizemos certo com nada mudou Podemos resolver De alguma forma eu acho que vai ser grande idéia de alguma forma associar nós o quadrado a um o retângulo para dois. Ok, então nós queremos de alguma forma atribuir o retângulo Toto foice para libertar o dedo do pé Frankel para trapézio para lutar como fazê-lo. A melhor maneira de fazer isso é você alguns pensam o que é chamado de, hum e, hum, aeração Nós apenas uma lista de elementos que são enumerados Número a partir de um. Ok, então como usá-lo? Bem, a
fim de usá-lo, você precisa importar essas bibliotecas e, hum, ok, então vamos importá-la. Mas acho que devemos importar uma coisa deles. Então, de e, hum ,
importar e OK, vamos apenas importante é uma coisa e como usar. Bem, você quer digitar e então o pai é e então você precisa nomear seu animal. Ok? Como essas listas fora elementos que são elaborados nosso nome. Eu acho que seria ótimo chamá-lo de figuras Manu assim. Em seguida, como o segundo argumento você envia aqui os valores que devem ser numerados a partir de um retângulo
tão quadrado circled triângulo trapézio como esse. Você não pretende usar vírgula aqui, mas você pode adivinhar acima disso. E isso com trabalho de trabalho. - Tudo bem. Certo, Tropics. E agora, quando eu rodei o módulo, nada personalizado, certo? Mas funciona. - Tudo bem. Podemos usá-lo. A menos que haja algo parecido com essa impressão. Vamos trazer isto para fora. O que aconteceria? Como você pode ver, nós temos agora aqui algo estranho é chamado Animal e é chamado Manu figuras como nós fizemos isso como nós o amarramos. Vamos mudar essa coisa em uma lista para ver o que está dentro dela. Ok, a
fim de fazê-lo, você envia para a lista de funções e admiração. E como você pode ver, nós temos dentro do barco figuras mentais que quadrado e um é o mesmo para quadrar o retângulo para circular livre para triângulo para dois trapézio cinco. Então, como eu disse, esta é uma lista de elementos que são enumerados. Número a partir de um 12345 Ei, isso é o que precisamos, certo? Então, como usar essa coisa? Bem, precisamos guardá-lo em algum lugar. Estamos a fim de usá-lo mais tarde. Então criamos uma variável que foi chamada assim. O mesmo como você. Porque, bem, por quê? Para usar nomes diferentes. Ok. E agora podemos nos referir à variável de morte mais tarde em nosso programa. Gosta? Vamos ao redor do módulo. Homens de figuras. Isso e a coisa legal está morta. Agora temos Heene. Podemos escolher o quadrado. Ok. E vai funcionar? Bem, vamos correr o moderno para ver por horas. É quando eu escrevo um. Como pode ver, não está funcionando. Não tivemos a chance de entrar em nada. Por quê? Porque este é um novo tipo que não tem nada a ver com a Indonésia. Ok, para usar isso no professor, você precisa digitar seu valor de ponto, ok? E bem, você também precisa mudar aqui o tipo para inteiro, certo, porque normalmente temos uma força. E agora, quando você executa o módulo, eu duplica um 44. Como você pode ver, nossa área quadrada foi contada corretamente. Ótimo, mas acho que digitar cada vez fez vista de valor. É confuso. Não faz sentido nenhum, certo? É melhor fazermos algo assim. E vai esta menina Há algo de bom é chamado e e admiração Nós apenas a menos fora elementos que são enumerados número de um. Mas você pode usá-los como em professores. Certo, quando você se referiu a eles. Então, quando você faz algo assim agora não precisamos digitar seu valor. Podemos fazer assim e trabalhamos bem. O que? O quadrado do módulo para olhar. Está funcionando bem. Ótimo, certo? E olha, temos que ouvir mais vantagens usando algo assim. Nós acertamos as coisas. Nosso casaco, eu acho, parece melhor porque é mais fácil de ler agora, certo? Veja a sua chamada e tente na meta. E o que a escola não é que cada vez que temos isso você sabe que Keane é da nossa identificação? Significa que não cometeremos erros. Bem, podemos fazer flechas quando a idéia é dizer o que digitar você, certo? Normalmente, se você tivesse usado cordas, você poderia digitar alguma coisa assustadora, por exemplo, algo assim. Certo? Então perdemos um e você os dedos apropriados assim. Seria muito,
muito difícil de detectar, porque se rodarmos o nosso programa e escrevermos quadrado ou algo
assim, como uma corda semelhante a um morto, bem, a condição não seria louca, e não teríamos flechas. Certo? Mas mesmo se você fizer uma flecha aqui, como, por exemplo, assim agora, quando digitarmos um vai ficar bem estreito. E isso é muito, muito importante porque erros como esse em grandes programas são muito difíceis de detectar aqui. Temos boas informações. Então eles são vantagens livres de usar enumeração. O que são eles? Bem, pense na coisa é que nosso programa é mais fácil de ler. Aumentamos a capacidade de leitura. Quando olharmos para aqui, escolham homens. Uma figura quadrada. Certo, então vamos contar aqui. A escola, a área quadrada fora da praça. Certo. Ok, vamos. A segunda coisa é que temos adolescentes, certo? Algo que está bem. Temos boas mãos aqui. Que isso também é legal contra espaços de enredo. Você não se lembra do corte curto no mar, as coisas certas, um homem de figuras e eu preciso contar o quadrado. Vamos lá. Certo. E o tentador é que não vamos cometer erros. E é muito, muito importante porque erros como esse. Se você tivesse perdido apertado dentro da corda R ver difícil de detectar. Certo, acredite em mim. E, você sabe, talvez você não veja o quão útil é quando este programa é pequeno, certo? Porque, bem, eu posso olhar daqui até aqui, e um é igual a um. Isso é muito pai. Eu pulo com seus olhos daqui até aqui. Acredite em mim, seus programas serão maiores no Ben. Esta coisa é muito útil. Certo, mostrei um lugar onde você pode usá-lo quando deve usá-lo. Você pode estar se perguntando sempre que a pessoa ou há um lugar em seu programa onde você precisa escolher algo. É uma boa ideia usar algo assim. Ok, porque ele vai aumentar seus 80 legíveis minhas flechas próximas. E assim, por exemplo, como o quê? Talvez alguém queira escolher um estudioso. Algo é o tipo de dedo. Talvez o dia de folga. Fraco. É uma boa ideia usar o Anil. Ok. O que? Megan e exercitar a enumeração por dias fracos, certo? E talvez brincar com ele. Talvez fazer algumas coisas que os homens deixam o usuário escolher um fora no dia da semana e, em seguida, fazer um modelo para cada um do dia. Ok, isso seria divertido, eu acho, fazer como um site de nexo. Mas há mais uma coisa sobre a qual devemos falar. Bem, olha, nós enumeramos estes números a partir de um. Mas e se houvesse uma situação que eu queria ter,
você sabe, por exemplo, por exemplo, dedo do pé tem 45 quadrado atribuído ao retângulo. Eu gostaria de ter 12. O que? O que posso fazer? Bem, primeira coisa é que podemos fazer algo assim. Podemos usar aqui uma lista. Há outra maneira de declarar que há anouma classificado colocado. Ok. Como isso. E isto vai funcionar. Bela bunda. Fizemos antes de mais tarde. Ok? Funciona bem, mas também podemos usar um dicionário. E quando você usa um dicionário, podemos fazer algo assim. Ok. Podemos atribuir a cada elemento. O número que quero ter antes de lá. Volume e vamos, por exemplo, para Southside imprimir lista manual. Poucas garotas que você conhece para enganar obras. - Tudo bem. Como você pode ver, os volumes são associados ID idade. Prepare-se para gostar disso. Ok, então nós fazemos x bem. Podemos usá-lo assim se houver uma situação como essa. Ok, mas talvez eu, temos uma situação em que queremos usar a lista, e não precisamos enviá-la manualmente porque começamos a contar a partir de um. Só há uma lição. Muito obrigado.
46. EXERCício: sequência de ateamento de Arithmetic e em some os números para entrar para o número de entrada: Cabeça sobre. Mas hoje vamos escrever um programa que podemos o alguns fora de todos os números de um para o número que foi inserido pelo usuário. E este programa parece ser fácil de montar. Mas vamos nos basear no programa em nossas futuras palestras. Então, por favor, fique comigo porque, bem, correu. Aprenda hoje. Lotes fora. Coisas muito úteis. Vamos resolver este problema de três maneiras diferentes. Então, quando você olha para o texto desses exercícios, a primeira coisa que você deve fazer é provavelmente pensar sobre o exemplo mais fácil que você pode escrever sem ter que montar um programa para o número cinco. Eu quero adicionar 12 grátis para e cinco números um para o outro. E o resultado será 50. Então nós provavelmente queremos gerar números. 1234 e cinco quando alguém digita cinco. Certo? Como fazer isso? Bem, eu acho que a maneira mais fácil de fazer isso emite o intervalo de funções de classificação de um para Sikhs. Por quê? Porque variam de 1 a 6 que lhe damos como resultado 1234 e cinco seis não serão incluídos . Ok, isso é útil. Então poderíamos usar um loop para cada número dentro do intervalo de 1 a 6 e que números de primavera . Então fomos atirados. Fizemos isso corretamente. É assim que todo programador cria programas que testam porque ele quer liberar por cinco. OK, isso funciona bem e eu quero adicionar esses números. Então eu acho que nós poderíamos criar uma variável alguns e nós poderíamos adicionar a alguns em si, mais o número e então nós podemos criar o som. Então agora, quando ele executou o módulo, como você pode ver, o resultado é 15. Como funciona? Bem, o início da cúpula é igual a zero. Nós podemos, você sabe, fazer algo assim é igual a zero e o número fácil citar ele começa a um. Porque a primeira iteração na primeira iteração, será igual ao volume que será devolvido do rancho, certo? Então é igual a um. Então, para alguns, nós atribuímos alguns, que é zero mais número, que é um assim após a primeira iteração. Então, após a primeira passagem pelo loop, alguns são iguais a um, e agora o número vai ser alterado para, e nós tentamos atribuir a alguns em si, que é um mais dois, que agora é para você. E então nós mudamos o número 23 E o que livre mais livre é seis e novamente para ver Expresso é no número é igual a 5 10 e cinco é 15 e, em seguida, o loop vai terminar porque, bem, não
há mais passos para passar dentro dele. Olha, e nós voltamos 15 Sempre. Você não entende como algo funciona. Analise o olhar como se você fosse um computador. Então esta é uma das soluções para este problema. E, claro, uma solução que precisa ser atualizada um pouco, certo? Melhorado? Por quê? Porque agora temos os valores aqui corrigidos. Propus fazer isso dentro da função, então vamos definir uma função, e vamos agora chamá-la, por exemplo. Alguns até gostaram agora podem copiá-lo. Você precisa fazer índios apropriados, e nós precisamos de alguma forma definir esse pensamento para a coisa que vai ser enviada aqui como argumentos . Então precisamos criar um parâmetro que manterá seu número aqui. Certo? E acho que não devemos imprimir o som. Deveríamos voltar para alguns, certo? Porque então podemos usar mais um pouco. E agora, quando eu executá-lo assim e trazer o valor, eu obteria o mesmo resultado. Ou 70 trabalhadores significam a arte um. É importante por que vamos a faixa de 1 a 6 é 1234 e cinco sem seis. Certo? Então, quando nós digitamos cinco aqui sem o último aqui, ele teria números. 123 e quatro. O que é por isso que o dedo da asa adiciona um aqui. Qualquer coisa? Não. Ok, então são 15 e funciona. Encontre o golpe de Estado. Agora é que podemos saber algo assim e não podemos obter um resultado PSA. Resultado adequado, certo? Muito rápido. Então é crítico. Mas este é apenas um fora do caminho para resolver este problema. Há muitos outros. Vamos fazer xixi na disfunção. Vamos fazer de uma maneira diferente. Eu te falei sobre eles. Menos expressões. Eles poderiam gerar números, certo? Para usá-los, basta
digitar os colchetes assim e, em seguida, digitar O quê? O que você quer fazer com os números que você vai ver, tipo, selecionar? Então, e então você seleciona o número. Então, para cada número dentro, acho que devemos usar a mesma coisa que fizemos aqui. E a verdade é que isso vai gerar o pensamento que não vamos escrever. 123 e cinco. Podemos verificar facilmente fazendo algo assim, certo? Nós não acreditamos nisso. , Módulo
aleatório, sabe, para verificar se está tudo bem. Tudo bem. E, claro, você não temos argumentos. Toda aquela rua está morta e você pode ver 1234 e cinco. Funciona bem. Por que, Andi? Bem, eu acho que devemos mudar o nome dessa função para resumir até dois,
por exemplo, para torná-lo diferente de um morto porque nós sobre o outro sobre a estrada esta função acima dele . É por isso que você não tem nenhum aqui porque nós não retornamos. Acho que aqui. Certo. Então nós apenas geramos 123, quatro e cinco, mas queremos adicionar esses números. O legal é que podemos adicioná-los muito facilmente pelo jazz. Fazendo algo assim. Farm é uma função que é da biblioteca padrão. E se você enviar para lá uma expressão que pode ser pelo menos expressão, expressão triste, o que seja. Vai mostrar os números de morrer lá dentro, para devolvermos estes. E acho que vai ficar melhor quando fizermos assim. Desta vez vai ser mais curto. E quando fazemos algo assim, podemos obter como resultado os mesmos resultados, certo? 120. O que quer que digitemos aqui, os resultados que obtivemos seriam os mesmos. Então nós fazemos uma solução diferente, e agora você pode ser quem cessaria mais rápido. O que é melhor? É difícil dizer, porque bem, você humor precisa pensar exatamente sobre o que acontece no estágio backstretch. Vamos falar sobre como cronometrar e o que, isso mais rápido na próxima palestra. Certo, vamos nos concentrar em fazer de outras maneiras. Poderíamos até fazer algo assim em vez da menor compreensão. Podemos fazer uma compreensão de conjunto, ou podemos fazer um gerador de visão auditiva, e os resultados serão sempre os mesmos sobre o problema. É o Pope? Provavelmente este Pete em cada vez vai ser diferente. E, claro, vamos checar na Next Electric. E agora vou mostrar-lhe o caminho mais rápido que foi inventado por um homem muito jovem que tinha apenas 10 anos de idade. As cicatrizes que me lembro. Vou te contar uma loja na aula de matemática onde as crianças tinham apenas 10 anos de idade. Professor de matemática queria ter algum tempo para si mesmo, e ele falou sobre dar-lhes um trabalho para fazer um exercício. Eles têm que adicionar números de um a 100 e dar o resultado. Então o professor de matemática foi como, quem eu vou ter provavelmente tipo, hm, 30 minutos, talvez até toda a lição para mim. Ok. Para que eu possa me concentrar. Acho que o problema é que um dos rapazes veio ter com ele depois de, tipo, um minuto o professor ficou chocado e ele disse a ele que o apresentava. Ou talvez tenha usado uma calculadora. Seja lá o que ele fez, é impossível. Mas o menino era muito inteligente porque ele notou que quando a diferença entre cada número é a mesma e quando você sai o primeiro elemento da farsa e o último elemento no caso de , por exemplo, como este aqui porque é um pouco mais simples, certo? É melhor. Sempre tente algo mais simples do que um exemplo difícil. Então você adiciona o primeiro limão Esta perda de mulheres e você divide o resultado por dois. E então você multiplicá-lo pela quantidade de elementos de 12345 elementos. O resultado vai ser 50, certo? $5. 166 divididos por dois é grátis. Grátis multiplicado por cinco é 15. Então ele é incrível. E realmente, quando você faz isso para a sequência acima Então você faz algo como aquele mais o último elemento,
certo, certo, dividido pelo dedo do pé multiplicado pela quantidade de outro. E então são 100 de amêndoas. Vai te dar como resultado, uma razão adequada, certo? Como se fizesse manualmente, como fizemos aqui, certo? Enquanto eu sou mais Topol para cerca de quatro ou cinco plásticos, ele leva tempo. Esse cara era aspirado cara inteligente garoto com ela jovem e ele chocou seu professor de matemática para que ele pudesse usá-lo. Também Weinholtz. Então vamos definir a soma até cinco como essa e o que queremos adicionar ao primeiro elemento que está sempre querendo nosso caso porque foi assim que assumimos em nosso exercício mais a perda de mulheres, que é o fim então dividido por dois e, em seguida, multiplicado pela quantidade de elementos. Temos a mesma quantidade de elementos que estes. Acho que você está certo. Hum, porque nós não podemos e queremos 23456 Tudo bem, então nós temos uma quantidade decente fora de elementos como o último elemento é igual dedo do pé. Então multiplique por e e controles retorna quando estamos fazendo assim. Como você pode ver, o resultado é o mesmo. Você pode ver instantaneamente que este é o jejum, certo? Vai bem, enfraquecer pastos computador cabeça quer âmbar aqui. E temos dois números aqui divididos por fazer multiplicado. E isso é muito rápido, certo? Pois não é que quando fazemos algo assim, quando temos mais de 1000 números para adicionar aqui, você ainda é o mesmo. Você apenas em dois números dividir por dois no filme por eles. Aqui, por outro lado, você precisa do dedo do pé, você sabe, gerar números e, em seguida, enviar para isso alguma função. Bem, isso deve levar algum tempo. Certo? calcanhar provavelmente é um pouco mais rápido porque somos números um por outro. Instantaneamente. Não precisamos salvá-los em algum lugar. Temporariamente. Bem ali estava. Isto é provavelmente um pouco mais rápido, mas não sabemos qual fora esse resultado qual deles é realmente o mais rápido. E por quanto? Porque, bem, ainda não
sabemos como medir. Tudo o que aprenderemos na futura palestra. E você vê como grande impacto pode causar quando você não. Por exemplo, matemática. Porque o que te disse aqui chama-se sequência aritmética e aprende-se com aulas de matemática. Certo, a lição Delia. Muito obrigado.
47. Como medir o código ( No quanto o quanto for: cabeça sobre Baden hoje você aprendeu a medir o desempenho do casaco. O que significa desempenho? Desempenho significa como algo funciona bem em caso de programação. Queremos verificar como Bem, por exemplo, parte da
dívida de obras chamadas. Então, quão rápido isso chamou o Leste. E bem, na última palestra, criamos cinco soluções para o mesmo problema. Os resultados foram os mesmos, mas não sabemos o quão longe eles estão onde podemos chegar direito, mas nosso palpite é sempre a melhor maneira de escolher o que devemos usar. Talvez seja melhor medir, certo? Quando
casarmos, teremos 100% de certeza que tudo funciona bem. Então, como fazer isso? Como um problema de projeto como esse? Bem, precisamos incluir, precisamos importar a biblioteca. Isso se chama tempo. E essa biblioteca tem funções como qualquer outro modelo. E aqui temos algo que se chama Perf Counter Perf Perf. Contador perfeito é um atalho para o desempenho. Retorna o valor de um contador de desempenho que pode medir uma curta duração. Então vai nos dar um contador quando algo aconteceu. Como podemos usá-lo para você sabe, verificando a medição, o desempenho de Go olhar, este pensamento aconteceu aqui Design. Claro que sim. Certo. Estas linhas de código acontecem aqui na sua linha de código. Aconteceu aqui tão bom, por exemplo, envolveu-o antes de acontecer. Certo? Então poderíamos fazer algo como tempo, aquele contador de desempenho. E agora vamos ter, como resultado, que podemos dizê-lo na variável. Chamamos de começar a implorar quando algo aconteceu e também podemos salvar o fim quando algo acabou. Certo? Então aqui envolvemos o contador de desempenho que temos causa que o tempo em que algo aconteceu e, em seguida, invocamos enquanto computador invoca a impressão. Então ele precisa de um resultado para o príncipe. Então ele entra em algum Opto Ele envia seu valor aqui. Ele faz o que precisa para contrariar alguns. Ele volta para alguns e volta para cá. Ele imprimiu e depois verificamos quanto tempo demorou, onde não verificamos quanto tempo
, , você insere você. Chegamos no momento em que acabou, certo? Então, quando temos um momento em que algo mudou no tempo em que algo novamente quando algo começou. Podemos fazer algo assim, certo? E começo menor, podemos salvá-lo para Por exemplo, Podemos apenas trazê-lo imediatamente. Então é assim que queria comer cão, certo e menos começar. E quando ele executou o módulo, como você pode ver, como resultado, temos 0.47 e este número está aqui em segundos. Então isso significa que levou os quatro milissegundos. Um segundo é 1000 milissegundos. Levou cinco minutos quando rodamos este módulo de novo. Como você verá, há uma pequena diferença. Ele chegou aqui. E sete aqui é livre quando executar a gangue modular aqui é para então cada vez em torno deste modelo , o resultado Meu dif difere que você pode ver aqui é mesmo cinco minutos segundos Quase seis sobre por que isso acontece. Bem, olhe, eu estava processando agora. Pode estar trabalhando em algo como, por exemplo, no meu caso, está trabalhando na gravação. Também se perdeu aplicações em segundo plano, certo? Eu tinha ir montes de pastas abertas então há muito trabalho fora na sala grande E é por isso que os resultados podem ser diferentes cada vez em torno do módulo. Certo? Mas não se preocupe com essas diferenças, quando nós, por exemplo, você sabe a mesma coisa aqui para o segundo cara, como você pode ver. Bem, ele está recebendo 18 segundos agora, como você pode ver, apesar de rodarmos esses módulos cada vez, os resultados são diferentes. Certo? Mas o que é mais rápido ainda é mais rápido, certo? Esta coisa é mais rápida de cada vez. Então até você em torno deste módulo muitas vezes. A coisa que foi mais rápida é mais rápida, então não se preocupe com isso. Então nós mais queremos. Bem, nós poderíamos até rodar estes, por exemplo, 100 vezes, certo? E então verifique se apenas por precaução, certo, porque às vezes talvez haja um erro. Mas como você pode ver, você pode, você sabe, vela neste assunto, se você executá-lo vezes suficiente, você pode descansar. Então, ao redor do módulo, você pode ver cada vez pelo menos o cara, o cara aqui, então alguns até é mais rápido do que alguns até aqui. Então, o resultado que podemos ver depende de quão ocupado o processador está pelos aplicativos e programas que estão sendo executados em segundo plano, certo? E também como é bom o processo. Áries. Lembre-se disso. Bem, eu tenho agora um resultado como esse, você pode ter um processador melhor do que você pode ter uma guerra, então seus resultados podem ser diferentes. Além disso, body não importa porque a relação entre os dois scripts deve ser semelhante entre computadores
diferentes. Então, mais rápido ou mais lento deve ser o mesmo? Não. Vou mostrar-lhe algo muito legal quando eu aderir cinco. E aqui. Cinco. O que vai acontecer? Como você pode ver o método para ISS mais rápido. O que teria sido quando eu tivesse mais cinco? Sim. Mais uma. Cinco, hein? Esse cara vai mais devagar. Mais uma. Cinco. Esses caras são mais lentos agora do que isso. O que aconteceu aqui? Isso aumenta ainda mais que em torno do módulo você pode ver as explosões do tempo agora 2.4 3.0. Por quê? Por quê? Não, este método, mais lento quando era mais rápido. Porque é assim que funciona em grande número. Grande quantidade fora de um local que você precisa fazer processo, certo? Porque não é isso aqui, no caso de alguns fazerem o certo em caso de morte, estamos localizados agora, então reservamos enormes lugares em mente em nosso computador aqui. Não precisamos reservar números. Nós apenas obtê-los a partir da função de alcance que nós atrás deles em. Nós apenas esquecemos deles. Então aquela coisa quando há um grande monte de números ele usa mais rápido. Então, quando você é um programador, você precisa pensar que valores você vai obter dos usuários, certo? Vamos executar o desempenho em outros casos. Então é algo assim, não é? Uh huh. Alguns grátis para e vamos ver o que se encontrou. Foram os dois pontos livres mais rápidos para o primeiro cara. 3.0 três pontos livres. As pessoas vinham e depois? Em vez disso, o resultado, alguns até cinco é apenas instantâneo. Por quê? Porque bem, aqui vem o número número é adicionado a um. Este resultado é dividido por dois juros multiplicados pela quantidade de números. Isso é tão certo. Então, quando, como você pode ver, às vezes você pode ter realmente uma grande diferença. E quando você sabe, por exemplo, muff by, por exemplo, é Matics? Como as sequências aritméticas funcionam, certo? Então às vezes você pode adivinhar o que é mais rápido, certo? Como, por exemplo, no caso de fora cinco, é realmente fácil de ver, mas quando você olha para a situação livre e quatro, você pode não ser 100 pessoas atirar. E esse é o momento em que você pode. Nós apenas verificamos até onde algo funciona, usando o desempenho de medição de métodos de código como o momento certo, que o contador de desempenho começa depois no final, e menos isso, e você sabe exatamente quão rápido algo A ISS. Também vale a pena notar que quando os números são pequenos, então fazemos algo assim. As diferenças são muito pequenas, mesmo como você pode ver aqui, temos eso. Nosso método The Fosters é quase tão rápido quanto o método para escrever todo o Ted cunhado
agora , quando você está fazendo coisas em uma pequena quantidade de coisas, bem, você vai precisar repeti-lo provavelmente 100 vezes até mesmo notar a diferença, certo? Talvez até milhares de tempo. Então, quando você está trabalhando em pequenas coisas em 3 300 parece muito certo. Se eu te dissesse para contar até 300 você leva você às vezes para computador. Como você pode ver, é bem longe. Então, quando você está trabalhando em valores pequenos, às vezes é melhor para você, certo? Para se concentrar na aparência do seu programa, não em quão longe é. Ok. Não faça isso. Sobre fazer o, hum, programa deve ser o mais rápido possível porque, bem, se alguma parte do seu código não é usada com muita frequência, então por que até mesmo fronteira sobre, você sabe, otimizando em Então, fazendo o desempenho melhor é melhor se concentrar em como ele parece. Então vai ser mais fácil de usar por você e por outros programadores. Também vai te dar mais benefícios, certo? Porque, bem, nós poderíamos, Por
exemplo, em vez de retornar que alguns nós poderíamos, você sabe, salvar os números gerados, certo? O gerador aqui. Algo assim, por exemplo, como o pai . E nós poderíamos,
você sabe, você sabe, devolver o gerador em vez disso, ou o que quer que esteja ligado pode nos dar um pouco mais tarde. Então depende do que você quer fazer. No caso, você sabe, fora de algo assim quando você tem cinco soluções e você quer os resultados, certo, você não se importa com, Você sabe, você não precisa usar mais tarde os dados como no caso de fora de conjuntos amarrados ou o gerador que você não se importa. Você só quer o resultado. Então, e seria usado frequentemente certo? Frequentemente porque você sabe que não é isso aqui? Não há diferença. Quase certo entre esta decisão solução saiu. Esta solução tem Ah, querida, o quê? Coisas
livres para fazer. 12 grátis. Então, às vezes, é melhor olhar como estamos. Meninas, lembrem-se que essa coisa leva memória só por algum tempo, certo? Alguns provavelmente eu usaria esse método ou dias porque, você sabe, mesmo que isso importasse, parece melhor, certo? E você é claramente civil que ele faz instantaneamente. Bem, é preciso espaçamento de memória. Apenas quatro fizeram muitos segundos. Então realmente depende. Sempre dependeu dependendo depende da situação em que você está. E tu és um programador, e devias decidir que vamos. A tua situação não é como se fosses perguntar-me para sempre o que deves fazer. Como você pode ver, mesmo quando estou falando sobre isso algum dia, eu estou entrando em novas idéias, certo? E por causa dessas idéias, eu poderia mudar minha perspectiva sobre o que deve ser usado em K's como morto. Em casos assim, em casos como esse, depende. E quando você não tem certeza, você pode verificar o quão longe alguma coisa está se realmente você se importa com a velocidade. Ou talvez seja onde perguntar a alguém, por exemplo, estouro de
pilha. O que você deve usar é melhor nessa situação. o tempo, você terá experiência e você decidirá. Ah, melhor. Certo? O que é mais importante para você, o limpador Kout? Ou talvez até que ponto alguma coisa está? Certo, só
tem sua lição. Muito obrigado.
48. Função como argumento de outra função | Como medir o desempenho do func: Olá, todo mundo. Na última palestra, aprendemos como medir o desempenho do Coat. Mas há um pequeno problema no nosso casaco. Não parece bom. Por quê? Porque toda vez que queremos medir o desempenho fora da função H, temos que fazer o que criativo, um começo viável e, em seguida, designado para comer tempo desempenho não pode virar do que isso. E depois isto. Eu acho que deve ser feito algo assim, função, desempenho. E então devemos enviar aqui função que queremos verificar. E então, por exemplo, o argumento que deve ser enviado e usado dentro dele funciona, isso é tudo. É assim que deve ser feito certo, porque isso não é profissional é muito código aqui. Isso não é bom. Deveria ser assim. Mas há um problema. Qual é o problema aqui? Podemos enviar uma função como um argumento para outra função? Felizmente, sim, é possível Antes de fazermos isso, vamos verificar um exemplo um pouco mais simples. Como funciona foi criar uma função que mostrará mensagem. Certo, o que trouxe algo como teste? Ok. E agora vamos cumprimentar a função que é chamada de função, executar mãos e essa função terá como uma função de parâmetro como essa é apenas um nome , um suporte de lugar para a função que será enviada aqui para o desempenho da função argumento. OK, e agora nós podemos apenas envolvê-lo funcionar assim, isso é tudo. E agora vamos tomar todas essas coisas sob o comentário e vamos fazer algo como Função , executar, homem e baixo vamos e sua mensagem show. E agora, quando invocamos o programa dela, como podem ver, podemos ver testes nele, certo? Então tudo funciona bem. Mas como funciona? Bem, olha, eu não programaria vê as funções de desempenho da função, e parece que enviamos um argumento de zona, uma função chamada Chavez. Ele assim salta aqui para esta definição e atribuído dedo do pé. Obrigado pelo nome de Hank. Poderíamos chamá-lo do que cada exemplo de mundo X e atribui-lhe a função de mostrar mensagem , certo? E agora aqui. Devido a isso, parênteses foram envolvidos mostrar mensagem, porque realmente X é agora mostrar método e traz o teste. Isso é tudo. É assim que funciona. Mas o problema é que eu acho que nós gostaríamos de enviar argumentos de alguma forma para disfunção correta. Como fazer isso. Bem, podemos fazer algo assim. Isso é criar outro muito livro, você sabe, argumentar outro parâmetro que tomamos o argumento como aquele que enviou alguns argumentos, por exemplo, testes ou algo assim, meninas, mas que não vai funcionar. Por quê? Porque a mensagem aqui não tem o suficiente para uma mãe. Mas aqui tem. Certo. Porque dissemos ao programa que tínhamos a sua mensagem, certo? É como, hein? E Mm. Como você pode ver, a definição não é a mesma. Certo? Então precisamos de alguns criar aqui também um parâmetro argumento e enviar-lhe uma mensagem. Mostrem uma mensagem qualquer coisa, meninas. Uh huh. Mostrar mensagem. Sinto que o argumento está aqui. E agora temos aqui x off argumento. Foi enviado para cá. Então saltamos aqui para mostrar a mensagem e depois esperamos. Pegue a mensagem. Foi sincero, certo? E traga a mensagem e algo vai ser impresso naquela escola. Certo? Então é assim que você pode enviar como uma função de argumento para outra função. E você também pode adicionar um argumento a esta função, certo? Como usá-lo em nossa situação. Toe vem o desempenho da função. Como usá-lo no exemplo prático. Bem, vamos fazer algo assim, hein? Vamos copiá-lo. Que E agora vamos apenas voltar e menos começar. E nós não invocar você a função alguns até a direita. Devemos invocar aqui apenas a função que será enviada aqui e com o argumento de que eles também enviaram aqui. Andi, isso é tudo. Sim, isso é tão simples que só sabemos aqui. E você invocá-lo assim alguns até E nós,
por exemplo, por exemplo, queremos verificar com 5000 em torno do módulo é que você pode ver que temos aqui um resultado. Bem, como resultado, temos o resultado de alguns. Depois da direita vai, imprimimos o volume. Então talvez façamos assim porque não queremos saber como. Qual é o resultado de alguns Depois que queremos vir o desempenho e vamos creme o desempenho aqui. E como você pode ver, não um desempenho fora de alguma função upto estava aumentando seu lance em. Vamos ver os outros caras livres por cinco bálsamo. E é assim que fazemos. Como você pode ver, isso parece melhor, certo? Por quê? Porque não precisamos pensar animal como contar a performance, certo? Porque em situações como esta depois, por exemplo, eu não faço duas semanas, talvez momentos livres quando você vem para o programa e você quer não pode novamente o desempenho de alguma função. Você precisa pensar o que você precisa fazer antes da função após a função e, em seguida,
trazer o motivo certo. Isto é mesmo sobre o Bob Design, certo? Porque você precisa pensar sobre isso antes de usar algum tipo fora do seu casaco. Aqui você tem agora funcionaria que nós não podemos o desempenho fora da função Annie com um único argumento, certo? É ótimo. Você apenas envia o nome da função e, em seguida, você envia o argumento da função de data e você pode facilmente contar o quão rápido isso como? Qual é o desempenho dessa função? Só há lição, muito
obrigado.
49. Argumentos de padrão: Olá hoje eu diria ao mundo é um argumento dobra em um exemplo que está aqui. Ele era uma facção que discórdia aumentar esta função aumenta x pela quantidade fornecida. Então, quando fazemos algo que aumenta por cinco, o resultado é bom, certo? Quatro mais cinco é igual a nove. Está tudo bem. Mas quando digitamos algo assim na Grécia para que temos um erro, ele diz que falta uma posição necessária. Quantidade do argumento. Isso é verdade porque nós fizemos e fornecemos aqui, certo? Não está aqui. Nós não enviamos. Mas e se fizermos deste argumento um padrão? Um com um valor padrão como, por exemplo, uma coisa significa que não enviamos o argumento. O segundo argumento. Será igual por padrão. Um. É por isso que se chama padrão, certo? E agora quando executamos nosso modelo e digitamos aumentar para como você pode ver, ele diz que em mente, por padrão é igual a um, então você não precisa fornecer o segundo argumento e agora é igual a cinco. OK, é
assim que os valores padrão funcionam. Você pode fornecê-los e, em seguida, você não precisa enviar o segundo argumento a menos que você
queira alterá-lo, certo? Porque quando você quer mudá-lo como, por exemplo, para 20 ele ainda funciona certo? Um é quantidade é igual a um só nós não fornecemos os segundos argumentos. Ok, é apenas um valor padrão. O padrão, quando saberemos que nada é providenciar. Oh, vamos usar o conhecimento que acabamos de adquirir. Um exemplo mais prático, como,
por exemplo,
nossa função de desempenho. Um exemplo mais prático, como, por exemplo, Ele contou o desempenho de uma função que foi executada em Lee. E se eu quisesse executá-lo algumas vezes enquanto você sabe, como por exemplo, eu quero verificar Whoa, quanto tempo vai demorar para uma disfunção tantas vezes com seu argumento. Agora precisaríamos de novo, você sabe, esse icônico começo e ver qual é o resultado, certo? Mas também não é profissional, certo? Seria bom se pudéssemos, de alguma forma, fornecer quantas vezes você quer executar esta coisa aqui dentro. Então vamos criar. E você Parham parâmetro, quantas vezes você quer executar isso? O problema é que não foi quando ele executou o modem. A função que já foram usadas. Não estou trabalhando, então é boa ideia usar um argumento padrão, certo? Vamos atribuir a ele um este muito legal, porque agora podemos estender função, desempenho, função por novo perímetro perímetro e implementar. Em breve vamos implementar como contá-lo corretamente. Tem que chegar ao desempenho de muitas repetições fora dessas coisas dentro. Mas o legal é que poderíamos estender e não precisamos mudar a invocação, certo? Nós não precisamos de pé aqui cada vez. Agora, pelo menos, algo assim. O que? O que? Por que é tão legal? Porque, bem, imagine que você tem enorme, grande, frio e bem, você precisaria mudar em todos os lugares onde você usa o desempenho da função que a invocação direita, Precisamos do dedo do pé. Teria de aderir ao argumento dela. Mas agora você não precisa, porque o valor padrão é um direito fez escola. É por isso que você pode. É uma boa idéia usar, por exemplo, argumentos
padrão. E a segunda coisa é que a maioria do tempo você quer verificar o desempenho da função que é executado sobre os, Então este é o valor padrão e vai ser apenas estúpido para saber, certo cada vez que um de nós para o Sega escrever direito. É por isso que o é uma boa idéia para usar lá. Argumento padrão. Certo, agora sabemos o porquê. É uma boa idéia usá-lo, mas precisamos de alguma forma empregá-lo Emprego, não nosso desempenho de função para fazê-lo funcionar. Trabalhe como deve saber direito que precisamos de alguma forma repetir essas coisas toda vez. Quando você ouve Repetir é boa idéia para é o que olhar até agora eu terminar gama de zero
para, por exemplo, quantas vezes certo vamos ser. Então repita isso e isso e agora está quase pronto. Mas não, não
é a melhor vida porque até mesmo por quê, certo? Você, por exemplo, 25. Você notará que os motivos são muito semelhantes. Isso é estranho, certo? Mas por que isso? Porque repetimos este batedor, mas nunca contamos o sol de cada repetição sobre o tempo que cada repetição demorou. Aqui está o resultado de um ou Alcorões fora. Quanto tempo levou, chorando assim e menos começar é quanto tempo demorou uma vez. Mas precisamos de alguma forma estão cada um fora da repetição um para o outro. Então é por isso que criamos uma variável temporária, e cada vez para a variável temporária irá adicionar-se. Além disso, quanto tempo levou legal chegar daqui até aqui de cada vez, certo? E agora voltamos alguns. Agora, quando estiver no nosso programa, vai notar que é bom, certo? Então 25 vezes quando você executar este 250.25 vezes com estes argumentos esta função,
em seguida, leva 0.8 segundos. Ótima. Agora, como você pode ver, a escola, por causa de diferentes argumentos, permitiu que
você, você sabe, para mudar quantas vezes você quer executar a função dedo 25 vezes. Mas você não precisa alterar o valor padrão, certo? Um também é bom porque a maioria do tempo você quer levá-lo sobre os, e estes também bem. É por isso que é muito legal toe ter a sua para usar os argumentos padrão e também você não é
,é que poderíamos estender lá definição fora do nosso desempenho de função por novo
parâmetro , , e ainda, De alguma forma, não destruímos o programa. Ainda pode funcionar, certo? Nós não precisamos toe adicionado em cada instância um como um argumento de início. Ok, essa é uma boa lição. Obrigado.
50. Orde e a a palavra-chave: tinha mais sobre isso. Hoje vamos falar sobre o nome,
às vezes chamado de palavra-chave e sem nome, às vezes chamado argumento posicional. Temos uma função que se chama ganância. E essa função cumprimenta a pessoa por seu nome e mensagem. E depois muda a ordem. Ele é que nós enviamos a mensagem externa e depois o nome que foi enviado aqui para a grande função. Então, quando fazemos algo assim, são cardio casas atribuídas ao nome Olá é atribuído a mensagem e, em seguida, mudar as ordens uma mensagem e, em seguida, eles e
como você pode ver, como resultado, temos Olá são cardio. Tudo funciona bem aqui. Mas precisamos realmente entender o que é um posicional são humanos e palavra-chave ganha. O argumento posicional é aquele que não tem nome. Está bem? E quando o argumento não tem um nome, a posição de que ele foi enviado importa o que significa que agora Bem, se nós mudamos
para, por exemplo, olá e aqui para o nosso vagão, nós tornaríamos um pouco estranho. Eu cheguei. Vamos ter o nosso cardio Olá. Porque atribuímos um “olá “ao nome, o que não é verdade, porque Keller não é um nome. O cartão é para a mensagem. Certo? Portanto, a posição é importante, mas podemos alterá-la adicionando antes do valor uma palavra-chave. Então, a palavra-chave que é usada aqui. Então usamos aqui, por exemplo, nome. E aqui usamos, por exemplo, mensagem. Você notará que quando você executar o modelo, então o nome da nossa casa foi atribuído ao nome de uma mensagem no dedo do pé. E podemos mudar o mais velho aqui para um diferente. E aço. Vai funcionar. Tudo bem, porque não importa em que ordem enviamos os argumentos nomeados. Certo, aquele que se chama argumentos de palavra-chave. No entanto você em lembrar que você precisa para bem, dar os nomes toe todos eles. Porque se fizermos algo assim, nosso módulo não irá compilar. Certo? A não ser que façamos assim. Isso está funcionando bem, porque, bem, o primeiro valor é apenas atribuído ao nome. O segundo valor é atribuído ao argumento de palavra-chave que esta chamada mensagem e funciona . - Tudo bem. Certo, Certo, mas vamos tornar isso um pouco mais difícil. Vamos fazer uma mensagem preet e olhar aqui. Temos algo com esse valor frio, depois liberte isso, e então algo bom se chama Sepp. É uma coisa que é chamado separador, que significa que o que está entre cada valor dentro de impressão, mas você pode ver que há muitos mais valores padrão disse aqui. Nós não sabemos sobre eles ainda, mas você pode usar um fora desse valor padrão usando o argumento de palavra-chave Como fazê-lo Bem, primeiro, precisamos usar isso. Precisamos imprimir alguns valores, certo? Então, por exemplo, amostra
amostrada para amostra livre e, por padrão, temos um separador definido dois mundo para o espaço. Podemos fazer algo assim e a função de impressão será executada. O mesmo de sempre, certo? Como se não o usássemos aqui porque este era um valor padrão. Mas podemos mudar o volume de dobra o padrão. Faça algo como, por exemplo, pontos de exclamação. Podemos mudá-lo para, por exemplo, um sinal que é interpretado pelo nosso intérprete enquanto entro. Como você pode ver depois de cada amostra, temos entrar dentro de uso aqui, Um sinal como que decidimos o que é um separador direito entre cada valor. Não, e podemos fazê-lo porque podemos usar o argumento da palavra-chave para que eles queiram que o argumento que pode ser nomeado direito e você precisa nomeá-lo. Podemos fazer algo como, por exemplo, esse direito, porque isso pode ver que é interpretado como apenas um fora do valor. É tudo o que funciona assim porque os pontos livres significa que você pode digitar e a quantidade de valores direita. Então, se você quiser de alguma forma decidir, quer usar essa coisa aqui, precisamos dizer exatamente, “
Ei, Ei, eu quero usar esse cara, é por isso que usamos argumento de palavra-chave. Queremos dizer exatamente qual argumento queremos usar. Ok, já, nós não nos lembramos da ordem dos argumentos sobre você sabe, este é o lugar certo? Este é um verdadeiro uso. Podemos melhorar, por exemplo, nossa saudação fazendo algo que separador. E então vamos dizer que o separador aqui, por exemplo, Toe box barra e apenas para o saquê fora de teste. Como você pode ver, nós adicionamos, entrar aqui. Mas vamos, por exemplo, enviar um separador anos de folga. Exemplo. Vamos criar outro separador de parâmetros e, por padrão, disse que muito espaço certo? Mas então é a tal. Ninguém queria ser também um espaço, mas quando dissemos isso. Então, quando usamos o separador e disse que,
por exemplo, por exemplo, solução de
volta, Como você pode ver, nós mudá-lo, fazer o enter. E agora vamos ver o que aconteceria, por exemplo, quando excluímos a mensagem. Como você pode ver, ele não está funcionando porque a mensagem é necessária, certo, porque nós não definimos o valor o valor padrão aqui. É por isso que se definirmos, por exemplo, evoluímos. Se eu padrão, olá, podemos omitir o segundo argumento, certo? Portanto, cada parâmetro padrão não precisa ser dito. Nós não precisamos enviar o argumento para cada valor padrão, mas precisamos enviar exatamente sobre exatamente e dizer qual deles queremos definir quando estamos enviando DivAll que você gosta, por exemplo, barra
invertida, pensamos que dissemos através do intérprete que queremos definir o separador eso Se fizermos algo assim, reparem nisso. Mas barra traseira e está se esgotando opostas não mostram nenhum argumento. Por quê? Porque é sem nome e por causa dessa ordem importa, que significa que o nosso cartão geralmente é igual ao nome e caixa de barra final. Quero dizer, bagunça no nome é igual ao nosso cardio e mensagem é igual a Boxer Span, o que significa que nossa mensagem é realmente uma barra invertida. E não, não
é um separador agora,
certo, certo, Porque a ordem importa se você quiser alterar a ordem, você pode facilmente fazê-lo definindo,
por exemplo, uma chave para o valor, Certo? Nós dizemos exatamente: “
Ei, Ei, eu quero dizer esse cara para resumir, nós usamos os argumentos de nome. Então os argumentos que têm chaves antes dos valores para alterar a ordem fora argumentos ou se você quiser dizer exatamente qual argumento nós queremos mudar, certo? Se houver muitos valores padrão, vamos mudar um específico. Precisamos usar o argumento da palavra-chave, e usamos disposição pose de argumentos. Tipicamente certo. Normalmente, usamos os argumentos de posição que basta assinar na ordem que enviamos foram assinar neles para
os parâmetros que estão aqui. Certo? Isso é tudo na lição. Muito obrigado.
51. EXERCa EXERCEM de de de uma de ação: que se verificar se o valor em recipiente de em que se em que se em em: Olá, irmão. É hora de se exercitar. Agora você deve escrever uma função que irá verificar se o contêiner contém o
valor pesquisado aquele que será fornecido para a função. E se o valor for encontrado, retorne true. Caso contrário, retorna false. Em seguida, você deve verificar o desempenho fora de sua função no set e em alugado que contém mais de 1000 valores. Ok, então no set contenha. Parece que pelo menos o recipiente que se parece com isso e tentar fazê-lo agora ao longo quando você sentir que você voltar para ver o que eu fiz para comparar com o seu próprio casaco, se você pode fazê-lo também, você sabe exatamente o que minha palestra, e, em seguida, tente fazê-lo novamente por conta própria. Ok, então vamos criar Ah, função é volume dentro e que valor vai levar? Que valor estamos procurando? E, em seguida, se esse valor está dentro do recipiente por exemplo como esse,
em seguida, retornar true e caso contrário retornado cai. Vamos verificar. Se isso funcionasse bem. Então o valor está dentro? Então, de que valor estamos procurando? Por exemplo, 500 que é Prince serão devolvidos. E como você pode ver, é verdade, porque nós geramos os números humanos a partir de zero dedo 999. Então morremos 151.500. Você pode vê-lo através da falha do terraço. Então tudo funciona bem. Mas agora precisamos verificar o que é mais rápido para o menor recipiente ou definir recipiente. Se estamos procurando algo dentro do recipiente e vamos usar o desempenho da função que escrevemos algumas palestras antes, então desempenho da função e devemos enviar sua facilidade valorizando como o primeiro argumento. O segundo argumento é que valor a. Nós estamos olhando para fora do exemplo 500 então quantas vezes nós queremos toe envolvido disfunção E como você pode ver agora, isso como no argumento dos tempos é realmente útil porque o que, antes que pudéssemos apenas aumentar o alcance dentro da função ,
certo, poderíamos aumentar que estamos gerando, por exemplo, 500 milhares de números e ainda poderíamos verificar até onde algo vai ser gerado. Certo, porque nós apenas aumentamos os números e podemos ver o aumento no tempo. Mas agora nós apenas retornamos verdadeiro ou falso, isso é tudo. Então precisamos invocar isso muitas vezes certo, e agora é muito útil. Podemos alterar o valor padrão para, por exemplo, 50.000. Está bem, Andi. Bem, precisamos imprimir um pouco assim. E quando você executar nosso módulo, você vai notar que ele leva apenas 100 segundos de desconto, certo, e nós executá-lo. Quantas vezes? 50 mil. Isso é muito longe, não é? Agora o que está mudando? Dedo do pé deste recipiente. Como você pode ver, leva cerca de 2025 vezes mais para fazer o menor recipiente. Então, sim, há uma diferença. E o que é mais, a diferença depende de quão grande é o nosso conjunto ou leste e do que estamos procurando. Porque não é que nós íamos procurar, por
exemplo, o primeiro elemento. Vai ser rápido, o mesmo que no contêiner, certo? Como você pode ver, é rápido, muito rápido, quase a mesma habitação, mesmo a mesma. Mas por que é assim? Porque quando você tem uma lista você precisa comparar cada elemento e nós estamos começando desde o primeiro todos os direitos das mulheres porque em nossa situação estamos bloqueando os incêndios. O limão está na 2ª 11 isto ou realmente em algo que Brent este recipiente você, não em vez do segundo membro e este, certo? Então ele não precisa ir mais longe em caso de deslocamento Container. Não importa porque é otimizado para procurar coisas que não sabemos onde estão. Isso é muito legal sobre o conjunto contendo direito. Nós apenas gostamos, Ok, ele vai ser encontrado. Além disso, quando tentamos encontrar algo que exista dezenas, a diferença será ainda maior. Olhe no conjunto recipiente é 0,1 à direita em sua contagem Liss. Agora precisamos ir para a lista inteira, certo? Tão verdade, 101.000 de elementos e não encontramos. Então retornamos falso. É por isso que é muito lento para coisas assim. Olha, quando até aumentar o número. Repare que agora vai demorar ainda mais. Certo? Mas no caso de Off disse, quase não haverá diferença. Porque quando fazemos algo assim, como podem ver, ainda
é o Rio Va. Tanto quanto você pode ver por causa do nosso desempenho de função, podemos verificar o desempenho da função Annie agora. Então, sempre que você sentir que você sabe, eu não sei o que devo usar para fazer meu programa funcionar melhor do que você pode usá-lo muito facilmente agora. Certo. Como você pode ver, podemos verificar se o valor está dentro de um dos contêineres e podemos verificar qual deles é mais rápido, certo? Qual recipiente deve ser usado para procurar coisas. E como podem ver, o vencedor está definido. No entanto, como sempre lembre-se
, depende de como limões comuns em. E lembre-se também que o conjunto de contêiner está na sequência ordenada off elementos. Então depende do que você precisa, certo? Se você tem que tê-los em ordem do que você deve usar. Claro que sim. Menos certo? Depende. Você sempre pode verificar. E então também olhar para o seu programa o que ele faz. O que deve ser mais importante nesta situação? Ok, isso foi feito na lição. Muito obrigado.
52. Argumento de comprimento de variável: Olá, todo mundo. Nesta última palestra, fiz uma coisa horrível. Fiz isso especialmente para te mostrar uma coisa. Olhe aqui. Tivemos que definir o conjunto contendo todo este recipiente manualmente, a fim de verificar como eles funcionam direito. Essa é uma péssima solução. Tivemos que mudá-lo manualmente. Não deveria ser assim se você tivesse,
por exemplo, por exemplo, 100 vigaristas Tinners. Você imagina? Faça isso manualmente. Sabe, você poderia colocar todos os recipientes em outro recipiente e depois usá-los dentro de uma
noiva baixa . Você pode usar o desempenho da função e enviar cada um do recipiente é um dos argumentos. E isso é tudo o que você poderia fazer isso instantaneamente saber que manualmente estão criando 1000 funções para outro continente. É uma má solução. Você deveria definitivamente toda vez que você vê algo assim, faça assim, certo? Então você pode agora enviar aqui como argumento o contêiner que eles querem verificar. Mas eu fiz isso também ser chamado assim porque, bem, nós ainda não sabemos sobre muito argumentos Boland, que significa que não sabemos como enviar uma quantidade desconhecida de argumentos. Quando não sabemos quantos argumentos off são antes de invocar uma função. Olha, agora temos aqui. Algo assim é valor em e está salvando para funcionar. 1500 está afirmando isso e isso está economizando dois dias, certo? Mas se você está agora aqui, por exemplo, disse Cohen Turner, este é o estado nesta doença afirmando que isso está salvando para isso ou talvez sendo tentado definir algo, mas não é visível porque você pode ver que nós nomeamos quantas vezes aqui . Então, talvez tentemos salvá-lo aqui. Mas essa coisa é desconhecida, certo? Para o intérprete. Quando você executa nossos módulos, você pode ver que temos vários valores para argumento. Quantas vezes acertou isso e isso. Precisamos de alguma forma salvar estes dois tipos. Achas aqui como o fazer? Como vender este problema Para resolvê-lo, precisamos adicionar a estrela o sinal de asterisco antes do nome desligado. Variável. Agora, isso está salvando para isso e agora cada um em um nome é muito importante cada argumento sem nome . Então estes são nomeados estes sem nome. Este é um argumento chamado vai ser guardado nisto. E então isso vai ser seguro aqui agora. Quando executamos nosso módulo, ele quase funcionará bem. Por quê? Ele não trabalha. Tudo bem. Porque quando publicarmos argumentos agora aqui você não vai. É isso que é um tombamento? Eu acho que precisamos mudar a quantidade que estamos verificando Que, como de 10.000. Faça, por exemplo, 100 e também em casa. E as vezes que precisávamos, como, por exemplo, uma coxa. Ok. Ok. Não. Agora podemos ver que temos aqui. 1000 e 500 e o conjunto que enviamos para cá e guardou em quê? Na torneira. Tudo. Então essa coisa é realmente um toque, então nós podemos usá-lo aqui porque nós não esperávamos na função é o valor em um tapa. Esperávamos argumentos. Então, a fim de ter certeza que eles falam como dois argumentos, nós precisamos também aqui fora uma estrela. E agora, quando executamos nosso módulo, como você pode ver, tudo funciona bem. Verificamos o contêiner, certo? Nós fazemos isso. Por exemplo, 500 morre como você pode ver 500 vezes está aumentando a batida, então é um pouco mais lento. Ok? Funciona bem, certo? Então agora conseguimos salvar acima de tudo isso nisso e realmente, é um top do que significa que você pode usá-lo como um tombamento para que possamos entrar no primeiro argumento apenas ou para o 2º 1 Certo? Então isso significa que você pode usar loop toe, passar por cada argumento Se houvesse mais,
porque, bem, bem, este é o nosso exemplo. Você poderia ter um exemplo diferente no futuro. E você pode querer ir para cada argumento à direita e verificar qual é o valor de cada argumento. Então, isso também significa que você pode criar uma função com apenas um parâmetro como esse com as histórias dos EUA, e você pode enviar quantos valores quiser e então você pode adicioná-los. E este também é um bom exercício. Eu tentei fazer isso tão mega função que você pode invocar assim contagem e você faz algo assim, certo? E eu quero ter, como resultado lá alguns de todos esses volumes você pode fazê-lo. É um bom exercício depois desta palestra. Certo, mas ainda não terminamos. Olha, há mais algumas coisas a dizer. Toby está aqui. O que acontecerá se removermos esse argumento de palavra-chave? Certo? Removemos que o nome para este argumento. Quando você ficar sem módulos, ele saberá o trabalho. Tudo bem. Por quê? Porque é valor em é atribuído a isso. Isto é um sinal. Mamas. Este é cientista, e isso também é atribuído a eles. Mm. Por que é ele mesmo? Porque ele vai tomar qualquer no argumento nomeado. Agora tenho o nome. Este é um argumento sem nome agora,
então, a fim de resolvê-lo, você pode nomeá-lo certo? Você pode mudar a ordem aqui, e eu acho que é uma boa idéia dedo do pé. Sempre tê-lo como um parâmetro de perda. Está bem, isto. Obrigado. E assim podemos mudar a ordem aqui. Certo? E agora nós não me nomear o valor que isso envia dedo do pé. Quantas vezes? Certo? Este não precisa de ser nomeado, por isso é muito importante. Lembra-se dos argumentos da posição? O argumento sem nome deve ser antes do argumento nomeado. Ok, isso também não é o fim. E se eu quisesse nomear ou cada um fora deste argumento? E se eu quisesse fazer algo como valor mundial igual? E então eu gostaria de fazer algo assim. Contêiner é igual ao conjunto. Conter, para se certificar de ver o que cada um fora do argumento significa. Certo? Havia alguém brigando aqui. Quando estamos olhando para isso chamado agora, estamos fora disso. Sabe o que significa esse volume com esse valor, certo? É um pouco claro assim. Mas quando executamos nosso módulo, não funcionou. Tudo bem, Porque estes pensam aqui, o parâmetro aqui nós ganhamos. Starr perguntou. O risco só pode proteger os sem nome. São argumentos posicionais. Ok, este argumento e o argumento é nomeado um porque esta coisa, esta variável é realmente um tombamento. Você quer usá-lo como um dicionário, você precisa aderir. E asterisco de mãe. E agora, quando o trouxermos aqui assim, você vai notar que andamos em um dicionário, certo? Colchetes, colchete e valor de chave interna, valor chave. E você também pode usá-lo como um dicionário como esse, por exemplo, eu quero obter o valor para o valor do mundo, e então você pode comparar se isso for igual a então fazer
isso, tudo depende de você. Depende do seu programa. Certo. Então este é realmente um dicionário agora, mas se quisermos usá-lo como nosso humano para isso, acho que aqui também precisamos sair daqui. Outro asterisco. Ok. Outra estrela? Não. Agora, quando você estiver em nosso módulo, ele vai funcionar bem. Você pode pensar que essas obras encontrar para escrever porque temos um resultado não é verdade quando estamos em outro desempenho função E por exemplo, nós mudamos o recipiente aqui toe este treinador vai, você vai notar que ambos os resultados são quase iguais. Isso é porque não funcionou. Tudo bem. Como você pode ver agora ele funciona bem. Grandes chamadas. Bem, é
assim que se faz. Você só precisa aderir. Outro asteróide antes de você, estávamos enviando alguns valores que não eram valores apropriados. Ok? E bem, funcionou bem, porque só usamos aqui. O que em se ele funciona em terra realmente variedade, que provavelmente se algo está dentro de algo. Então é por isso que funciona de certa forma. Mas você não se lembra disso sempre. Se você tem dois começa aqui e você quer usá-lo dentro de outra função do que você precisa pisar duas estrelas aqui. Também, Se há uma estrela do que uma estrela, não
há início no nariz. Ok, então esta é uma palestra muito importante porque agora você é capaz de criar uma função que pode tentar e ver como algo funciona. E não nos importamos com argumentos de Haman. A função que temos, certo? Podemos inventar qualquer função que quisermos agora. Não tem um ele e apenas enviá-lo para o desempenho da função envolve-lo em rebocá-lo como rentabilizar como você quer. Não importa quantos argumentos eu tenha. Ainda vamos trabalhar. Tudo bem. E isso é muito poderoso. Certo? Ok, então sem terminar a palestra tentou duelar as coisas que fizemos aqui e também como um exercício . Tente fazer uma função que faça algo assim. Essa é apenas a lição. Muito obrigado.
53. Variáveis locais de de e: Olá sobre hoje. Nós vamos falar sobre olhar para fora e variáveis globais. Bem, o que é uma olhada? Able não seria uma função criativa, por exemplo, Adam. E quando criar variável, por exemplo X e enviamos atribuído para obter cinco. Essa coisa é chamada de variável local. É local, mas o que significa que é local? Significa que existe. vida é apenas entre isso e essa coisa, o que significa que quando deixamos a função, ela não existe. Animal é uma dieta. OK, isso significa que é local. Significa que o memorial está livre. Não existe mais. O que significa para nós? Quando fazemos algo assim, você não vai é que temos um estreito porque X não é definido porque é definido localmente Onley entre o início eo fim fora da função. Então, quando paramos de fazer recuo aqui, certo, essa coisa não existe mais. Talvez você pense Ei, mas você não invocou esta função. Certo, vamos evocar essa função assim. Você notará que o selo não está definido. Por quê? Porque o nosso programa funciona assim. Nosso intérprete reITa a definição de função que ele não entra na função porque ela ainda é invocada. Então ele vai para a próxima linha como esta e ele diz, Oh, eu preciso invocar na função. Ok, então eu pularia aqui. Eu criaria uma variável local. Estamos designados para isso? Cinco. E bem, agora eu fui destruído sua variável local porque nós deixamos a função direita porque nós estamos pulando de volta aqui e Bem, porque nós não devolvemos nada. Era algo como nenhum. Tudo bem, não aconteceu nada. E agora imprimimos o X, que não existe porque, ei, esta coisa foi criada aqui. Já foi morto. Já o acusou. Certo, não existe mais. Então diesel. Hm. Então, o que essa variável global você pode perguntar a si mesmo quando criamos uma variável como, por exemplo, desta forma, esta variável é agora global. O que isso significa? Essa variável é real, mas significa que ela existe em todos os lugares, mesmo aqui. Mas porque criamos um local foram capazes aqui com o mesmo nome, isso agora é mais importante no contexto local. Então, nesta função, o que isso significa? Quando rodamos, nosso módulo vai notar que temos aqui X nós mudamos x um e esta variável
coexistir,o coexistir, que significa que existe ao mesmo tempo com esta variável, certo? E mudamos o X para cinco. Mas no contexto local, o Onley está aqui. Está bem, mas é muito fixe saber que podemos fazer algo assim. , Não, como dívida em desordem, porque habilidade em ordem é muito importante porque,
bem, bem, lembre-se que nosso intérprete vai linha por linha, certo? Então, quando ele vê Deus, ele salta aqui e ele não sabe sobre X. Precisamos criar uma desculpa, porque então ele cria uma variável global X e então nós pulamos aqui e imprimimos X direito. É por isso que você pode ver que é um para que você possa agir nesta variável global. Mas quando você muda algo aqui, por exemplo, assim, você muda apenas o valor que está aqui, certo? Não aqui. Quando você imprime exe você notará que o X aqui do escopo global ainda é igual a um. Se você quiser acessar esse cara aqui, precisa dizer exatamente que quero acessar esse cara aqui e comprá-lo. Você precisa direita na parte superior da função. Algo assim. E agora mudamos o X daqui. Ok, porque agora dizemos que queremos acessar nas próximas linhas na função o X do esculpir
global. Ok, então daqui, caso contrário, o que nós criamos aqui, quaisquer variáveis que são criadas dentro das funções são do escopo local. OK? E também é muito, muito, muito importante saber que sempre que você cria um parâmetro como esse, esta também é uma variável local. O que significa quando enviamos, por exemplo x aqui assim? Então, quem criou o crescimento? Uma variável global aqui e então nós enviamos aqui. Então aqui está um e mudamos de 1 para 50 aqui, vamos ter 50. Mas o que será aqui? Você notaria que é um. Ainda assim, não
mudamos o valor daqui, certo? Não mudou. Por que é assim? Porque o perímetro é uma variável local? Ok, então nós não mudamos X daqui porque é global. Mesmo se tentarmos adicionar o global antes exe aqui, ele não vai funcionar porque temos aqui e sintaxe, nome da
seta, sai parâmetro e global. Ao mesmo tempo, ele não sabe o que fazer, certo, porque temos o perímetro. Nós apenas olhamos para fora e dizemos que queremos usar a variável global. Mas agora, mais tarde, ele não saberá o que exatamente quer fazer. É uma era, certo? Ele esquia apenas confuso. É por isso que quero criar um perímetro. Este perímetro é a pé. Como e você só pode fazer o que você faz em variáveis locais. Ficará dentro de sua função audaciosamente desligada. Então, entre o início e o fim da função, quando a função termina seu trabalho, isso é tudo. Olha, todos os rebeldes foram destruídos. Certo, então é muito importante se lembrar da morte. Olha, todos os Ebel deles são temporários, e uma vida é entre o início e o fim da função careca. Ok? E quando você nunca cria favorável dentro de uma função. Oh, como parâmetro, é n sampley. Uh, olhe para fora variável. Ok, quando você cria um favorável fora do escopo da função Então como, aqui é um global eles são capazes que você pode agir. Está em qualquer lugar, mesmo aqui dentro, na função bem na função de garrafa. Mas se você quiser mudar o valor dele. Você precisa adicionar antes do globo. Mas você só pode fazê-lo quando você não tem um parâmetro com o mesmo nome. Está bem, Onda. Bem, é importante para você entender esta palestra para não cometer alguns erros no futuro. Ok, você pode estar se perguntando quando devo usar variáveis globais? Quando devo usar o visual da Arábia quase sempre. Você deve tentar fazer variáveis locais porque quando você faz variáveis globais e você
tem muitas funções e você tenta acessá-las, então é difícil, você sabe, com ampliações quando você tem ampliações de muitos funções, ele é cortado para o esporte onde eles estão exatamente. Ok, Sempre que você pode ter uma variável temporária, tente criar uma variável temporária como, por exemplo, parâmetro e valor enviado para outras funções como argumentos. Ok, que isso é melhor. OK, no futuro, você também aprendeu sobre classes onde você pode chamar a função net com propriedades que são muito ambas. E qual é a melhor solução que você aprende no futuro? Por agora você tem, por exemplo, um global foram capazes que você pode enviar a função sobre. Então você pode alterá-lo localmente assim. Certo, isso é só uma lição. Muito obrigado.
54. Objetos Immutable de e mutável: Eu sinto muito. Eu menti para você no início dos carros. Por que eu fiz isso? Porque eu não quero que sua cabeça exploda ou cérebro. Bem, a verdade é que Abel está lutando por nossos objetos. Mas o que isso significa? Que alguma vez capaz é um objeto? Objeto é realmente algo como invariável, mas tem mais recursos. Ele pode fazer muito mais do que apenas mostrar valor. Ok, ele pode fazer muito mais do que você sabe, um sinal mudar volume para que você possa invocar uma função em seu objeto. Você pode ter muitos valores diferentes dentro de um objeto. Ok, então é um tipo de dados mais complexo. Mas para tornar isso um pouco mais fácil para iniciantes, chamamos coisas que aprendemos variáveis. Então a verdade é que quando você cria uma variável, por exemplo X e você atribuiu a ela cair, você está realmente criando um objeto. Bem, isso
significa que tem características e apenas mostrando valor? Chove que você pode ter muitos valores diferentes lá. Bem, você pode. Mas isso não significa que nós sempre temos em nosso caso em professor vai manter apenas um único valor com isso de fato. Er o número inteiro. Mas você também pode invocar uma função em um objeto. Cohen Waga função em X. Vamos em torno de Ex Dot emocional Quem? Lance terra. Existe uma função como essa. Está bem. Então podemos verificar quantos bits leva em nossa memória. Direita vai aumentar isso. Oh, ok. Por isso, é preciso mais. - Não. Certo, isso é legal, certo? Poderíamos invocar uma função própria de seu objeto. E a verdade é que a disfunção agora se chama Met it ok? Métodos são realmente funções que são chamadas em objetos. Ok, este é apenas um nome diferente para ele, mas bem, revê a função. Nome Não se incomode. Ah, fique com raiva de você. Está bem? Voltaremos para a nossa palestra. Então temos um objeto agora. Ok, então nós realmente temos realmente um grande objeto. E o que isso significa para nós? Olha, vamos criar uma segunda variável, por exemplo, por quê? E vamos atribuir os ovos do dedo do pé oito x E então vamos mudar. Por que, Por exemplo, gêmeo, quando executamos nosso módulo, não
vamos é que X é igual a quatro. E por que é igual a 20? Isso não é nada de surpreendente, você pode pensar. Bem, a verdade é que é surpreendente quando você está falando de objeto. Eu vou contar isso em breve. Por quê? Bem, a verdade é que quando você faz algo assim, quando você invoca uma função, eu d. Você vai notar que nós temos aqui? Número? Este é um endereço de Meribel. Como você pode ver, essas variáveis têm endereços diferentes. Certo? Mas o que acontecerá se eu fizer algo assim? Quem você não vai. Isso é por um único momento? Então aqui a variável, o objeto Por que realmente estava tendo o mesmo endereço que o objeto variável X? Quem? Por que isso te mudou? Porque você está garantido que é um objeto de ervas necessidade o que significa que é um antigo capaz. É por isso que sempre que você faz algo assim, você tenta alterar a razão pela qual outro valor mudaria criaria um novo objeto. Em breve será um pouco mais de carreira. Mas por enquanto, observe que o sinal de igual é realmente atribuir um endereço onde os quatro são colocados em nossa memória. Porque porquê? Porque assinamos extra por que designamos realmente para ele, certo? E atribuímos a mesma memória de endereço. Está bem. E depois, quando mudarmos. Por quê? Para 20? Atribuímos um novo endereço na memória. Certo, vamos ver como funciona. Quando usamos, por exemplo, listas. Vamos rebocar pelo menos uma amostra como essa. E vamos, por exemplo, uma libra. Então você valoriza aqui. Certo? Por
exemplo, For But antes que irá criar uma amostra de lista para e vamos atribuir à Itália. Amostra um. Você vai ficar chocado. O que vai acontecer agora? Vamos amarrar esta amostra. Deves estar a pensar que sim, ele vai adicionar por aqui. Mas o que acontecerá se fizermos algo assim? Uau. Então nós mudamos realmente o valor aqui, mas nós realmente mudamos aqui. Como é que isso aconteceu? Aconteceu porque quando você faz algo assim e então você faz algo assim, você notaria que eles têm o mesmo endereço. Ok, esta etiqueta e esta etiqueta apontam para o mesmo endereço na memória. Este é apenas um suporte de lugar. Um nome para o endereço, certo? E apontam para o mesmo lugar. Então esta amostra um e amostra do dedo do pé está realmente apontando para o mesmo lugar. E esses tipos de objetos chamados mutáveis porque você pode mudar o valor e ele vai mudar em ambos os lugares. Você não tem certeza do que vai acontecer quando você enviá-los para a função. Falaremos em breve sobre esta função. Então, por enquanto, você só precisa lembrar que temos boa mudança mutável, objetos
capazes e imutáveis, que estão em forma de tendência. O que significa exatamente? Bem, vamos criar uma função. Por exemplo, anúncio em Vamos enviar Sua de são Able e isso é, por exemplo, aumentar. Mas por uma quantia assim. Andi, isso é ST X X mais a quantidade. Ok, vamos remover isto por um segundo e vamos fazer algo assim. Então estamos enviando ovos e há um, um, enfiá-lo sob o comentário. Então, mandamos o “Desculpem “, certo? Vamos ver o que é dedão explicável. É igual a cair. Mas aqui dentro está a igualdade cinco fritos cinco. Mas ainda é igual para a última palestra que aprendeu que temos aqui uma
variável local é uma variável global. Isso é seu, uh, porque estamos criando aqui e um novo espaço reservado, um novo rótulo para X, que vai desaparecer no final da função. Não há algumas coisas que você precisa para roubar terras. A verdade é que quando eu faço algo assim e eu fiz algo assim e então faço algo assim você não era. É que os outros de X estão no final 592 então quando nós o envolvemos. Então aqui ele ainda é 592 Porque a verdade é que nós fizemos algo assim dar x igual X e nós realmente atribuído a Ele foi porque era para aqui. Nós realmente designamos aqui para o que significa que nós atribuímos endereço que os quatro estão sob ok. E aqui de alguma forma o eu d mudou. Por que mudou? Ele mudou porque este é um objeto imutável, o que significa que você não pode alterar o valor a partir daqui. Por que é tão importante saber quais variáveis são imutáveis é importante para você? Porque se você sabe que o objeto é imutável como, por exemplo, inteiro lá você vai saber que quando você enviar um valor fora do objeto para outra função, você tem certeza de que ele não vai mudar no escopo global, certo? Você sabe, mudar aqui. Bem, alguma forma pode mudar, sabe, por dentro. E você pode brincar com eles o que quiser. Mas depois disso, você tem certeza de que ainda será igual ao mesmo valor que você enviou. Ok, então é como se eu tivesse Ah, vá orientação que nada mudará meu volume aqui. Ok, Além disso, eu gostaria de acrescentar aviso que quando fazemos algo assim, G é igual a 20 h igual a 20 quando você executa nosso módulo e fazemos algo assim. Onda, como se você não fosse é que eles têm o mesmo endereço porque há uma otimização em segundo plano, certo? Estes são os mesmos valores. Por que eles deveriam criar outro lugar na nossa memória? Mantém o mesmo valor, certo? Estes são apenas espaço reservado. Estes são apenas rótulos que estão mantendo esse valor. E isso mudaria quando eu fizesse algo. Por exemplo, idade porque 15 você percebe que a idade agora está tendo uma idéia diferente. Mas quando eu mudar o oito de volta para 20 você vai notar que é um voltou para esta idéia. Está bem? Pode ser um pouco confuso por enquanto, mas você precisa saber que sinal de igual significa realmente mudar o endereço. Não significa mudar o valor. Isso significa que você está mudando as outras coisas agora o objeto aponta para um lugar diferente na memória. Ok, isso é muito importante para entender o que acontece em segundo plano. Está bem? Não é o que você vê. E você acha que isso é igual? Assine comigo, certo? Causando nos cartões de matemática que você aprendeu esse sinal de igual significa que algo é igual a algo, certo? É tudo o que você pode ver valor e adotar. Mas programar significa que você está mudando o endereço em segundo plano. E é assim que funciona. OK, e agora vamos jogar um pouco mais. Vamos tomar este sob para comentar estes sob o comentário e vamos fazer algo sobre o nosso direito
liberado. Vamos criar uma missão de função que vai uma libra, uh, elemento para listar. Então terminamos no elemento final. Então isso é algo que, e isso é apenas anexar no elemento final que será enviado para ele. E talvez vamos verificar o início de Dally City e no final. E agora vamos envolver disfunção. Então vamos envolvê-lo. Vamos enviar a menor amostra e vamos apagar,
por exemplo, por exemplo, Amber acendê-la no final. Vamos tomar estes sob dois comentários, então temos? Só que é o rei final. Está bem. Como isso. Hum bem, o que vai acontecer? Wenling toe algo só o invoca. Olhe. Invocando. Oh, não, não, não. Não importa. Vamos fazer isso. Algo assim. Vamos verificar o que este arrumado fora da amostra. Então, quando executamos nosso modelo, percebemos que cada vez que o endereço é o mesmo. que significa que quando nós envolvemos esta amostra um objeto quando tentamos entrar no valor dele você não é É que nós adicionamos o 2000 e nós temos nós mudamos a amostra de lista um a
partir do escopo global. E bem, você poderia fazê-lo porque é um tipo mutável fora de objeto. Está bem? Não é imutável. O que significa que quando você muda algo aqui
, mudaria também chave. Certo? Então você perdoa Você também essa maneira e até notou que o valor mudou porque estamos operando nos mesmos outros. Você tem aqui um nome diferente para River para este objeto, é chamado lista, certo? Você poderia chamá-lo de qualquer forma. E também funcionaria no mesmo endereço. E aqui está um volume que lhe chamei seja lá o que for. Então certifique-se de ver que isso é apenas um rótulo. E este rótulo é um objeto local. Olhe lá fora, capaz. Vai desaparecer depois capaz. Vai desaparecer depois
do fim da disfunção. Mas porque ainda existe aqui no âmbito global. E mudamos de valor aqui, vamos ver uma diferença neste lugar. Está bem? Isso também significa que poderíamos fazer algo assim ou dizer ao nosso e mudar, por exemplo, o primeiro cara a, por exemplo, 40. Ok, então isso é importante para você saber, porque quando você envia o menos dedo outra função, você pode esperar que ele não vai voltar o mesmo cinza. No entanto, se você tivesse alguma capela ok, isso significaria que você tem certeza de que vai voltar o mesmo. Ok, você pode fazer coisas
diferentes, diferentes dentro, mas na lista final, cárter, o tombamento seria o mesmo. Mas no caso de fora, vamos amostra em caso de lista. Não, você não tem certeza do que acontecerá depois disso. Está bem. Além
disso, é muito importante notar que se você fez algo assim,
o que quer que seja igual se, por exemplo, você faria coisas assim o que vai acontecer? Como você pode ver, nós não mudamos isso aqui. Por que, você pode estar pensando porque a verdade é que seria o mesmo que escrever, por exemplo, desta
forma era a diferença. Você pode estar pensando. Sinal de igualdade significa mudar o endereço. Então, estamos realmente mudando. Bem, vamos a partir daqui criticamente amostra de uma lista com alguns valores. E a verdade é que estamos tendo esses valores em algum lugar começando a memória. E estamos apontando para o murmúrio com esta amostra da lista. Está bem? E depois trazemos a informação podemos ver outros Underwood. É que esses valores são segurar. E então temos uma definição que nós que o intérprete vai passar porque
não o invocamos . Mas aqui estamos invocando, certo. Então estamos enviando a menor amostra uma vez ou rescindindo isso, mas estamos enviando realmente não esses valores, mas estamos enviando. Conseguiu este endereço, certo? - Onde? Fazendo coisas assim. Este endereço será que ele vai assinar para destruir o que quer que seja que for, agora Blood para o endereço. Certo? Este endereço. Então este é um temporário capaz de fazer segurar essas garrafas aqui. Nós também estamos enviando 2000. Esse é um elemento que vai ser muito cedo. Então trazemos a ideia do que quer que seja, porque é a mesma coisa. É por isso que temos a mesma luz. E agora estamos criando um temporário sempre capaz de discutir. E também tem uma ideia estranha que,
como podem ver,
é diferente. E também tem uma ideia estranha que, como podem ver, É assim. E então ascenderemos esse endereço diferente para o que quer que seja. Então mudamos o dedo do pé. Nós mudamos o onde ele está apontando para agora escrever o que quer que ele está apontando uma diferença memória
flamejante. E é por isso que aqui temos uma coisa diferente. E é por isso que realmente não mudamos a lista. Amostra um. Porque estamos trabalhando com um novo endereço, certo? Quando fazemos algo assim,
o que quer que seja porque aconteceu agora não mudará isso. Pense aqui porque estamos trabalhando em diferentes lugares na memória. Essa é uma diferença muito importante, certo? Então a coisa mais importante que você precisa lembrar desta palestra é que quando você está enviando realmente um objeto, você está realmente enviando um endereço e você está atribuindo-o. Ele está certo. Mas se você está trabalhando com objetos imutáveis, hum você tem certeza de que no final eles não serão mudança Como, por exemplo, ele certo, nós enviamos o X e que os exes finais no escopo global o mesmo direito. No entanto, se você enviar o objeto imutável, qual é? Mudar objeto capaz Como uma lista que você não tem certeza que iria acontecer exatamente dentro. E você pode voltar um pouco mudado como um exercício. Você não terá um exemplo prático para fazer porque a verdade é que eu sou essa coisa que você tem apenas terra é algo que você deve aprender e saber, a fim de não cometer erros, a fim de ter certeza do que vai acontecer quando você diz dados de um lugar no programa para outro lugar no programa. Então, neste, depois dessas palestras, eu gostaria de você. Então faça as mesmas coisas que eu fiz neste vídeo. Por favor, não pare este vídeo e vá para a próxima palestra. Porque mesmo que entenda o que eu fiz, deveria dizer essas coisas que eu fiz bem. Você deve apenas jogar com o valor, enviar de uma função para outra, brincar com eles, ver como a ajuda funciona. Se você não entende algo, me
envie um exemplo exato de quê? Você não entende por que funcionou assim foi o que aconteceu com você. Gostaria então de explicar se você se referir a algum tipo de colocar o vídeo, por favor me diga as vezes tempo, o momento, o menos e os segundos de folga que você está se referindo. Ok, então seria mais fácil para mim dizer exatamente. E explicar-te melhor. O que você não entendeu. Está bem. Espero que entenda. Se não realmente. Estou aqui para te ajudar, Basil. Certo pessoal, tenham um bom
55. Cópia de sombras de o de o de o: Cabeça para cima, amigo. Vamos imaginar, você tem a função? É uma função maléfica. E quando você enviar os Leeds, eles serão destruídos por destruídos, queremos dizer limpo. Então, quando fizermos algo como essa função maligna e enviarmos nossa lista, você notará que a nossa liberada está vazia e isso acontece porque a lista é realmente um objeto
mutável, certo? Aprendemos sobre comer a última palestra, que significa que quando você envia como um argumento para outra função, você não sabe o que exatamente acontece para comer depois. Você não tem certeza se isso não vai mudar, e às vezes é algo que você quer. Mas e se você não quiser que coisas assim aconteçam, certo? Porque às vezes você quer ter certeza que isso não vai ser mudado. E há algumas coisas que você pode fazer. Bem, a primeira coisa é mudá-lo para o topo. Tudo bem, então você tem certeza de que ninguém vai fazer nada melhor porque não há nenhuma maneira de invocar clara ou mudança no elemento dentro do tombamento. Mas ainda assim, é melhor idéia fazer algo assim porque você pode às vezes querer ter uma função que vai mudar, fazer as coisas na lista, e você quer mais tarde retornado, pelo
menos certo com as dis mudanças. Mas você não quer mudar a polícia original, certo? E o que, então, o que você deve fazer? Você deveria fazer um casal como um enfrentamento superficial. Então, como fazer uma cópia de uma lista? Para fazer isso, você precisa invocar um assunto. Então, uma função em uma lista que é chamada de cópia. E quando você executa este módulo, estamos trabalhando em uma cópia agora, que significa que quando fazemos algo assim, como você pode ver, nós ainda temos a habilidade de valor porque nós limpamos a cópia. E para ver que é verdade, podemos facilmente verificar o que vai ser impresso com a função
ID que devolve o endereço da lista. Certo. Então, quando fazemos algo assim, você e reparem que você e reparem que
Toby destruiu minha lista mesmo não é que este endereço é diferente deste. Mas quando fazemos assim, estamos trabalhando no mesmo endereço, certo? Temos dois rótulos diferentes, certo, Toby, Destruir Grécia e minha lista, mas os outros são iguais. Então, quando limparmos, seria claro em ambos os lugares. Certo, Bob, quando você faz uma cópia, a história é diferente porque nós esclarecemos sobre Lee o direito de lidar. Então, quando você faz algo assim nisso, você não
é, é isso? Sim. O policial foi inocentado, mas o valor original não foi destruído. É por isso que devemos usar cópia quando queremos ter certeza de que nossos valores originais não
serão alterados agora quando você também faz coisas como, por exemplo, dias. Então mudamos o volume um para, por exemplo, 444. Você vai notar que nós vamos mudá-lo Onley na cópia, certo? Se você não usar a cópia, você mudará em ambos os lugares. Ok, mas o quê? Essa é essa palavra superficial, com essa diferença,
porque entre a
cópia superficial e a cópia profunda .
A verdade é que agora,
quando estamos fazendo algo assim, A verdade é que agora, quando estamos fazendo algo assim, realmente criando outro objeto para o professor, certo? Certo. Você aprendeu a partir da última palestra que no professor é realmente objeto imutável, o
que significa que ele garante que quando você alterar o volume e tentar alterar o valor, basta criar outro objeto em vez de alterar o valor fora do objeto. Então, a verdade é que podemos verificar, então, por exemplo, vamos verificar Então Toby destruiu este zero I, Dean, antes e depois de mudar. E aqui nós também vamos mudá-lo assim. Então ocorre quando você executa o moderadamente Nós percebemos que o endereço aqui é assim e depois de invocar um ópio co. Então aqui estamos nós pulando aqui e estamos invocando t sprint. Como você pode ver, este ainda é o mesmo endereço. Tudo bem, porque eu te disse na última palestra, quando você faz coisas como esta, os outros de ambos Quando Irã este módulo, você vai notar que a idéia de um e idéia do é a mesma, certo? Porque há algum tipo de otimização do dedo do pé. Não há você não precisa mudar os outros quando você está apontando para o mesmo valor, certo, há otimização lá e você não precisa fazer coisas como esta. Esta coisa é imutável de uma forma que significa que quando você mudar o valor como você
vai ser treinado e você pode ver que o endereço é mudança feita porque de outra forma mudou. Estamos realmente tendo a diferença de Onley na nossa lista de Toby destruída, certo? Porque aqui está o 444, não há hipótese. Então, se você tem elementos mutáveis dentro deles, você pode apenas usar o cupping raso. Mas casal profundo significa que você copia todos os elementos mutáveis dentro do objeto. O que significa perguntar? Bem, quando você cria pelo menos IHS, eu faria pelo menos. Então, quando você tem mentalistas dentro de outro liberado como este, você realmente tem fora de que objeto mutável e dentro você tem novamente objeto imutável livre . E agora isso não é tão bom para nós. Quando você faz uma cópia, a cópia superficial. Por que é isso? Então vamos mudar o primeiro valor. O que é isto? Então essa coisa ele vai checar para nós? O que é o i d? Acho que vamos ver o que vai acontecer. Como você pode ver, nós mudamos estes pensam aqui para 444 Hugh. E aqui assim também na origem agora lista. Isso é porque nós fizemos uma cópia do que fora menos aqui, mas nós não fizemos uma cópia cada lista aqui. Eles ainda têm o quê? O mesmo no resto. Certo, desligue
o endereço. O valor fora do professor mudou aqui mesmo depois iria mudá-lo. Festa. Fizemos assim. Você não vai é que é o mesmo direito de fazê-lo desta maneira. Em cada caso, o endereço fora da lista inteira ainda é o mesmo. Então precisamos de um dedo de alguma forma. Certifique-se de que quando enviarmos uma lista aqui, haverá também uma cópia de cada lista dentro. Certo, queremos ter certeza de que quando mandarmos minha cópia menor aqui, o endereço será diferente. Como fazer isso? Precisamos fazer um copo profundo, mas observou para fazer uma cópia profunda na primeira cópia importante mais módulo, e então você faz algo assim. Copiar cópia profunda. E então você envia a lista. Agora, como podem ver, há uma diferença quando temos aqui. São os dias de qualidade. Mas aqui, depois de enviar até mesmo os ferimentos, tem idéia diferente. Ok, estes eu ainda não mudaram direito para o Onley original na cópia. Então, se você quiser fazer uma cópia de todos os elementos internos, que é muito importante para elementos que são imutáveis, então você precisa usar a cópia profunda. No entanto, se você quiser fazer apenas copiar fora da lista que tem inteiros dentro de duplas ou strings, então você não precisa usar uma cópia profunda. Porque quando você mudar algo dentro dos elementos menos e imutáveis garantidos garante que não vai mudar o valor original. Certo? É assim que os elementos mutáveis funcionam. Certo? Quando você acha que não precisa pensar sobre o valor original, então você simplesmente não faz uma cópia. Ok, agora eu também gosto de mostrar a vocês uma maneira de fazer um cupping superficial com uma sintaxe diferente. Vou mostrar-to porque algumas pessoas podem usá-la. E você vai se perguntar como funciona? Certo? O que essa matança faz? E eu acho que você deve entender isso só por causa do bem. Então, a fim de fazer um enfrentamento superficial, vocês fazem alguma coisa, senhoras. Então, se eu fosse libertado Serena assim. Então nós mudamos, Por exemplo, apenas esses elementos. Como você pode ver, fizemos uma cópia superficial porque a outra é aqui não é diferente. Depois do que mudar Desvalorizar em. Acabamos de mudar a lista de cópias. Nós não mudamos o original Pode ver que 444 está aqui. Aqui está um. Então nós só função lista de usuários, certo? Para que você pudesse morrer minha cópia. Ou você pode usar apenas pelo menos função e CenturyTel está certo? E há também uma coisa mais complicada quando você faz isso dessa maneira. Como você pode ver, o resultado é o mesmo. Fizemos um policial. Sempre. Como funcionou? Bem, esta coluna aqui significa que queremos cortar o mínimo do início ao fim e fazer uma cópia dela. Então copiamos tudo daqui para aqui até aqui. Mas você poderia, você sabe, dizer algo como, Ei, eu não quero omitir o primeiro elemento aqui. Anos noventa, hum, assim. Como pode ver, temos aqui. 123456 e limões. Aqui temos 12345 Aqui temos 1234 Direito. Então estamos pulando à frente cada vez mudando a posição onde devemos começar a cortar. E aqui estamos sentados na posição onde devemos parar de cortar quando você omitir o lado da
vida do volume no lado direito. O início do final está no fim, então deslizamos inteiro. Tudo bem em. Acabamos de copiar. Muitas pessoas usam isso para isso, e é bom saber que algo assim existe. Mas eu acho que é mais fácil usar apenas uma função de cópia. É mais claro que você pode facilmente ver instantaneamente. Além disso, esses caras estão cumprindo eles. Eu sim, que z mais fácil de ver de negócios aqui. Você precisa saber exatamente que o mundo acontece quando você usa como sintaxe como esta
coisa da vida funciona, certo? Então eu acho que isso é melhor. Ok, essa é apenas a lição deles. Muito obrigado.
56. Funções de as correções de de as ordens? Quando você deve usá-los?: Olá Hoje vou ensinar-lhe o que são funções anônimas. E quando você deve usá-los? Primeiro precisamos aprender a sintaxe para eles e o que eles são. O que é função anônima? É uma função sem nome. Ok, então ele está apenas fazendo a mesma coisa que uma função normal. O corpo não tem nome, certo? Sim, está fazendo isso como criar a função assim? Precisamos digitar uma palavra-chave lambda depois dela. Devemos digitar os metros para que esta função que não tem nome pode usar. Então, por exemplo X Então nós somos o comum. E então dizemos o que devemos fazer com o X que seria enviado para nossa função anônima . Então, por exemplo, vamos multiplicá-lo por dois. E isso é tudo o que acabamos de criar uma função que realmente é algo assim. Por exemplo, multi play X retornar X por. Então isso é realmente o mesmo que isso. Mas isto não tem nome. O que significa que não podemos fazer algo assim. Mas como você pode invocar a função sem o nome, certo? Sim, bem, olha, função é realmente um objeto, então podemos salvar multiplicar dentro de algo dentro de um objeto dentro de um rival, certo? E podemos fazer algo como, por exemplo, um igual multiplicando por quatro, por exemplo. E depois podemos nos envolver assim. Muito bem, , multiplicado por quatro. Sim, claro. Nós já dissemos ouvir que estamos enviando argumentos florestais, certo? Então nós também podemos fazer isso dessa maneira e dizer o que exatamente quer fazer com essa função? Então também, podemos salvar esse cara em uma variável, por exemplo, testar e fazer algo assim e está indo para o trabalho. Mas a verdade é que quando fazemos algo assim, estamos realmente matando a idéia de por que essas funções foram criadas porque há anônimos, eles não têm nomes e essa é a razão pela qual eles foram criados. Quando você não quer nomear uma função quando você não precisa fazer, então você deve usar outra função miss. A questão é quando algo assim aconteceu
, , logo eu diria a você, mas antes que não é que podemos fazer algo assim. Olha, o teste é realmente fazer isso certo? Então podemos colocar essa coisa. O quê? Aqui fora Os parênteses aqui e ele vai realmente invocar isso com este argumento. Então que quatro ia ser enviado aqui é argumento, e vai ser multiplicado pelo dedo do pé e há um cassino. Como resultado, temos um Não. A questão é, por que temos algo que não parece bom comparando com funções normais, certo? Porque não faz seu código parecer mais limpo. O que nos importa em aprender é por que o usamos? Quando é que a usamos? Procure em ordem para filtrar, a fim de sair de algum tipo de lista. Por exemplo, a minha lista. Digamos que queremos obter apenas números pares desses Lee. Então para 24 20 nós poderíamos usar para ele uma função que este chamado filtro. Certo, só
sentimos bebida, Louise. E quando eu abri os parênteses, você notaria que leva este argumento uma função e disfunção toalhas o filtro. O que deve fazer com a lista que vem como o segundo argumento Então podemos enviar segundo argumento, e precisamos dizer o que queremos fazer com ele com uma função para que ele criasse uma função e dizemos que temos um argumento que quer para fazer alguma coisa. E depois dizemos o quê? Queremos fazer isso com ele. Então queremos obter valores que são que quando você usa o modelo Modelo para nele, o resto fora divisão será igual a zero. Esta coisa vai dar-nos um resultado za. Onley, o número certo dois mo dois é igual a zero. É por isso que vai ser escolhido 24 meses 2021 ou mais. Dois é igual a um. É por isso que não vai ser escolhido nesta situação. E precisamos mudar esse resultado de disfunção para o resto, e condenamos imprimi-lo. E como você pode ver, isso é verdade. Nós chegamos até 24 20 mas provavelmente quando você está olhando para estes, você está tipo, você
não nos disse a nossa placa de carro? A compreensão da lista que ele tem Você poderia fazê-lo também desta forma. Minha lista. Poucos sujeira e você poderia fazer X e então para ex dentro da minha lista fazer uma comparação entre cada elemento E se x iss um, Modelo 2 é igual a zero, então escolha elementos como esse. E quando você em torno deste modelo, mesmo notar que o resultado é o mesmo. Então a questão é, qual deles devemos usar isto ou estes? Huh? Eu diria,
você deveria olhar para isso discordante e me dizer o que é mais limpo para você, que é mais claro quando você está olhando para mim. É este. E é por isso que sempre escolherei esta complicação em vez do Lambda. A verdade é que bem, em primeiro lugar, nós nos amamos. E então veio essa compreensão. Então, oh, programadores viram Fightin usado para usar o Lambda uma solução porque eles não tinham algo assim. E é por isso que você precisa aprender o que está nos enganando. O que são funções anônimas? Porque você verá o amor frio com eles. E esta vaca não parece muito boa. É difícil de ler, mas você precisa entender de alguma forma, certo? Porque você não sabe o que cada programador tem em mente. Você deve evitá-los, se puder. Então, se você pode fazer como filtrar valores desta maneira,
em seguida, fazê-lo desta maneira. Existem algumas situações em que nos amou são úteis. O Bud. Nós não vamos falar sobre isso nestas palestra, por exemplo, quando você está classificando elementos que você pode Então, por exemplo, centros são argumento uma função que enviamos disse como eles devem ser classificados quando há muitas propriedades para classificar. Mas você sabe, você não sabe nada sobre aulas agora, então isso não vai ajudar. Por enquanto, no entanto, existem algumas situações em que lambda pode ser útil, certo. Mas você sempre não pode usar lambda e mudá-lo para o que em reboque uma função normal como, por exemplo, a morte. A função,
uh, uh, para filtrar e, em seguida, sotaque. Se ex modelo módulo dois é igual a zero,
em seguida, retornar zero. Então essa coisa é realmente isso. Acha que está certo? Então poderíamos fazer algo assim. E como você pode ver, bem, não está funcionando. Outro retorno zero, mas retornar X e, como você pode ver, está trabalhando o mesmo direito que lam pontos foram criados para situações como esta. Porque se você imaginar que você tem que filtrar muitas vezes de forma diferente, detectar com diferentes maneiras, certo? Eso você precisaria para criar muitas funções diferentes com nomes estranhos em que
não faria o seu casaco mais limpo. Certo. Então, numa situação em que uma função vai ser usada no Lee uma vez, certo? Ele só faz uma coisa, e é muito curto. É melhor fazer um Lambda,
certo, certo, porque uma instituição como esta exatamente como esta, eu acho que Lahm está tudo bem, certo? Mas pensando que pelo menos em situação como agora que temos luta e livre com sintaxe
mais recente com um Syntex melhor com melhores possibilidades, você não precisa usar lambda pelo menos quatro filtragem. Você pode usar esta parte. Você precisa saber como esse código funciona porque você vai encontrá-lo muitas, muitas vezes em carvão em códigos diferentes. Você também pode usar o mapa. Há outra função que não sentimos lá, mas mudará os valores. Então você faz, por exemplo, algo como X multiplicado por dois. Você vai fazer o mesmo que nós fizemos aqui. Então multiplicamos o argumento por dois, e vamos mudá-lo para a lista mais tarde. Com isto desligado. Certo? Então, cada número aqui foi multiplicado por dois. Então argumenta o que fazer com o argumento, certo? A disfunção de Andi diz exatamente o que fazer depois. Bem aqui estávamos filtrando. Então, escolhemos as coisas daqui. Aqui estamos mapeando alguns estamos atribuindo um novo valor. Novos valores para os valores que estavam lá antes, então nós os multiplicamos por dois. O que estamos aqui filtrar o mapa. Estas eram funções que costumavam ser usadas por muitos programadores. E realmente, você precisa entender que o amor faz. Muitas pessoas os usarão demais no frio, e de alguma forma você precisa gerenciar. Então tente entender como eles funcionam. Na maioria das vezes você como um futuro programador pode evitá-los. Isso é tudo na lição, e há sempre que você tem alguma dúvida sinta-se livre para nós.
57. Como desenhar números aleatórios para a criação do programa que que verifica se você em que em de uma pessoa em de: Olá sobre isso. Iam falar sobre desenhar números aleatórios. Então, quando você girar a roda, como você pode ver, vamos ter um número aleatório cada vez. Certo? Aleatório significa que podemos obter o mesmo número. Uh, nós não sabemos exatamente. Qual será o número? Há uma chance de obter cada número que é igual a 10% certo, porque você tem 10 valores que você pode obter. Então há uma chance de 10 pessoas para acertar cada um desses volumes? E, bem, há muitas outras coisas que você pode fazer. Temos coisas aleatórias certas. Você pode virar a moeda para que você possa sentir o gosto, ou você pode obter a cabeça deles. E a verdade é que nossas palavras nossos jogos seriam muito,
muito chatos sem serem capazes de criar números aleatórios. Certo? Imagine o jogo. Foi você jogar, por exemplo. Onde é que está? Morrer. E cada vez que você rolou o mesmo número. Hum, o que você jogou este jogo você ficaria entediado totalizando menos de alguns segundos. Imagine aquele jogo onde você joga um herói que tem sempre 100% de chance de acertar. Não há diferenças entre cada direito de calor. Você não pode ter um exército liderado ou um anel que aumentará esse golpe ao acaso. Este jogo fica chato porque não há nada de surpreendente, certo? É por isso que eu definitivamente na programação desenhar números Randall é tópico realmente importante. E para usá-lo, você só precisa do Teoh importante. São módulos aleatórios, está bem? E agora você tem acesso a essas funções aqui. O 1º 1 irá desenhar um número de 0 a 1, não incluindo um. Ok, este será um número flutuante. Então, quando você faz algo assim, por exemplo isso, mas você precisa lembrar que importamos todas as funções de todo o modelo, então precisamos chamá-lo desta forma. E agora, quando você executar, são módulo que 0.6 para quando eu executá-lo novamente, será ponto zero quando o um Ok, vamos aprender outra função que acabamos de chamar uniformes. Uniforms take é o primeiro argumento onde queremos começar a desenhar números, e no final colocamos o número onde queremos dedos e números crescentes. Então isso é, por exemplo, para alguns conectados de 0 a 100. E este é o resultado nos dará, por exemplo, 57 65. O resultado será diferente a cada vez, certo? Mas ele vai começar a partir de zero e terminou 200 Nota, incluindo 100. Às vezes, pode incluir 100. Mas está no Lee porque os números no nosso computador são números flutuantes, certo? Então os números que têm a parte da fração são bem específicos. Eu não quero ir muito fundo sobre o assunto, mas quando há, você sabe, tantos noves como por exemplo, nós temos algo assim, então será igual a 100. Ok, isso é apenas dizer isso. Vamos fazer alguma coisa. Carter agora, como, por exemplo, foi criado. Por que lope? Isso vai correr 100 vezes. Então precisamos exagerar bola e vamos aumentar X em um. Cada vez que executamos esta esperança, e você vai notar que temos o que muitos membros aqui, direito de 0 a 100. E todos eles têm uma fração porque,
ah, ah, uniforme bem dirigiu números que são jumpers flutuantes. E agora imagine que você quer criar um jogo? Sim, um jogo onde você tem uma arma, uma arma que tem uma chance de acertar. E essa chance de arma acertar seu cofre em algum lugar, certo? Exemplo de chance de acertar percentual de arma. E, por exemplo, tem 50% de chance de acertar. Então, uma vez que você bate na segunda vez, você não bate. Ok? E agora queremos bater em alguém, certo? Mas precisamos verificar se vamos bater nele. Como faríamos isso? Onde eu acho que devemos criar uma função que vai chamar, por exemplo, foram armas atingidas. E aqui vamos enviar a porcentagem de chance da arma que vamos usar. Certo? E agora temos quando você faz o que criar número aleatório. Porque precisamos ver se temos chance de acertá-lo. Certo. Então o resultado de 0 a 100 nos dá, você sabe, a chance total, certo? A perspectiva de todas as chances. Então aqui está uma chance de aquecer, certo. E agora precisamos comparar se a chance de acertar é menor do que a arma com chance de acertar fingindo e v. Então retornaremos se acertarmos no cara ou não. Bem, nós somos os caras que estão tendo uma arma, então talvez pudéssemos escrever assim. Então, para ser mais fácil de entender. Então, se a chance de arma acertar nossa arma é maior do que a chance de acertar certo, aquele que nós aleatorizamos que aquele que fazemos números a partir de então nós retornamos Acertar, por exemplo, certo normalmente, você sabe, bater o mais deixe fazer seus pontos filho durar tanto tempo Lá depende o que este jogo seria . Caso contrário, basta bater retorno, não bater é uma versão simples do jogo e não Então, o que pode verificar se a nossa arma vai acertar alguma coisa? Seja o que for, temos 50% de chance de fazer direito. Dizemos que temos 50% de hipóteses de o fazer e podemos facilmente envolver-nos assim. E como você pode ver, ele diz, Ei, nós acertamos, ótimo que executar o modelo novamente. Nós não batemos. Isso é certo no jogo, não bater de novo. Bem, é possível não bater duas vezes seguidas. Certo? Quando jogamos uma moeda, podemos dormir a moeda e ter gosto, e podemos, é
claro, ter novamente gosto. Mas talvez sejam chapéus, certo? Depende da nossa sorte e informação. Depende de que lado estamos. Ok, então vamos acertar com arma e temos aqui 50% de chance. E vamos, por exemplo, executá-lo algumas vezes. Vamos praticar um pouco. Foram coisas que aprendemos com palestras antes. E vamos fazer algo assim para que possamos Aronne, talvez vamos tomar isso sob o comum porque nós não precisamos desta parte do mais. E como você pode ver, nós vamos bater. Acertar, acertar, não acertar. Hit, hit, hit, hit. Vamos contar este. Não há criança para libertar. Certo, só
estou brincando com você. Hum, isso é programá-lo. Quantas vezes batemos em alguém ou não, certo, porque estamos. Somos programadores, certo? Não devemos fazer nada manualmente, manualmente, quando você pode. Quando podemos fazer isso, temos programa, certo? Então vamos contar como contar. Talvez. Vamos criar, por exemplo, pelo
menos, que vamos chamar, por exemplo, um, bater menos assim. E vamos estranhar acertar a lista no final. Exemplo. Algo assim, certo? E agora nós temos. Arma atingida no final, e podemos trazer os direitos e podemos executar o módulo pode trazer. Fez como você pode ver, temos agora dentro, pelo menos, e podemos usar, por exemplo, pode funcionar este consumo. Batemos em alguém 47 vezes, não em Wicked 53 vezes. Isso é ótimo, certo? Então é muito perto de 15. Nunca nos acertamos. Pode ser 50 e 50, certo? Mas para que você possa ver isso acontecer agora. Mas isso não significa que tenha que estar certo. Esta é essa probabilidade, o que significa que bem, tudo é possível. Mas ou o quê? Você pode ver que são 43 só agora com sucesso, certo, então não depende realmente da sua falta, certo? Uma chance de 50%. Mas a verdade é que muitas coisas podem acontecer, então a chance é muito próxima de 50%. Como podem ver, uma vez que conseguimos 50%. Mas aqui houve uma situação um pouco diferente. Mas isso realmente depende de quantas vezes você executar estes direito, até mesmo executá-lo mais vezes quanto mais perto ele deve estar, você sabe, como você pode ver para 50% então e é assim que nós podemos criar algo aleatório. Isto é fixe, certo? Acabamos de criar um simples programa russo que pode verificar se uma arma vai acertar alguma coisa . O que quer que seja, você poderia, por exemplo, diminuir uma chance. Calor do pé, por exemplo, um passeio de esqueleto ou cão porque ele é farsa e flexível. Tudo o que puder fazer o que quiser, certo? Agora estamos mandando argumentar que o homem é manualmente assim. Ah, isso não é tão bom. No futuro, você aprenderá o que são objeto? Como enviar todo objeto de arma Como enviar todo o equipamento de alguém como enviar todo o monstro certo? Porque agora, se quiséssemos, sabe, ter algo com monstro que você precisa ter argumentos masculinos aqui mesmo. Isso vai ser um pouco estranho. Então, no futuro, você não aprenderia a resolver isso. Certo, vamos voltar ao nosso problema. E o problema é como a próxima função funciona bem. Temos executado, gama e comer funciona muito semelhante ao alcance chave gera número de zero a nove. Certo, mas o alcance de corrida escolhe um fora do número. Então, a disfunção permite que você escolha números inteiros diretamente nos professores. Sem números que tenham fração. Isso também é útil, certo? Porque porque sobre ele você pode escolher, Por exemplo, números de um dedo procura. Quando você está jogando, por exemplo, ele morre, tudo bem, ou, se você está falando um testamento, com números começando de 1 a 10. Então isso é útil. E vamos, por exemplo, usá-lo Isso é usado faixa redonda vai usar o modelo aleatório e, por exemplo, que fazê-lo nos números de 0 a 9. O que vai acontecer? Como podem ver, temos dentro dos números dos homens do Lee. Agora, como contar? Quantos desses números estão aqui? Podemos fazer de algumas maneiras, certo? Poderíamos, por exemplo, algo
que eu garoto coloca contagem e, em seguida, contar cada vez Quantas vezes cada um fora do número existe aqui. Mas há uma maneira um pouco melhor do contador de importação coleções. Portanto, há algo que é chamado de contador e podemos enviar para combater todo o Oriente. Então, por exemplo, se você acertar lista e nós podemos imprimi-lo e vamos olhar o quão longe situs sobre nós temos agora um dicionário off, quantas vezes cada número tem drone feijão. Eu acho que é bastante simples usar direito. Em vez de escrever uma função especial, vamos aprender a usar coisas que sempre serão escritas para nós. Certo, então, Ron, alcance funciona assim. Você também pode dar um passo para a rodada, certo? O que significa quando você faz algo assim, você está bem quando queremos um módulo, como você pode ver, apenas números de drones que são iguais porque nós definimos um passo para aqui. O que significa que vamos criar quais números? Massa zero para até 14. E então nós vamos agora, escolhê-los porque nós digitamos a corrida antes do alcance. Que números de drones daquele conjunto, certo? E, bem, é
assim que funciona. Você pode ver que cada vez pode ser um pouco diferente. E você também tem algo chamado É arredondamento. E eu gosto
muito de arredondar. Por que é assim? Porque quando fazemos algo assim em arredondamento e talvez vamos fazer isso para 10 você
notaria que temos aqui números a partir de amanhã e terminando em 10. Por que eu gosto? Porque quando eu olho para esta função, eu instantaneamente sei que eu vou ter um número aleatório começando de 0 a 10. 10 incluindo 10 e alcance. Eu não gosto de alcance porque toda vez que eu preciso pensar sobre se eu tenho que parar um subscrita ou não. Ok, isso é muito útil para gerar número aleatório começando deste para este, incluindo o final. Ok, eu quero ter um passo do que usado em torno dele. Caso contrário, você só estava correndo porque é, eu acho, mais fácil de ler. Torna o seu frio mais legível. Certo, isso é só uma lição. Muito obrigado.
58. Eventos aleatórios - função de escolha de escolhas: tinha mais. Mas hoje vamos falar sobre duas funções. Escolha e escolhas. Escolha é uma função, como o nome sugere, que escolhe um alúmen aleatório e do mínimo fornecido. Então, quando você enviar para ele como uma lista de filmes argumento, você vai obter título enquanto talvez intitulado para talvez título livre, talvez título para ele depende, mas a probabilidade de obter cada elemento é igual. Então você tem 25% para obter título um título para título fecal título porque, bem, existem quatro limões, certo? Então a probabilidade total é de 100%. O 100% dividido por quatro é 25% certo, então você tem a mesma chance de obter um fora do título. E para usar esta função, você só precisa digitar o que, o nome fora
do módulo e, em seguida, a escolha. E então você envia lista de filmes, por exemplo, e você pode imprimir o título aleatório, e algo é assim é realmente útil quando você tem, por exemplo, você sabe, títulos, Na nossa situação, não
nos importamos com que frequência a idade de um limão aparecerá certo. A probabilidade pode ser igual a você. Bom. Você é como girar a roda, certo? E ok, este item em Ok, Eu
não fiz para o seu? Ok, mas há muitas situações em que você quer dizer exatamente. Ei, eu quero ter, por exemplo, peito
verde cada palavra muitas vezes. Certo? Porque isto é uma coisa comum a acontecer. Laranja mais um. Certo, isso é um pouco mais raro. Roxo. Ok, é bem raro. Ouro lendário um ho ser a morte não deve ser comum, ok? E como fazê-lo. Esta coisa. Felizmente para nós, desde beytin livre 0.6, podemos usar uma função que é chamada escolhas. E esta função nos permite definir a probabilidade usando média ponderada. Ok, como falamos em breve o que é, então você pode dizer exatamente, ei, eu quero ter coisas verdes um pouco mais vezes, certo? Então vamos usá-lo. Então, em vez disso, fora de escolha escrevemos apenas para nós apenas adicionar no final. O s e bem, podemos executar o módulo instantaneamente porque outros parâmetros são opcionais. Então, como você pode ver, temos agora, em vez disso, fora do título de crack de fluxo único para nós temos um mínimo direito. Então tem boa mais uma diferença. Ele retorna pelo menos fora elemento aleatório ou mais elementos do menos fornecido. Então, como podem ver, temos que liberar. Mas como você pode ver, eu escrevi aqui que ele pode com os elementos. E é por isso que devolva o mínimo que pode fazer aqui. Um argumento opcional como este. Este argumento é chamado de chave, e você pode definir quantas vezes você não vai querer executar procedimento de desenho dedo do pé, certo? Então, quantas vezes você quer tirar deste set off Elevens? Então, quando você está no módulo, como você pode ver agora nós temos em torno de um. Temos 100 mulheres tiradas deste conjunto. E enquanto a probabilidade de obter cada um dos caras é parte igual, o legal é que podemos mudar como podemos enviar aqui pelo menos fora da média ponderada. Como funciona? Bem, imagine que por um segundo morto, queremos que o dedo do pé tenha a chance de obter, por exemplo, laranja duas vezes mais vezes do que o verde Grange. Então, como fazer isso? Eu amarraria um aqui, o que significa que eu tenho algum tipo de relação que você acha que eu posso me relacionar com certo e aqui estamos nós certos? Significa que quero ter laranjas duas vezes mais que este tipo. Quando eu aderir a outro, por exemplo, eu quero ter a mesma chance de ficar roxo poderoso que o verde. Ok, então crescente chance é o mesmo agora porque um é igual a um direito para seu duas vezes
maior do que um direito para lendário quando eu digitar, por exemplo cinco. Significa que tenho cinco vezes mais chance de desenhar lendário que o verde. Então, quando eu executar estes, você vai notar que bem, daqui é difícil dizer exatamente como ele funciona. Então, vamos das coleções. Importar o balcão e isso vai nos ajudar muito, certo? Então podemos fazer algo como contador de impressão como este. E agora podemos dizer que a lenda Oh, bem, vamos correr no peito. Vamos recompensar a lista de filmes do Norte. Como você pode ver, o lendário é agora pelo menos cinco vezes um, sendo desenhado neste cinco vezes mais vezes do que o A verde direito são o verde direito roxo ou roxo Como você pode ver, é verdade, certo? 11 multiplicados por seis é 66. Então você sabe, eles são a minha grande diferença, certo? Exatamente duas vezes mais porque isso é uma probabilidade. Quanto mais vezes, quanto mais itens tivermos que escolher, mais perto estará, você sabe os resultados, certo? Então não é assim. Acontecerá sempre assim porque é assim que a guerra de probabilidade funciona. Você pode virar a moeda e você tem 50% de chance de obter a cabeça e você tem 50% de chance de
obter detalhes. Mas, você sabe, você sabe, o que não acontece assim uma vez você pode obter três vezes seguidas sobre a cabeça, certo? Isso realmente depende de quantas vezes você mudou o caminho. Então você pode usar essa média ponderada como estes com números inteiros. Você também pode pensar sobre quantos itens você tem aqui para. Então, por exemplo, tem quatro itens aqui e eu quero dizer, por exemplo, enforcá-lo. Deve haver 8% de chance de ficar verde. Ok, então vamos fazer isso digitando 80 e então temos o que 20% sobraram de 100 Então laranja. Certo, vamos fazer 15% roxo. Talvez obter para e lendário, animado, nu no 1%. Então o alguns fora todos esses elementos é agora igual a 100. E por causa disso, acabamos de dizer que porcentagem de chance de obter é começar a desenhar cada um desses elementos na ordem em que colocamos os valores que ele está certo. E como você pode ver, Green está muito perto de 80 ou ferimentos 20 desta vez não 15 propositalmente sete. Londonderry é um. Quando você executar isso de novo, será um grande diferente, certo? Como você pode ver, o ou lesões exatamente 15 eso Isso realmente depende de sua sorte, certo? Você pode abrir 5000 xadrez e nunca obter o lendário. Você pode abrir cinco e até mesmo cada vez obter o lendário, mas você precisa ter muita sorte, certo? É assim que a probabilidade funciona. Depende realmente desse montante. Você também tem mais uma maneira de fazê-lo. Você pode fazer algo assim, Ok, eso você pode usar uma fração em vez do todo fora números inteiros. Então cardo é a mesma coisa que acabamos de escrever. Como você pode ver, as razões são realmente semelhantes Desta vez não tivemos sorte. Não entramos em um cara lendário, certo? Esse cara pegou um. Depende do nosso como um exercício. Tente fazer algo com esses pares aleatórios, por exemplo. A chance de obter o ouro é muito grande. A morte é muito pequena. A vitória é média. O que quer que saiba, brinque com ele. Jogue com os valores aqui. Observe também que você não pode omitir e valorizar direito assim. Você precisa ter a mesma quantidade desses caras que eles estão aqui. Certo? Então você tem a mesma quantidade de elementos que em sua população como os valores que você atribuiu a cada propriedade. Você não pode ter mais deles também, certo? Você tem a mesma quantia. Ok, então brinque com ele. Divirta-se, só
isso. Sua lição. Muito obrigado.
59. Shuffle - de shuffle em jogo de "de de: em todo o corpo hoje, vamos falar sobre a função que este chamado Shuffle e Shuffle é usado para embaralhar carrinho direito, que significa que o seu aleatório izing a ordem fora do carrinho e embaralhar. Isso é exatamente isso. Ele executar as mentes e muda o lugar fora de todos os elementos dentro da lista inteira que você
daria para a função shuffle como um argumento. E por exemplo, temos aqui como set off cards para o jogo de guerra, e você tem lá agora instância. Jocks, Rainhas, torções, ases e dois palhaços. Este jogo precisa de alguma forma randomizar a ordem fora de todos os elementos, certo, porque caso contrário ele vai ser chato. De certa forma, é chato. Se não tivéssemos a chance de executar a morte de todos esses elementos, o jogo teria sempre o mesmo resultado, certo? Então, a fim de aleatorizá-lo. Mas você sabe, não tirar todos esses elementos do lado de fora para outro. Com nós vamos agora, use a função pá, que embaralhar cartões, certo, Então você apenas decidir como aquele aleatório aleatório e remetente, pelo
menos que você está interessado em. E a parte legal é que ele já está embaralhado agora, o que significa que quando você executa o módulo. Você vai notar que quando invocamos lista de cartões temos aqui agora e ordem que não é o mesmo. Como aqui, fora dos elementos. Certo? E a coisa que você deve ter notado é que nós não fizemos assim, certo? Por que é assim? Porque a função aleatória não retorna nada. Ele apenas altera a ordem fora elementos na lista original. OK, no argumento de que nós enviamos lista é objeto mutável. Então há uma maneira de mudar o objeto original, certo? Aprendemos sobre isso em algumas palestras. Algumas palestras antes. Então nós enviamos o carro isso é mudado e você não precisa trazê-lo assim. Só mudamos a ordem, valor do
Gino assim. Então, cada vez que você executar estes direito, você vai notar que a ordem é um pouco diferente, o que torna este jogo um pouco menos chato. Claro, é apenas um exemplo. Então, sempre que você quiser alterar a ordem fora elementos dentro da lista e você quer
tê-lo aleatorizado para que você não saiba exatamente onde cada um dos elementos estará após o processo, você deve usar a função shuffle que zona. Boa lição. Muito obrigado.
60. EXERCício: de a criação de elementos sem a REPETIÇÃO - jogo de de de a de de 49: O inferno sobre isso. Eles estavam indo para falar sobre a função que é chamada de amostra. Antes disso, vamos ler um exercício que vamos resolver nesta palestra. Eu quero que você escreva uma função que simulamos como LOTR funciona. Assim, por exemplo, ele irá retornar seis números únicos de um set off 49 números. Então, se você tem que escrever uma função, precisamos digitar lá. Isso é isso. Então precisamos nomear a função. Esse é o nome dele. Como, por exemplo, este escolher números aleatórios porque ele vai escolher em torno dos números. E agora devemos dizer quantos números tão quantidade. E devemos dizer de que conjunto de números, certo. Então, por exemplo, valor
total. Certo? Então temos dois parâmetros que são, digamos, sete, descrevendo lixeiras e agora como resolver esse problema? A primeira coisa que você provavelmente está pensando que poderia resolver este problema é usar a função
executar na direita quando você enviou aqui como o primeiro argumento zero. Começará a crescer números de zero até MM 49. Significa 49, mas fazemos algo assim. Escolheria o do Randall do zero até o que lhe enviamos. Certo? Então, quando nos envolvemos assim escolher números aleatórios e dizemos seis números 49 a quantidade
não é usada ainda. Certo? Mas agora vamos escolher pelo menos um cara. E quando rezamos,
Então, Então, por exemplo, como estes você e notar que temos 49 42 35 48 tão certo. Mas o que devemos fazer se você quiser fazer seis vezes? Bem, em um momento em que você sente repetição, você deve usar um loop. Certo? Mas há um pequeno problema. Não é isso que está usando o final redondo? Você está desenhando números de 0 a 49 cada vez, o que significa que há uma pequena chance. Mas há uma chance. Você não conseguiu números? Por exemplo, como este 21 24 esta noite, por exemplo. Logo depois, há uma chance muito pequena de obter números como este. Mas o mais importante é que você não vai obter números que são repetidos algumas vezes, certo? Oh, uma vez. Bem, não
deveríamos ter repetições, certo? E para resolver um problema como este, temos duas maneiras. Uma é criar um mínimo que chamaremos números que temos. O drone já está certo, o drone dos números. E você teria aqui um novo número, certo? E então na próxima corrida, quando você está usando o loop sobre isso, se o número está dentro do drone números, então você deve executar o loop novamente, certo? Você deve executá-lo até chegar aqui. Seis elementos que são únicos e você pode fazê-lo não se exercita. Para praticar suas habilidades de programação, vamos usar outro método mais curto. Vamos usar a função de exemplo, e esta função de exemplo retorna pelo menos. Ok, então é muito legal. Queremos uma lista. Executamos apenas elementos escolhidos de outro lançamento. Ok, então nós precisamos de alguma forma criar uma lista, uh, que nós começamos em zero e terminamos em 49. Certo? E a função de exemplo também certifique-se de que ele não usaria o mesmo elemento duas vezes. Oh, é por isso que esta função é realmente ótima para nós. Então, podemos digitar sua amostra e, em seguida, como o primeiro argumento, enviamos o mínimo que queremos
escolher . Então, no nosso caso, precisaríamos criá-lo, mas podemos usar a função de intervalo, certo? Enfraquecer o tipo aqui, por exemplo. 50. Mas queremos que seja tão grande quanto a polícia. Queremos que seja tão grande quanto a pessoa. Sensorial, certo, O valor para o valor total. Certo? Então diga como a quantidade nossa tendo em mente que o intervalo irá criar quaisquer novos leads que vamos começar a contagem de zero para o valor total. Menos um. Certo. Então, devemos aqui um. E como o segundo argumento é preciso Quantos números ele deve escolher deste conjunto? Certo, pelo menos seja lá o que for. E agora ganhando executar nosso programa. Como você pode ver, nós instantaneamente temos o que, seis números dentro de Elise e nós hum certeza, agora que os elementos aqui não vai repetir direito não vai repetir, então eles serão únicos. Mas há uma pequena pegada-los. Eu diria isso a você. Então, Mm. Nós vendemos o problema muito fácil, certo? Deveríamos voltar aqui, certo, porque seria mais profissional. E aqui podemos agora saber o que todos vão querer um limões de 2030. Pode haver muitos tipos diferentes de loterias. Vida 30 deles e por 50. E podemos trazer os valores para fora. Certo? Então isso é muito poderoso agora, certo? E o legal é que nossa função é fácil de usar. E também, a quantidade de código que temos dentro também é muito curta, certo? Se tivéssemos que criar a variável temporária, a inclinação do globo e outras coisas assim que você tem que fazer como um exercício para praticar suas habilidades, não
seria assim, você sabe, lê capaz, certo? Isso é muito legal que existem tantas funções poderosas. Inp Isten, Isso torna o seu trabalho mais rápido. Mas você pode estar se perguntando, por que você vai embora? O covarde está aqui. É só desprezar nossa palestra. Eu fiz isso especialmente para mostrar algo muito importante em ordem. Você acha? Então você entende que a função de amostra mais? Olha, nós teríamos uma lista de cartas baralhada. Significa que aleatorizamos a ordem fora dos limites. Certo? E o que acontecerá quando fizermos algo como esta amostra aleatória e enviarmos nosso carro para ela, por favor. E, por exemplo, queremos escolher 65 cartas. Então vamos passar ou dar cinco cartas a uma das jogadas. E mais uma vez, cinco carrinhos. Você não era coisas que temos 10 olhos, Jackson Joker. Oh, aqui está 10 99. Eu disse que garantiria que as coisas não se
repetirão . Certo, certo. Isto é, isto ainda é verdade, porque não brinque que que o mínimo que tivemos aqui foi o menor número, como o 012 livre até 49. Certo? Então não houve números que foram repetidos aqui. Aqui, Nesta situação temos 10 4 vezes, então a amostra não vai repetir. E não vai levar estes 10 algumas vezes, certo? Estes 10 não são os mesmos que o stand, certo? Isto é como um outro objeto aqui com outro valor. Nós não sabemos exatamente qual é o valor aqui onde a função de exemplo não sabe que não verifica corretamente? Só pensa em não tomar uma esposa distante, sábia ou distante. Certo? Então a quantidade máxima fora das tendas que podem ser mostradas aqui é para porque há apenas quatro ocorrências fora 10 aqui. Ok, isso é que é importante. Essa é uma diferença importante que você precisa entender. Há também mais uma coisa. Imagine que temos um grão de guerra. Certo? Quando queremos negociar um jogador, cinco carros no segundo jogador, mais cinco cartas. Certo? Então nós temos Playa 11 cartões e temos alicate dois gatos. Certo? Mas há um pequeno problema. Ainda assim, quando damos à pessoa dedo do pé o jogador uma carta e para implantar suas duas cartas Não é que nós temos um Ás Jack Queen, certo? E ele teria uma rainha. Kington Jack nove. Tudo está bem, mas só que desta vez não é que em nosso cartão é que ainda temos quatro ases, certo? 12 grátis. Então precisamos de alguma forma remover as cartas daqui que foram tiradas certo? Não podemos mantê-los aqui porque, caso contrário, poderia haver a possibilidade de darmos cinco cartas. E em outra Onda fizemos os mesmos carros, outro jogador. Então, em situações como esta, eu acho que usar amostra não é uma boa idéia em casos como este que tivemos aqui. Sim, é uma boa ideia. Aqui podemos resolver este problema de uma maneira um pouco diferente. Olha, há uma função que falamos há muito tempo que se chama Pop, e o Papa está estourando o último elemento. Olha, nós já embaralhamos, que significa que aleatorizamos a ordem dos elementos dentro da lista, então podemos pegar o último elemento. E nós poderíamos fazer o acaso algo como essas cartas Flyer 1. Uh huh. E então algo assim aparente. E poderíamos fazer isso algumas vezes, certo? Por exemplo, cinco vezes, certo. E como você pode ver agora, nós temos as aberrações aqui. E esses cartões foram realmente retirados da lista de cartões. Poderíamos checar as listas de cartões antes de você saber a cena. É um quarto como este e não é? Quando fazemos algo como esta lista de cartas, o último cara não está certo. E vamos à noite ir alicate do dedo do pé. Como pode ver, temos aqui. Então aqui temos o mínimo. Ah, o último cara está certo. Esta é uma flecha que eu fiz aqui. Devemos fazer a impressão após o baralhar antes de embaralhar. E agora quando em torno do módulo você vai saber é que quando eu estou indo para jogar uma carta que
temos aqui O que, nove, nove e gelo e não é que quando entramos no leasing multidão agora nós não cedemos no mais
99 em dias. Nós só pegamos do final. E acho que esta é uma maneira melhor. Certo? Porque é assim que os prêmios normais. Você pega o carrinho do lugar de onde você o tira. Certo, há um estoque de cartas e você pega no estoque e não as mantém em um morteiro. Certo? Então amostra não é uma boa idéia para usar, a fim de obter cinco cartas sem repetição off. Ah, limites
de A. Certo? Esta situação como esta, sim. Esta é uma boa idéia para suas amostras. Você pode ver que fizemos isso muito longe em vez de escrever uma lista especial chamada de valores e outras coisas assim, certo? Como um exercício, tente fazer este lance codificado melhor direito. Estamos agora manualmente um pendente novos elementos usando Papa, certo? Tente fazer uma função que lhe permitirá dar cinco cartas para mentir um e cinco cartas também . Outro jogador usando a mesma função. Então você deve ter dois parâmetros. OK? Não há mais mãos. Apenas faça isso. É só que isso está em “Obrigado”.
61. EXERCÍCIO de de a de de a TI! - como desenhar as cores de chas, com de alee de de - com de uma: Olá, todo mundo. Está tentando escrever algo para ir. Hoje vamos escrever um jogo simples onde um alicate pode se mover cinco vezes em uma direção. Então é muito simples, certo? Mas hey tem a chance de encontrar um baú esta chance. E não, acho que ele tem uma chance maior de acertar o trânsito e o baú tem cores
diferentes e recompensas diferentes baseadas nos estudiosos. Certo, então ele tem a chance de ficar verde,
laranja, laranja, roxo e dourado. O peito lendário ea recompensa é baseado na cor e você pode obter depois de pagar o peito não vai 1000 ir 4000 9000 e 16.000. Então depende do quê, você finalmente foi embora, certo? E você deve se certificar de escrever um casaco limpo e fazer uma variáveis auto-descritivas. Ok, é muito importante fazer isso assim, direito de fazê-lo sozinho, você pode me seguir um passeio. Então o que devemos começar nosso programa a partir Bem, eu começaria de fazer o comprimento para o nosso jogo, certo? Nosso jogo permitirá que o jogador para se mover cinco vezes, então ele vai repetir uma ação cinco vezes, então jogo variável terra que chamamos cinco. Ok, ele pode se mover em uma direção e ele deve repetir algo cinco vezes. Então, por que o comprimento do jogo é maior do que zero. Então a gangue ainda continua, e precisamos de alguma forma diminuir a duração do jogo dentro. Caso contrário, esse amor será infinito, certo? Ele vai correr tudo tão comprimento do jogo porque veio tarde menos um. E agora nosso jogador precisa mover um pouco. CO. Como podemos mover um jogador? Bem, vamos torná-lo um pouco simples. Como, por exemplo, dias. Você quer seguir em frente assim? Pedimos aos nossos jogadores, e a resposta do nosso jogador será salva no jogador. Resposta Variável auto descritivo foram capazes direito. E se a resposta do jogador for igual a sim, então vamos salvá-lo. Bem, ótimo. Vamos ver o que você tem, certo? E depois disso, vamos fazer algum casaco sobre o peito. Bem, primeiro dedo do pé vencedor. Veja se ele teve uma chance. Ou talvez nada. Então o que ele tem e o que você tem dentro? Apenas para a direita. Então aqui, vamos colocar o código assim. Caso contrário, se você digitar algo mais do que sim, bem, porque nós permitimos que a nossa aplicação se mova para uma direção em terra. Ele pode fazer qualquer outra coisa que devêssemos informar. Bem, você pode ir direto, cara. Certo, Lane, uma direção e nada mais. Nada mais. Este jogo está úmido, certo? Porque é um grande jogo de lixo, mas bem, você precisa começar de alguma coisa. Bem, se ele digitar outra coisa, então sim, eu acho que devemos usar a instrução continuar aqui porque caso contrário o jogo terra, nós sempre seremos executados. Então, quando fizermos isso assim, vocês notarão que nosso jogo terminará mesmo que ele digita algo dentro do conselho. Certo. Quando continuarmos, então bem, você precisa seguir em frente cinco vezes, certo? É a única maneira de terminar o jogo. Então, como você pode ver, para terminar este jogo, você precisa avançar cinco vezes. Caso contrário, não
é possível terminar, por isso é jogo muito difícil. Certo, Certo, podemos seguir em frente. Isso vai odiar. Então, a próxima coisa que devemos fazer, o jogador tem a chance de encontrar um baú de nada. Ok, então como podemos resolver um problema como este? Poderíamos criar algo como,
por exemplo,lista
uniforme,
certo? Poderíamos criar algo como, por exemplo, lista
uniforme, Ou mesmo dicionário morto. Will disse que eu não vou. O que pode acontecer, certo, De modo que até mesmo dicionário estávamos frios. E até mesmo que o cara encontrou xadrez. E a probabilidade de obter o baú é igual a 4%. E para não conseguir nada, há um profissional povoado para obtê-lo em 60%. Bem na Dwell. Isso seria o suficiente. Podíamos salgar assim. Mas você quer fazer um casaco limpo, o que significa que seria melhor tê-lo dentro de um IMS e mães, certo? Aprendemos sobre eles há pouco tempo. Se não o fez,
por favor, volte para o palestrante. Esta coisa vai permitir-nos não usar força onde eles usam a sua construção,
que isso pode acabar com ele. Esta coisa vai permitir-nos não usar força onde eles usam a sua construção, E por causa disso, quando tivermos uma comparação aqui dentro, não
teremos chance de fazer uma direita estreita. Porque poderíamos dirigir, por exemplo, amarrando nossas comparações assim e será difícil perceber isso. Mas usando camisinhas,
podemos resolver esse problema. Mas usando camisinhas, Podemos obter casaco limpo que será fácil de ler e manter Também iria se certificar de que é difícil fazer flechas. Então vamos criar em animal que salvamos dentro, até mesmo variável e objeto. O que? O assunto, você sabe, em torno do assunto. E agora podemos nomeá-lo. Então teríamos aqui, por exemplo, Chest Andi Vazio assim. Cerejas. Você não pode deixar nada vazio. Só no peito. Bem, nem nada. Está bem, está
tudo bem. E aqui agora, não
vamos digitar peito. Mas vamos datilografar o quê? Até aquele baú. E eu acho que é tão fácil de ler agora, certo? Não podemos dizer exatamente que quando você está olhando aqui para a chave, sabemos que estamos atribuindo ao peito. Até mesmo um valor aqui quando fomos como estes eram,
tipo, tipo, quem estava dizendo algo sobre o baú da escola? Provavelmente comendo. Está bem, mas o que é este baú? Agora podemos ver exatamente isso. É mesmo só para olhar para isto aqui. Certo, então é hora de fazer uma escolha, certo? Tão aleatórias, que escolhas. E aqui podemos enviar população e esperas. Mas o problema é que a população deve ser derrubado ou uma lista. Os pesos Onda também devem ser menores, mas temos um dicionário. No entanto, podemos facilmente mudar o interesse do dicionário, como, por exemplo, esta semana ainda menos, E nós não sofrer negativo. Usamos a função de lista e enviamos para o dicionário uniforme. Nós temos lá, Keith, funciona quando você faz isso assim, até mesmo notar que quando você executa o módulo Um, vamos lá. Hum, em março, ainda
vamos estar para chegar a uma cena mais sobre e não, vamos digitar ainda menos. Como você pode ver, nós fugimos até mesmo da neve aqui. Temos mesmo dicionário. Então pegamos o caso, certo? As chaves retorna o caso, e nós mudá-los em alugado usando a menor função. E você pode fazer a mesma coisa com o caso,
então, provavelmente, até comendo. Então, a chance de então o quê? Algo aconteceria. E em vez de chaves, vamos usar essa função para esses valores centrais. Ondas Você pode ver que temos boa probabilidade número em diferente. Então nós temos agora um dicionário vai enfraquecer, definir ambos até nós podemos criar ou até mesmo roubar direito a escola e que nós podemos facilmente enviar aqui as escolhas até mesmo listar Andi até mesmo probabilidade e essa coisa vai nos devolver o drone, uh, Até escrever assim e você pode estar se perguntando por que não morreu? Basta digitar aqui, por exemplo, mesmo peito em e manualmente, o pra preencher. Ei, eu teria tudo aqui. Eu não precisaria me importar em fazer tudo isso. Bem, que esse pensamento aqui é chamado de configurações do nosso programa, certo? Você realmente acha que você deve ter configurações onde você tem um resfriado? E se você quiser mudar algo mais tarde? Bem, se você de alguma forma separar as configurações do frio, você pode facilmente alterar as configurações e não olhar para o casaco direito. Você pode dizer isso em algum lugar. Você pode sete diferentes vitais apenas configuração. Você pode colocá-los. E você não precisa se importar sobre como seu código está funcionando, certo? A fim de mudar isso mesmo, provavelmente como peito. Se você fosse novo no seu programa, certo, você precisaria olhar para o sofá e encontrar esta instrução aqui e, em seguida, mudá-la aqui. Mas você sabe, agora quando estamos olhando para isso porque nós acabamos de ler este programa, nós saberíamos onde ele está, mas você pode esquecer isso em alguns dias e talvez um ano. É o dedo do pé melhor. Sempre separe as configurações do casaco. Está bem. É por isso que estamos fazendo assim. Agora temos um casaco limpo. E agora temos aqui um drone. Até mesmo. Olha, quando você está em nosso módulo, o que está dentro do drone mesmo, hum, sim. Vai mergulhar? Sim, algumas vezes. Aleatório não está definido. Certo, direito de importar aleatoriamente. Caso contrário, você não será capaz de usá-lo. E agora você vai notar que dentro do drone, até nós temos uma lista de um elemento. Agora, precisamos fazer uma razão completa, certo? Precisamos fazer algo assim. Ive drone mesmo é igual a mesmo ponto peito. Então, consideramos o baú. Devíamos fazer alguma coisa. Mas o problema é que nós temos um mínimo, mas mesmo peito é o que é Justin e,
hum, para que possamos comparar pelo menos um objeto como este em algo. Obter este primeiro valor desta lista. E o primeiro volume está sempre dentro da lista no índice zero, certo? Como este. Então, Então, só
precisamos de arte aqui no final. Zero ou poderíamos, em vez disso, endireita arrastou seu OK. Acho que aqui é um lugar melhor para o fazer. Então, não apresente uma sequela no peito. É uma chamada para o peito. Então precisamos fazer alguma coisa. Meu Vamos trazer, por exemplo. Ah, você tem baú de drone. Certo, então precisamos escolher a cor que ele tem no drone. Então, caso contrário, se o nosso drone for igual a isso, hum, nada se você admitir que é por isso que as mães são legais porque tivemos algumas dicas aqui, certo? Nós não precisávamos olhar para o casaco, porque este é um tipo justo que nós tivemos uma dica de que a razão Nada acontecia. Então nós temos nossas configurações estavam em luta diferente. Não precisaríamos ir para o arquivo diferente. É por isso. Além disso, hinos são melhores do que cordas. Lembre-se sobre isso e de outra forma apenas torceu quem você não recebe nada, certo? Você tem o seu próprio “nada”. Vocês são lacaios inchados, senhoras. E quando não temos um módulo, ele admite que temos muito azar. Hum, isso é difícil. Estes ganhos modulares. Ok, agora nós reunimos apenas estes e bem, talvez para o bem fora do fundo, vamos fazer isso um pouco mais vezes. Isto é ainda um pouco mais frequentemente como estes. Ok, finalmente, temos sorte. Nós mudamos isso. Seria legal se pudéssemos mudar nosso registro em nossa vida real, não
seria? Certo, então temos o baú. E agora precisamos decidir que chamada foi escolhida. Então, o que devemos fazer? Devemos criar de novo um M quatro chamadas para eles Call wards. E que cores temos? Temos cores como trazer laranja, uh, possível e ouro. E agora precisamos fazer o mesmo que fizemos para os eventos. No entanto, leva um pouco de tempo. Então acho que estamos copiados do que eu fiz antes. Então acabei de criar o dicionário. Elise na probabilidade, como o inferno cores verde, laranja, ouro
roxo no conjunto de probabilidade. Como deveria ser como nós temos o mais velho não é que eu uso o tombamento em vez deste tipo. Sempre constantemente, certo? Você pode mudá-lo para derrubar facilmente aqui. Não queremos que ninguém mude a probabilidade e o que há aqui neste lugar? Você pode mudá-lo aqui, mas eles não devem ser capazes de fazê-lo a partir daqui. Tão bem, que é decidir que cor o jogador tem jogado em e como fazê-lo bem novamente. Escolhas aleatórias. E nós enviamos seu que nossa lista de cores sobre a probabilidade. Espere. Só a cor é provável. E, claro, queremos apenas o primeiro elemento. E nós vamos uh huh. O sinal é variável de cor jogada no dedo do pé, senhoras. Então, não, estamos resfriados. Ou podemos dizer que o carvão do peito ou é igual a coluna do drone, certo? Como estes. Mas o que acontecerá quando você montá-lo? Dias de agradecimento que é em torno do módulo em um apertado? Sim. Você pode ver as cores do coro do peito, laranja. Não é isso que queremos, certo? Nós não queremos, uh, essa parte. Queremos esta partícula, certo? Então, como faríamos isso? Poderíamos fazer algo como cor. O nome de cor errado. Então vamos usar a propriedade, a propriedade nome fora do animal quando fizermos isso assim. Como você pode ver, a cor de confiança é verde. Mas o problema é que o verde é escrito com aquele grande com aquele g grande. Podemos mudá-lo? Bem, há duas maneiras de fazer isso. Poderíamos fazer um funcional que mudasse isso. Mas e se eu quisesse ter algo diferente? Hum o quê? Queríamos ter um volume diferente, certo? Então, por exemplo, vamos imaginar, você quer
que o dedo do pé tenha algo assim, John. Jonah, no nosso importante meio verde. E você quer o dedo do pé, certo? Conhece o casaco em inglês como estes drones apertando. Mas você quer como resultado o valor para estar na linguagem que é diferente ou nós queremos
apenas ter um valor diferente, como o grão. Está bem. Quero ter verde ou chave inglesa. Eu quero ter uma gama roxa. Está bem. Deixe claro, Paul, mas ouro. Ok, ouro sabendo que eu quero ter uma lenda lá. Ok, talvez a cor seja lendária e bem, podemos fazê-lo assim. Agora, quando nós gostamos disso e mudar esses dois dicionário e em vez de usar nome que usam valor. E estes pista, como você pode ver, a cor do vestido é verde estavam usando a pequena letra é a primeira letra. Tudo está funcionando bem. E ainda mantemos o casaco limpo. Onda, nós podemos ter esse valor que é atribuído a cada um fora disso. Ok, certo. E usá-la para ele. Recebemos a chamada para casa inteira,
nosso xadrez. Recebemos a chamada para casa inteira, Agora é hora de receber uma recompensa, certo? E as recompensas são como estas 5000. 9000. 16.000. Você vê um padrão nesses valores? Bem, não é que se removermos zeros, será assim. 149 e 16, certo? Um multiplicado por um é 12 multiplicado por portas de graça, multiplicado por livre. Não são quatro multiplicados por quatro East 60. Então temos um parceiro, certo? Certo. Poderíamos usá-lo. Tivemos mais tipos fora do acaso. Também podemos usá-lo para resolvermos o problema. Recompensa recompensas para baús de duas maneiras, o único estará fazendo algo assim. Colores Verde. Uh huh. E então nós dizíamos que você tem 1000 chamadas ou assim chave inglesa? Você ficou bem, 4000. Ok, você pode fazer isso assim, mas vamos torná-lo um pouco diferente, a fim de praticar um pouco nossas habilidades de programação. Vamos usar o vício ou expressões. Sim, podemos fazê-lo. Então, a primeira coisa que vamos pensar sobre onde devemos obter nossos valores para? Daí para cada recompensa dentro de um intervalo de quatro, precisamos de quê? 1234 Mas vai lembrar que começamos com o quê? Zero e fim livre quando usamos algo como organizar o certo e, uh, nós temos uma recompensa mudando assim, certo? 01 dedos livres agora. E devemos pensar em criar um valor chave. Certo? Então, no lado esquerdo, temos caso e nossos filhos são realmente livro apenas cor estão vindo de Tesco ou lançamento e dentro dele quando nós digitar algo como uma recompensa com esta mudança com cada iteração como o 012 livre, temos acesso ao dedão 01 de xadrez de cor fora como coisas. Isso está certo Então é a escola porque temos um sistema de atuação. Então está tudo bem. Temos as crianças agora a pensar de alguma forma sobre como criar valores, como fazê-lo. Bem, como você não tem gosto, temos aqui enquanto multiplicado por um multiplicado por dois. Mas nós não temos valor uma vez que temos valor zero, depois um, mas depois para depois livre. Mas podemos facilmente mudá-lo. Por quê? Adicionando Juan. Então zero mais um multiplicado por zero. Além disso, Juan, uh, é realmente igualdade um aqui. Acho que é sempre melhor dizê-lo. Um mais um multiplicado por um mais um é igual a quatro, direita e assim por diante. Então, só precisamos aumentar. Ah, os valores aqui por um. O que está aqui. O registro de valor. Então as parcelas de recompensa eram recompensa. Bella Swan, multiplique pelo seu mais um e precisamos multiplicá-lo por 1000. Quando multiplicamos por 1000, temos 4000 como você. 9000. 16.000 sobre a verdade é que acabamos de terminar. Quando você executar o módulo, você notará o título Fortaleza de Recompensas. Temos o que atribuiu a cada recompensa de cor. 19. Isso é muito legal, certo? Claro que você pode fazê-lo manualmente, se você quiser. Não se preocupe, eu apenas jogá-lo para você, você sabe, mostrar tout, praticar sua linguagem como você pode resolver coisas diferentes com diferentes soluções ou esconder . Na verdade, cabe a você. O que você acha que é mais limpo para você? Certo. Então fizemos assim. E agora temos de lhe dar a recompensa. O jogador. Certo. Então, recompensas para o peito. E teremos o que chamam de drone aqui. E este é um fornecedor que não éramos. Então essa quantia de ouro que ele conseguiu ir. Certo. Então isso é talvez uma história de intimação que o mundo adquiriu, um, ouro adquirido histórico cócegas adquiridas mais recompensa ply. E no final, depois de terminar o nosso muito difícil de terminar, veio com impressão. Parabéns. Você adquiriu ouro? Um silêncio e poderíamos terminar nossa gangue e finalmente conseguir algo para mim. Então temos 4000 de ouro depois da nossa primeira rodada, nossa segunda corrida de novo. Mas 6000. Ok, esse é o nosso jogo simples. Será que podemos pensar, se você está implorando a ela quando você está olhando bem frio assim, você pode estar se perguntando por que eu fiz isso parecer tão difícil? Por que eu fiz tantas variáveis Shona como esta? Por que eu não poderia simplesmente viver em um só lugar? Como eu disse, o vídeo que você quer ter configurações em lugar diferente do chamado nosso código é agora o que
algumas linhas. Realmente? Mm. Imagine. Você teve muitas lutas diferentes no frio com em muitas lutas diferentes, certo. Vai ser realmente difícil de manter e manter o seu com o seu casaco quando você tem tudo em um só lugar. Ok? Você pode até melhorar essa garota que lance mais quando você aprendeu sobre algo bom é chamado de programação orientada a objetos. Ok, mas nós vamos aprender sobre no futuro por enquanto. Passo a passo. Estamos melhorando a forma como montamos nosso casaco. Não se preocupe. Se você tivesse escrito seu resfriado sozinho e tudo estivesse dentro de um lugar, tudo bem. Se você diz que resolveu o problema por conta própria Ainda assim você vai aprender a montar uma colite no futuro praticando. Talvez este código não seja a melhor solução possível,
certo? Talvez este código não seja a melhor solução possível, Eles têm muitas, muitas soluções possíveis diferentes Toe que você pode tomar se aproximou dele. Está bem. Não se preocupe. Jogar. Divirta-se. Por enquanto, você aprenderá a chamar no futuro. Quando você pratica. Quando você olha para os outros, as pessoas ligavam. Há um tempo para a guerra transformada. Não escute. Muito obrigado.
62. EXERCÍCIO de JOGO de o de a o de uma a o de a que a que a o de a de EXERCISE de de EXERCISE atividades de fazer fazer atividades: Olá, irmão. Na última palestra, criamos um jogo que nos deu a chance de obter verde,
laranja, laranja, ouro
roxo, Chazz. E com base nisso, poderíamos alcançar ouro com uma quantidade específica. E esta é uma nota bonita. Valor aleatório, certo? Está totalmente definido 1000 adultos, e eu acho que é muito chato, você
não acha? Eu acho que o valor deve ser baseado em, por exemplo,
1000, mas deve ser perto do 1000. Deve ser aleatoriamente deve, como talvez de 900 para 1000 e 100. Ok, por 1000 para que possamos ver que eu submarino atacou. Fez, hum, 100 de 1000 e nós temos 900. Então eu adicionei 100 temos 1000 e 100. Então precisamos fazer algo como essas corridas e de 900 a 1000 Bem, Helen, mas para 4000 certo, devemos ter 400 substrato 400 certo? Porque queremos substrato do dedo do pé cerca de 10% de desconto no valor inicial. Certo? Então nós teríamos, tipo, 3604 100 em para 4400, em seguida, arredondando para assim no e, bem, nós podemos fazê-lo manualmente. Certo? Mas pequenos cursos com uma boa idéia. Podemos ver um Parton, certo? Estamos 10% de desconto no valor inicial, e então subestruturamos o volume inicial de 10% para que possamos fazer uma função certa? Isso poderia fazer isso por nós, por cada número como este. Então vamos definir essa função. Vamos nomear e encontrar o valor aproximado. Por que aproximar? Porque aproximado significa fechar o valor inicial. Ok, então para 1000 unidades, perto dos dedos oito e 900 é muito perto de 1000, por exemplo. Certo? E estas palavras significam “fechado”. OK, então encontre o valor aproximado, e então precisamos de um valor inicial. Então, no que está aqui. E o que devemos fazer agora? Bem, nós o quê? Subsector 100. Então devemos obter o volume inicial que vai ser enviado aqui e substrato de comer 100 e assiná-lo,
embora, embora, por exemplo, Lois valor variável. E então precisamos adicionar 100. Certo? Então eu preciso deles para um projeto de lei que chamamos,
por exemplo, por exemplo, valor
mais alto. E agora podemos apenas devolver o final aleatório e dos advogados valorizar o mais alto valor . Então, se enviarmos aqui 1000 nós temos 1000 menos 100. Temos 900. Está tudo bem, certo? Era o que queríamos. E aqui temos £1000.100, são 1000 e 100. Então tudo funciona bem ganhando em torno de nosso módulo e nós fazemos algo assim. Como você pode ver, obtemos um valor aleatório. A divulgação aproximada do valor original. Mas não é como valor original o que podemos ser. Mas nem sempre é a mesma coisa. E eu acho que isso torna o jogo um pouco melhor, quando temos ah, uma maneira de dar uma chance de obter algo um pouco diferente. Poderíamos deixá-lo assim, mas então o valor que seria próximo de 4000 será desses franceses direito de 3900 para 4100. Está tudo bem, se você quiser fazer assim, mas se você quiser tê-lo no intervalo de 10% de desconto na orgia, não tem valor, certo? Então precisamos fazer uma máfia para você, certo? Nós 10%. Então devemos fazer o que 10% é realmente pode ser dividido por 100 certo? Então podemos fazer coisas como 0,1 multiplicado pelo valor inicial e aqui também o mesmo. E agora, quando estiveres no nosso programa, isto vai funcionar bem por qualquer valor que te enviamos. Está bem? E a diferença agora não está no 100 pela diferença com o maior com maior volume que enviamos a ele. Então acho que é ainda melhor agora. Certo, Onda, podemos melhorar ainda mais. Poderíamos criar outra variável e chamá-lo de pessoas de alcance. Está bem? E poderíamos enviar aqui quanta porcentagem queremos ter o valor a ser estimado. Então, quando estamos agora em torno disso, você pode ver que precisamos agora executá-lo assim para 1000 0.1, por exemplo. Certo? Poderíamos defini-lo como um valor padrão, por exemplo, 0,1, então não precisamos enviá-lo manualmente todas as vezes. Se alguém quer mudar, por que não? Mas eu acho que o alcance das pessoas seria melhor ser definido. Como, por exemplo, DeSean nossas palavras reais onde dizemos certo, dizemos 10% não xarope em uma pessoa, certo? É melhor se dissemos assim, mas depois precisamos de quê? A fim de mudar 10 em 0.1. Precisamos dividir 10 por 100 escritas devido ao cofre. Como este intervalo de pessoas dividido por 100. E aqui também o mesmo. E agora podemos executar nosso modelo à maneira dele. Ou podemos fazer assim. Quero 10% vivendo do meu mais. Eu gostaria de 20%. Você pode ver agora que a diferença pode ser maior, mas não precisa escrever para quem não tem. Ok, vamos torná-lo ainda maior, como 40% para que ele possa ver instantaneamente que podemos obter o valor dentro disso, certo? Tipo 40 por 1000. Menos 40% de desconto no valor inicial. Certo. Foi assim que criamos esta função. Ok, então agora precisamos usá-lo aqui. Eu, para nós, aplicar uma recompensa. Então, quando nosso cara receber uma recompensa, podemos sofrer assim, encontrar valor aproximado, e isso é tudo que não precisamos enviar aqui porcentagem porque o valor padrão permanece. Era isso que queríamos ser chefe. E agora, quando avançamos, você neste, que o valor no final não é inteiro, certo? Não é como 1005 milhares. Ou talvez o algum fora do número fora que vai ser apenas chato para obter sempre os mesmos números, certo? Quando você quando você pode usar algo assim, imagine que você está criando um jogo onde você aquecer um monstro, certo? Se você tivesse acertado o monstro sempre pelo mesmo valor, como 12 talvez livres. Ah, isso seria chato, certo? É melhor quando isso é randomizado como às vezes você tem muito como e você tem uma cabeça
crítica. E você acertou esse cara por 1000 mil em vez de 100. Mas por exemplo, normalmente quando você bate em um cara você bate nele,
por exemplo, de 90 a 150 Algo assim, certo? Este é o intervalo desligado. Quanto da sua arma pode acertar alguém? Certo, só
há uma boa lição. Obrigado. Muito
63. O que é um arquivo? Como criar? Por que precisamos para FECHar isso? Como salvar dados?: e mais sobre isso. Hoje, vamos falar sobre um assunto muito importante. Vamos falar sobre como operar lutas. Mas, em primeiro lugar, vamos começar este tópico. Do que o é um arquivo que você provavelmente tem louco com esta palavra muitas vezes em sua vida, certo? Mas o que realmente significa criar se eu O que é um fogo? O que está segurando? Bem, a segunda é que um arquivo é realmente um nome como,
por exemplo, por exemplo, abrir cinco que lhe dá acesso a parlamentares, que significa dados constantemente armazenados pelo parlamentar. Queremos dizer que quando fechamos nosso computador, voltamos e podemos ver novamente a mesma data outro. E é muito fixe, não é? Porque vai ser muito mau para o Ozzy. Tivemos que começar uma gangue escrevendo alguns textos ou casaco de novo e de novo depois que nosso computador foi desligado. Certo? Então, o arquivo é muito legal. Você pode salvar dados lá por mais tempo, e é muito útil, certo? Por quê? Porque você pode salvar suas
configurações, por exemplo, por exemplo,para o seu jogo, porque salvar suas gravações fora do seu jogo, certo? Você pode salvar o que quiser que eles pensaram que vai ser usado até tarde. É por isso que criamos lutas. E é muito importante saber como criá-los. Não daqui eu sabia e, em seguida, documento de texto. Mas como criá-los a partir daqui do nosso casaco para salvar dados que queremos toe store. Ok, porque normalmente quando você cria uma variável, por exemplo A e você atribuído a 85 Então nós temos aqui um objeto, certo, e nós executamos nosso modelo. OK, é aqui, certo? Mas quando fechamos nossa concha, então esses objetos desaparecem. Ok, porque foi começar dentro de memória RAM de acesso aleatório porque há um
armazenamento de dados temporário e não é legal. Sempre. Às vezes, é ótimo porque você pode processar dados, mas mais tarde você salvá-los de alguma forma corretamente. É por isso que o alto manuseio, o que significa operar em cinco é um tópico muito importante. Será que você deve nesta palestra, vamos aprender sobre o básico apenas para o bem off, entender este tópico melhor no futuro. A primeira coisa que aprendemos foi como abrir o fogo. Para abrir o arquivo, você precisa usar uma função chamada open. Está abrindo a luta, e quando você digita aqui os parênteses. Temos a sugestão sobre outros argumentos que consentimos. Esta parte é argumentos opcionais. Então nos concentramos na primeira parte. Cinco. Que arquivo é esse? Significa que devemos enviar o nome do nosso arquivo. Então, por exemplo, vamos chamá-lo de caso de teste. Tendo assim, o que acontece quando executamos nosso modelo? Como você pode ver, nós temos uma estreita nenhum arquivo fora do diretor chamado teste. E é verdade que não temos um esqui de cinco dias leves, certo? Não há teste de nome de busca. Então é por isso que não abriu nada. E precisamos criar onde o fazemos manualmente. Agora vamos fazer isso por aqui. Olha, temos algo bom que se chama básico. A maioria das maneiras de abrir o arquivo e usamos a opção padrão, que significa ler e bem, significa que você vai ler se eu Então se não houver luta vai te dar uma flecha. Assim como você não fez Não há fogo como este. Mas há também um modo de abertura que lhe dá capacidade o direito de entrar na luta. E quando você não está aqui neste modo enviando outro argumento w nós apenas representa certo? Você vai criar um incêndio se o arquivo já não estivesse aqui. Então, se um zoológico puder ver se a luta existiu, ele será removido e criado novamente. Caso contrário, seria criado. Ok, então agora quando estamos no nosso modelo, vai
haver um campo interessante com apenas criado se eu e a parte engraçada é que este tipo de
arquivo está bem, certo? Não há extensão poderia quando você entrar em propriedades, ele não vai é que não há nenhuma extensão aqui. Temos um problema. Impróprio. Esta extensão p por quê, certo? E você pode estar se perguntando. Ok, então o que é? Cinco. Realmente? Bem, este é realmente muito parecido com este. Quando você for e usar a nota mais, podemos abrir, certo? E como você pode ver, não
há nada que Quando abrimos este aqui temos exatamente o que acabamos de escrever em nossa palestra. Então este é o texto encontrado. Isto é um arquivo de texto de alguma forma, certo? Mas é assim o quê? Esta extensão realmente é apenas dizer informando outros programas pelo texto que estamos certos por isso. Acho que estamos aqui depois do ponto e diz outros programas que informa o que está dentro desse tipo de cinco. OK, então, por exemplo, quando a profunda extinção significa que o teste interno vai haver texto por causa disso. Quando executamos nossa gangue modular, você vai notar que criamos uma luta que este instantaneamente reconheceu até então sem arremesso, explosão, explosão. E quando ele abriu, abrimo-lo instantaneamente aqui, certo, isso é legal, certo? Vamos perguntar-nos o quê? Queremos abri-lo em escritores, Então exemplo em nota off plus Mas isso está reconhecendo reconhecido instantaneamente para que você possa adicionar extensão. Você não precisa. Você pode até dizer algo como goo goo. Agora é sua própria extensão e vai ser em Lee reconhecido pelo problema dela, certo? Na verdade, cabe a você. O que você vai digitar aqui? O mais importante é o conteúdo do seu arquivo. E, por enquanto, vamos criar vício de texto que vai conter texto. Por isso, acho que é uma boa ideia. Toe são extensão Tex ele texto. E o que agora? Quando você não está ciente módulo não está morto. Estamos no nosso módulo. Nós criamos a descoberta, é tudo. Como podemos de alguma forma lidar com isso? Como eles podem lidar com sua multa, a fim de lidar com desafiar, precisamos criar um objeto. Você detém esse fogo? Alguns, por exemplo. Isso é cinco completo, certo? Podemos chamar-lhe o que quisermos, mas chamamos-lhe, por exemplo, cinco. Porque é a noite do roteiro. Podemos chamar-lhe também lutar Humble, por exemplo, o que significa que vai lidar com 100 é humilhante. Isso é bom. E lidar significa que podemos nos referir à luz de fogo. Certo? Porque guardamos agora o arquivo aberto do pé da alça, aprenda esta garota a lidar bem, e agora podemos usá-lo assim. Cinco isso e podemos invocar métodos no arquivo e um fora. Esse método é chamado direito, direito permite que você escreva na luta. Ok, então os vermelhos escrevem algo sobre, por exemplo, Sample Andi Now, o que acontecerá quando corrermos nossa marcha? Ok, é
isso. Quando abrirmos, você vai notar que não temos nada aqui porque é bem-vindo para ganhar Inglaterra suficiente em torno deste jogo modular algo. Eu fiz algo errado. Sem tudo. O que diabos aconteceu, certo, Theo, com o punho de que não fechamos o arquivo. Depois de terminar de fazer seu trabalho em chamas, você deve causar isso. Caso contrário, você não verá um resultado. Então encontre isso perto. Vamos nos certificar de que quando você executar o módulo em você fez tudo no seu arquivo. Agora, quando você abrir o teste, você tem uma boa amostra. Então, sim, acabamos de aprender a escrever algo em um incêndio. Isso é bom, não é? Podemos escrever mais coisas assim e vamos cavalgar. É uma bomba e temos mais condado. Claro, esta é apenas uma única operação de aprendizagem futuro. Mais coisas que tenho que ler. Contar à direita para o fogo. E eu tentaria mostrar-vos exemplos de Onley como estes. Quero mostrar-lhe também alguns exemplos práticos. Mas tenha em mente, precisamos primeiro aprender algo assim para que você não mostre muito ao mesmo tempo, certo? Você vai ficar sobrecarregado caso contrário, então nessas palestras eleitorais, você aprende seis básicos. Você aprendeu o quê? São cinco com essas memórias de acesso aleatório, por que criamos vícios? E isto é uma coisa muito importante, certo? Você deve depois desta palestra fazer a mesma coisa que eu fiz direito ao abrir, desafiar com a escrita do fosso. E então você deve salvar alguma coisa. Luta de dedos fechou. Se eu e isso vamos te ajudar no futuro, acredite em mim, então faça. Agora criou cinco. Escreva algo perto de cinco nas próximas eleições. Realmente aprende mais avançado. Pensa e mais prático que vender a lição. Muito obrigado.
64. Exceptions, de a de a que a de em a que o de a a em a a em a a a em a a a: Todos na última palestra, aprenderam a abrir e fechar a luta e tudo ficará bem, certo? Mas o problema é que às vezes há coisas acontecendo em nosso programa que são chamadas exceções e o que é uma exceção? É algo como uma situação incomum em programas como o programa de revista de repente parar. E quando algo assim pode acontecer, por exemplo, vamos tentar abrir a luta que não existe no Redbone. Por exemplo, você não vai tentar dividir zero por zero. Você vai tentar acessar o dedo do pé, por exemplo. Você tem algo assim. Pare em, por exemplo, um b e assim por diante. E você tenta fazer algo assim, então estamos tentando acessar seu índice que não existe, certo? E quando você estiver no módulo, você verá que temos uma exceção e você pode ver o que é essa isenção? Como é que se chama? É chamado de erro de índice, e diz que temos ele liberado índice fora do alcance. Diz exatamente o que aconteceu, certo? E diz que o erro está aqui. Então algo não aconteceu que não correu bem, certo? E neste caso, você notará que quando você for aqui e tentarmos remover a luta. Foi criado aqui. Percebemos que podemos porque a ação não pode ser concluída porque o pai está abrindo tubo. Então não fechamos o arquivo. Mas devemos acertar, porque bem, caso contrário ninguém pode trabalhar em guerra nisso, demiti-los todos a menos que fechemos. Total do nosso programa. Isso não é legal. E também, você sabe, se houvesse algum Aditi dentro. Então, quando nós adicionamos aqui Como você pode ver, não
há nada direito através dele novamente. Como pode ver, não
há nada Q. Então esse é o problema, certo? Devemos, de alguma forma, fechá-la, mesmo que sejam exceções aqui. Então, como podemos resolver o problema como este que podemos usar? Tente finalmente ver como fazê-lo. Digitalizamos algo assim seco. Então nós adicionamos o milho aqui e nós precisamos Teoh incluir tudo o que nós queremos tentar dentro deste bloco. E no final fazemos algo assim, finalmente. Então, no final, queremos fechar o fogo. Então, mesmo que algo aconteça aqui,
por favor, feche a luta. Finalmente, faça sempre. Eu não me importo com o que aconteceu lá dentro? Tenta o livro. Deve estar perto. Ok, isso é o que finalmente significa. Agora, quando você está no nosso modelo, mesmo que tenhamos que ouvir um erro, você notaria que quando formos aqui, podemos abrir o bloco de notas deles. E como podem ver, amostra está dentro. Claro, a amostra não foi trazê-la para o fogo porque, bem, a flecha aconteceu certo? Quando fazemos algo assim aqui,
por exemplo, por exemplo, criamos um A muito em conserva Quando o Irã nosso módulo, você vai notar que um não existe, certo? Porque qualquer coisa depois da exceção, ele não será executado. Mas a final, eu acho que quando você tiver um bloqueio finalmente, essa coisa vai ser executada. É por isso que tenta final. É muito útil, certo? Porque fechamos a multa. Libertamos a memória que é o resultado daquele incêndio. Certo? E também, você sabe, nós podemos fazer outros finks. Ele gosta, por exemplo, de criar um rebelde direito A. Quando você cria uma variável como esta, você vai notar que muito livro é criado, certo? Você pode acessar um agora aqui. Não seríamos capazes de fazer isso direito, porque fizemos isso aqui, Nanya. Poderíamos acessar um Então foi assim que você usou. Tente. Finalmente. Aqui você tenta coisas. E aqui o que deve ser feito? Sempre. Ok, o que deve ser feito? Sempre. Há mais algumas coisas que você pode aprender sobre exceções. Mas falamos sobre eles mais tarde, quando há um melhor momento para falar sobre eles em conteúdo mais prático. Ok, isso vai para a lição. Obrigado, Muito
65. Como abrir o arquivo no usar: com: como...:: na última palestra. Você resolveu o problema de fechar o arquivo sempre, mesmo que algo aconteça aqui, diretamente no bloco try. Mas o que realmente precisamos escrever tantas coisas a fim de fechar a luta? Será que realmente precisamos, como os programadores se lembram sobre tal coisa? A coisa legal sobre fightin é que é realmente fácil de emprestar dedo do pé e fácil de usar. E temos outra maneira de abrir a luta e garantir que esta luta será fechada sem ter que usar este tipo fora. Declarações têm que fazê-lo bem. Primeiro, vamos dilatar. Nós até deletamos o que até apagaria a parte onde fechamos. Se eu escrever, Então o que vamos usar. Usaremos uma palavra-chave que é chamada com. E então vamos agora apertado aberto Se eu e então eu perguntei cinco. Então nós empatamos com palavra-chave. Em seguida, amarramos a função que abre algo como, por exemplo, às cinco, e salvamos no arquivo de objeto. E então nós amarramos a coluna e então nós digitamos o que queremos fazer com este arquivo. E quando terminarmos todas as instruções de comida que estão aqui. Temos a certeza de que esta luta vai acontecer porque mesmo que algo de errado aconteça assim, certo, esta luta vai ser encerrada. Eu acho que isso é muito mais fácil de usar. É mais fácil de ler. Escrever. Dá ao nosso programa um pouco melhor. Olhe. E quando estávamos em nosso módulo, você vai notar que temos um estreito aqui, certo? Mas nós abrimos. Poderíamos criar a multa deles quando a restaurarmos. Como pode ver, temos a sua amostra. Então tudo funciona bem. Logo depois disso, nada acontece. Mas fechamos o arquivo do Dwell quando apagamos aquela coisa que cometeu um erro. A exceção que você e notar que quando
carregamos fogo, temos boa amostra. Então tudo funciona bem. E o legal é que até mesmo fazer um estreito. Você notará que podemos excluir esse arquivo de texto. Fez isso? Você pode ver quando eu apertei o botão excluir se eu fui excluído. Certo? Então isso significa que a luta foi encerrada. Não precisávamos nos lembrar disso. E está aqui para você Então sempre quando você está abrindo luta, use apenas a palavra-chave com. Em seguida, use a função que você usou para abrir, desafiar. E então você o salvou. Cinco para mais tarde, para uso posterior. Quando você quer fazer algo com essa luta no objeto aqui e então você pode fazer o que quiser aqui, certo? O sentimento, essa lição. Muito obrigado.
66. Como ler o conteúdo do arquivo - ler de e a - de de divisas e divisas em de divisas e de divisas: Olá acabou. Mas agora sabemos como abrir sua luta e também sabemos como escrever para a luta. Mas como lemos o conteúdo ou o fogo? Como ler o semblante? Salve-o em, por exemplo lista. Bem, em primeiro lugar, precisamos abri-lo. Vamos usar seus com palavras-chave porque ele irá garantir que o fogo será fechado mais tarde. Em seguida, usamos a função aberta e, em seguida, tomamos o nome de cinco que você deseja abrir e nós queremos. Hoje abriu os cinco que contém nomes e sobrenomes, nomes,
sobrenomes , que o texto assim nomes, sobrenomes, esse texto. E devemos abri-la no modo que este mandado foi eliminado, assim como o segundo argumento que enviamos aqui é, aqui é,
mas não precisamos enviá-lo. Podemos apenas usá-lo assim porque este é um modo padrão,
OK, No entanto, No entanto, eu gosto de sempre dizer o que estamos fazendo porque é um pouco mais fácil de ler frio como este , certo, Porque não precisamos lembrar qual era esse valor padrão? Ok, então, hum, agora vamos salvar o arquivo aberto em um objeto e nós chamamos de cinco e agora podemos ler a luta. Auto-exemplo. Você pode escrever arquivo que taxa eo que vai acontecer agora quando executar o nosso módulo? Nada. Porque não trouxemos nada daqui porque o quê? Lemos o fogo, mas não o salvamos em lugar nenhum. Certo? Quando empatamos final, você verá que o fogo é um objeto e tem algumas propriedades que falamos. As propriedades são apenas valores que o objeto contém. Ok? E isso pode ver. E ele nomeou aqui fosso que usamos e temos algo bom é chamado incluindo que falamos então Mas é admitir que não há nada meninas ala direita para salvá-lo em algum lugar porque o conteúdo, está em algum lugar aqui agora, aqui está este conteúdo, mas vai salvá-lo. Então vamos guardá-lo no reboque. Por exemplo, nomes e sobrenomes escrevem algo assim e sobrenomes. E agora, quando executamos nosso módulo e para algo assim, como você pode ver, temos bons nossos nomes e sobrenomes. Mas há alguns problemas, certo? Porque tudo está em uma linha e nós temos um problema com o meu então certamente como você pode ver. É bonito não olhar porque este não é um sinal que usamos na Polônia. Usamos um sinal como este. Você está bem? Não assim. E não interpretou corretamente. Então vamos consertar as duas coisas, certo? Ah, aquela barra traseira e é realmente um personagem especial que faz entra. Quando você faz algo assim, você obtém um resultado adequado, certo? Vamos colocar tudo em linha diferente. Você consegue o que quer, mas às vezes você não quer ter um conteúdo para se parecer com estes. Você quer ter você sabe tudo em espaçamento diferente o menos, por exemplo, um após o outro e como fazê-lo O legal Pense sobre a parte de mim é que temos bons homens. Se eu muitos Matic isso vai ajudá-lo para que possamos julgar o algo como que Split linhas. E agora, quando estamos em nosso módulo, você notaria que temos nome e sobrenomes dentro da lista um após o outro na ordem em que eles foram lidos Muito legal, não é? E também removeu cada pesquisa de casca e então queremos usar, você sabe, valores
específicos. Em seguida, use este tipo fora da maneira para resolver o problema, e você pode estar se perguntando como eles funcionaram. Bem, você sabe, se fizéssemos isso assim, uh, algo 90 dias. Então nós o executamos em uma string, você percebe que, uh, nós também obtemos o mesmo resultado. Então a verdade é que a disfunção retorna. Algum tipo de valor nesses valores é igual a estes. E nós executamos esta função no volume de dias, ok. E mais leve. Conseguimos como resultado deste grande, não é? E é assim que as linhas divididas funcionam indo dedo do pé agora resolver também o que e chamando direito não é aqui estamos sendo dito que na codificação é UT F oito, certo? E aqui estamos sendo dito que codificando Mississippi 1 a 50 Então, como você pode ver, nós abrimos com codificação diferente, certo? É por isso que temos problemas com os personagens que normalmente não são usados em todos os países . Certo? No meu país, eles são usados na Alemanha. Há diferentes dar ah, personagens
diferentes. Também em muitas, muitas línguas diferentes. Inglês é fácil, certo? Não há personagens especiais de ameaça em fez. Você não precisa se preocupar com isso. Mas se você está indo para o dedo do pé, use línguas diferentes. Então você deve definir a codificação. Faça a mesma codificação que tem os cinco que você está abrindo. E, a fim de fazê-lo, você só usa o argumento nomeado como este em. Quando você executar o módulo, você notará que tudo funciona bem. E há também o que para mais função que devemos aprender que esta uma linha de leitura ler palavras como esta quando você executar a linha de leitura que você não era é que vamos ter apenas uma única linha. Como o nome sugere, é uma ótima linha única e quando a envolvemos novamente, então quando você faz algo como dias, sim, notamos que temos uma segunda linha. Ok, leia linhas, leia muitas linhas ao mesmo tempo. Então, quando você faz algo assim, você não vai é que nós vamos obter instantaneamente pelo menos fora das linhas, mas inclui cada personagem final. Ok, neste é um grande diferente deste mandado que divide linhas. Há também mais uma maneira de ler luta que você pode apenas usar loop para e você diz algo como para cada linha que está dentro do pai lugar fogo, por exemplo, uma linha. Ok. E agora, quando você perguntar, você pode ver que temos todos os nomes e sobrenome em linha diferente. Bem, há até duas linhas. Por quê? Porque o caractere final para impressão é por padrão aqui disse para casca casca final barra, o que significa que ele adiciona tentativa automaticamente o enter no final. Então, como você pode ver, quando você executar o módulo são, ele irá executar o mesmo. Mas não podemos fazer nada. E então, como resultado, vamos conseguir algo dos anos noventa. Assim, a impressão irá interpretar a parte de trás tal e vindo de cada linha. Mas não vai sair agora. As caixas e no final. Certo, só
há a lição. Muito obrigado.
67. Busque e que em que e em a mudança e leitura da última operação no arquivo: Olá sobre na última palestra você aprendeu como dedo do pé ler o conteúdo da luta e depois de ler o arquivo. Então, quando fazemos algo assim, você percebe que lemos o conteúdo. Mas podemos lê-lo de novo? O que vai acontecer quando fizermos algo assim você não é que nada aconteceu, certo? Quando eu fizer isso de novo, nada mais acontecerá. Por que é aquela cela? E bem, talvez vamos tentar fazer assim. Precisamos abrir a luta cada vez que quiser ler os cinco? Não, não
precisamos fazer isso. Há outra maneira. Mas, para fazê-lo, você precisa aprender a função, contar e procurar a função tell lhe diz onde está o indicador de fogo? que significa que as cinco posições fora da última operação. Você sabe, quando você redefine, você realmente está lendo personagem enquanto atrás do outro. Bem, o jornal Pitre lendo personagens um após o outro, certo? E quando terminar, ele vai parar e ter um indicador apontando aqui como se tivéssemos esse piscar. Eu acho que você está certo. Aquele sinal piscando. Só indica que paramos aqui e depois disso, não
há nada. Então, quando envolvemos grande, não
há nada depois. Quando você faz algo como, por exemplo, linha de
leitura e, em seguida, você vai invocar função dizer que você não vai. É que temos aqui um número 20 livre quando você envolveu no ataque. Teremos um número maior, que é apenas segurando. Vamos dizer-lhe exatamente quantos caracteres e incluindo os caracteres finais estão aqui no arquivo de texto. Certo? Então, quando você lê a linha, você só lê uma linha, certo? Então 123456789 10 11 12 13 14 15 16 17 18 1921 21 Personagens estão aqui parte Por que é 20 grátis aqui? São 23 porque há o que depois do truque Arkady Rudar, temos a barra invertida e o caráter, certo? A barra e o caráter e, bem, significa dois personagens, certo? Então é por isso que, diz-lhe, 23 aqui e bem, é como apontar aqui agora. Então, quando você bem, aqui, exatamente, e quando você envolvido novamente ler linha. Então, quando você faz algo como dias, você vai notar que nós teríamos 31 direito? 1234566 Explosão 20. Congelar 29 mais dois, que é um personagem final é 31. E é assim que a Linha Reid funciona através da sua e da Tory deitado à direita, e deixa o indicador à espera do próximo indicador de leitura, que é a cinco posições fora da última operação. Ok, e você pode mudar essa posição usando a função Sikh, ok, e como fazê-lo. Bem, podemos fazer algo assim. Cinco buscam até que comece do início, que é zero. E agora, quando lermos nossa linha e dissermos onde estamos, você não será o lugar. Lemos meu nome e sobrenome de novo. Certo? Hum, nós podemos verificar dizer depois de doente no aviso. É zero quando eu digo a ele para procurar um lugar machucado no dedo do pé. Você notaria que removemos o quê? 12 personagens livres de um começo melhor. Certo. Então você pode procurar o indicador e mudar seu lugar para o valor que queremos. Ok, então nós enviamos aqui é uma discussão, e você pode mudar. Você pode estar se perguntando onde algo assim pode ser usado. Por exemplo, cada imagem salva com essa extensão tem uma boa visão. Informações sobre o tamanho dessa imagem, por exemplo, e estão sempre no mesmo lugar. É assim que este vício é salvo. Algumas informações sobre esta luta são sempre salvas no mesmo lugar. E porque se você sabe onde procurar, então você pode exatamente obter o tamanho, por exemplo, fora da imagem direito e você pode começar. Você pode abrir a luta e, em seguida, saltar exatamente para o lugar que você quer ler dedo do pé sem ter que ler fogo inteiro. Certo, isso é tudo na lição. Muito obrigado.
68. Aplicativo - adicionar o texto no final do arquivo: tinha mais incômodo. Você tê-los até agora Alguns, maioria fora abrir as lutas que estão lendo e é uma bola diferente que lhe permite ler cinco escrita, que lhe permite escrever na luta. Mas o problema sobre isso escrever o modo de arquivo é que se a luta existisse, ele será removido. É muito importante porque bem, quando você abriu o arquivo que é chamado assim e tem conteúdo como este, todas essas coisas serão removidas, certo? Não há como isso não ser nada só por abrir esta luta. E isso definitivamente não é algo que queremos sempre, certo? Às vezes, queremos adicionar algo no final do fogo. E para fazer isso, abrimos a luta. No modo panorâmico, upend significa adicionar no final. E agora você vai notar que quando fizermos algo como este fogo de primavera diga que você não é. Esse é o indicador desligado? - Tudo bem. Quando corremos, nosso modelo está no fim do fogo, certo? Como podem ver agora, vamos fazer operações a partir deste lugar a partir do fim. E é isso que este modo faz, e também não remove o conteúdo deles. Certo? Agora você pode adicionar um novo nome e sobrenome, certo? Então podemos fazer algo assim. Por exemplo, se eu montar e, em seguida, podemos adicionar nossas marcas de ducha do carro, por exemplo, como este e executar o módulo e você notaria que nosso programa foi recarregado de fora. E como você pode ver, nós adicionamos aqui uma casa de campo no final. Mas você pode ver que está na mesma linha. É porque no final não tínhamos premiado a barra invertida. E então precisamos de Toe adicionado aqui antes, ou precisamos fazer algo assim. Precisamos terminar cada linha com o caractere de linha final não só este primeiro 10 frases, mas também o último. Mesmo que não haja nada depois, devemos adicionar enter direito e por causa disso agora, quando estamos em nosso modelo, você não estava, é que ele é adicionado com o direito enter. Ok, então isso é só ouvir muito obrigado.
69. a+, r+, com + - de dois modos de abertura do de arquivos de arquivo de função: após as últimas palestras, aprendemos sobre as maneiras básicas individuais fora, abrindo cinco por single. Quis dizer que só podíamos fazer uma coisa naquilo que não podíamos ler. Mas só podíamos escrever. Ou nós só poderíamos anexar ao fogo direito quando ele abriu em um fora este a maioria dos
modos de empacotador de fogo que permite que você faça duas coisas ao mesmo tempo. E, a fim de usá-los, você só precisa adicionar, por exemplo, dedo do pé são mais fazer W mais ou para o A mais. E então eles trabalham de forma diferente. Logo aprenderemos como isso. Vamos usar o R mais. E quando usamos nosso plus, então ele permite que você leia e escreva ao mesmo tempo. O que isso significa? Isso significa que você pode usar neste modo lá encontrou que está certo e ler ao mesmo tempo, direito sobre o fogo. Mãe precisa se lembrar sobre isso quando você escreve algo para desafiar, você está realmente se movendo Além disso, o ponto de leitura certo? Estes ponteiros estão conectados uns aos outros e nós temos wplus. Você pode montar na região, mas há na diferença aqui é ler aqui é certo e ler. Sim, há uma diferença. Porque quando tentamos abrir o arquivo que não existe com o nosso Plasse cunhado, você não está assim morto. Vamos conseguir algo de volta, por exemplo, sério? Vine primeiro dentro, você notaria que temos jantar, certo? Não há incêndio nos anos 90, mas quando usar o W Plus, vamos criar um 5 com o nome do Eddie. Como podem ver, criamos o fogo aqui. Onda. Também precisamos lembrar que, se abrirmos usando o fosso w plus para lutar, já existe. Então eu luto assim. Vamos competir por um segundo. Então nós estamos para não perdê-lo. Certo? Hum, quando eu pensei isso você não vai ser que nós vamos perder toda a luta. Ok, você pode ver que todo o fogo foi feito para eles, e então você um foi criado. Certo, então vamos usar o escopo. Então nós temos o conteúdo, Bach e bem, e há uma diferença entre Reed plus e W plus e permite que você faça
as duas coisas ao mesmo tempo. Eles queriam, eu acho, é o cooler é o A Plus. Eu acho que é o mais usado porque ele permite que você para cima de mão o tempo que você
quiser . Eu o chamei de fosso infinito. Logo você sabe o porquê. Para o fogo. Está bem. Mas também permite que você encaminhe a partir da multa. Também cria uma luta se não existir. Então, quando você abre assim e nós, por exemplo, algo como Fight Hall, vamos ver qual é o ponto. Então, quando fazemos isso como este é para admitir o ponto é que 177 para que possamos assumir que é
no final do incêndio, certo? Há provavelmente 177 caracteres aqui. Isso significa que estamos aqui. Significa que está pronto para quê? Por adicionar coisas novas na luta para que possamos justificar isso, certo? E então podemos sair algo no final. Alguns pensam no final, assim. E quando tivermos isto ligado, abrimos. Como você pode ver, o pensamento aqui foi encerrado a dívida. Mas a coisa legal que podemos ler neste incêndio, certo? Mas se o ponto aqui é que o fim. Como podemos comer alguma coisa? Porque, bem, eu ouvi o fim da luta. Então, como podemos mudá-lo? Podemos facilmente saltar para a primeira linha fora, por exemplo, fogo ou qualquer outro lugar na multa. Então podemos fazer algo como cinco, procurar e saltar para o primeiro lugar e depois ler a linha sobre assim. Você não vai é que nós lemos a primeira frase aqui. Mas também adicionamos um e algo no final e jogo a partir daqui. E a coisa legal é, agora que quando fazemos algo assim nós somos novamente algo dois d algo para definir. Não vamos nos atualizar do lugar onde saímos. Então, o lugar onde saímos é Nós estamos para a leitura? Hum, como você pode ver para ler nós deixamos aqui pelo ponteiro está aqui. Mas realmente, nós adicionamos no final aqui a multa A. Então, isso significa que é modo infinito fora de um pendente. Sempre que escreves algo para o facto de que sempre vai baía, acrescenta no final que queres ler alguma coisa dos cinco, então vais lutar. Procure o lugar onde você quer ler algo. Você pode escrever no arquivo em algum lugar no meio, certo. Você pode apenas adicionar algo para a luta ou você pode ler o conteúdo da multa. Então é legal porque eu acho que é a situação mais frequentemente que acontece na idéia fogo adicionando novos limites. Mas às vezes você quer ler a luta para que você não precise reabri-la em algum lugar só para o caso da leitura, certo? Vamos pular e ver quem está na posição. Por exemplo, cinco. Certo. Então você pode pular exatamente para deslocar. Leia e você pode novamente usar o mesmo 500 em algo. OK, então este é o brilho fora. Eu acho que a maioria permite que você faça duas coisas ao mesmo tempo. Este permite que você faça apenas uma coisa ao mesmo tempo. É fácil lembrar que quando você se levanta, além disso, você apenas dá o recurso básico que waas no único molde, você lhe dá recursos adicionais. Estamos usando o sinal de mais. OK, que vender a lição. Muito obrigado.
70. de palavra, a não e em que a captura de de a: Olá. Está tentando exercitar esse exercício. Você deve carregar nomes e sobrenomes de uma luta. Nome frio certo é esse texto. E depois disso você deve dividir todos os valores que estão dentro. Portanto, o resultado deve ser um topos menos fora. Então ele deve ficar assim em sua lista externa. E por dentro você tem bons nomes e sobrenomes. Ok? E depois de morto, você deve salvar cada um dos nomes em. Se eu chamasse nome, coisas, texto. E você também deve salvar sobrenomes no PFI chamado. Certamente esse texto. Certo, isso é um exercício. Tente fazer isso sozinho. Se puder me seguir. Mas pelo menos tente realmente lembrar que você deve programar, a fim de se tornar um programador. Eu tenho anexado nome e sobrenomes que texto cinco onde você confinou nome e sobrenomes para dis palestra. Se você não tem um anexo nesta palestra, você pode encontrá-lo. Basta criar uma luta como essa e digitar um nome poucos e certamente está dentro Ok. E você pode acompanhar com o seu Obrigado. Então, como resolver o problema? Primeiro precisamos abrir os cinco direitos que vão digitar algo assim. E então precisamos abrir no modo de leitura para que o tipo esteja certo, porque só precisamos ler voleios. E depois disso, vamos pensar em como lê-lo. Bem, acho que é uma boa ideia usar esse olhar para ele que vamos usar para cada linha dentro da nossa luta. Vamos imprimir a linha para ver o que tem dentro primeiro. Então, quando você executa nosso moderadamente notar que temos nome e sobrenome certamente, e aqui temos uma exceção, certo, porque não temos um sobrenome, mas precisamos trabalhar com ele mais tarde. De alguma forma, quando queremos imprimi-lo para os sobrenomes, esse texto. Mas podemos pensar nisso como primeiro, devemos nos concentrar na primeira parte. Devemos dividir valores como dividir o vício, como espalhar duas cordas uma da outra. Bem, você pode usar para isso uma função para esta divisão de culto que se divide, pensa direito. Então, quando enviamos aqui como o primeiro argumento que separadores da coisa que está entre oito do valor, vai dividi-los. Temos de lhe enviar um espaço como este. E quando executamos nosso módulo. Você notará que já o dividimos. Cada nome e sobrenome em listas de reboque, muitos menos certo. Eles não são costura superior para de alguma forma transformá-los em tapas. Como transformá-los em capelas, onde precisamos fazer algo que é assim Nós digitamos maçã, e nós enviamos como o argumento suas listas, certo. E agora, quando o Irã nosso módulo, você vai notar que temos muitos derrubar. Então isso é o que não vamos fazer, certo? Mas queremos ter todos os Stupples dentro da lista. Certo? Então, como fazer é onde precisamos criar uma lista antes de abrir a luta. E precisamos levantar a mão. Isso derruba em seu nome menos assim e certos nomes. Sobrenomes aconteceram. E quando não sabemos onde o módulo está quando fazemos algo assim. Como pode ver, somos uma boa lista de capelas. Mas acho que também devemos apagar a barra invertida. Por quê? Porque agora vamos guardar estes valores nos nomes. Texas são nomeados ações ações tomadas. Nós vamos ter em um lugar volta sessão em Dbacks toque em eles. Mas
não em todos os lugares, certo. O fantasma vai olhar aqui. Temos aqui. Nós não temos as costas depois que a Arca argumentar o nome. Mas aqui temos depois do nome porque ele era a próxima exceção. Então devemos remover todas as traseiras como fazer isso. Para onde vamos correr nesta linha? Porque a linha é realmente qual linha? Parece assim agora, certo? São deuce cartão para menina escura volta flush e direita. Isto é uma linha. Imprimimos aqui, certo? Caixas Kardashian. E então on-line vamos invocar uma função que é chamada de substituição,
que substitui a coisa que dizemos que queremos responder. Então vamos substituir tal e em nada. Então, a
fim de entender como uma longa linha como esta funciona, você deve pensar sobre isso desta maneira. Então a primeira coisa que temos aqui é isso certo? E quando nos envolvemos nesta cadeia a substituição, então não vamos ter algo assim sem a busca Beck. E, em seguida, dividi-lo, usando esta função na lista off. Então vamos ter algo como o nosso carro. Theo está antes do projeto. Então vamos ter algo assim aqui depois de nos separarmos. Então isto é aqui dentro, e o topo das mudanças está no templo. Oh, é assim
que você segue instruções longas como esta. Ok. E a verdade é que acabamos de resolver o primeiro problema, certo? Temos nomes e sobrenomes de maçãs, que não tem mais. Os Becks e cabeças. Ótimo. Certo? Ok. Agora devemos salvar o resultado nos nomes, esse texto. Então você sabe, nós deveríamos fazer algo assim com nomes abertos, aquele texto para escrever desta vez nós queremos salvar ah daqui de eso. Queremos salvar o primeiro nosso argumento de derrubar. Certo? Então, a primeira posição de derrubar. Então vamos fazer algo assim para cada item dentro de nomes e sobrenomes iam escolher o primeiro cara, então eu desliguei zero. Certo? E você quer guardá-lo no Faisal 5 que montam assim e devemos adicionar barra invertida. E aqui agora, tudo bem. E agora, dentro do nosso módulo, nós criamos aqui, os nomes, esse texto e quando a abertura que, como você pode ver, temos todos os nomes aqui na linha correspondente, Certo? Arkady geralmente boi ou gado mais arriscado. Por exemplo. Nym está aqui e aqui é nove. Ok, Fareed funciona bem, mas bem, ainda
há um problema porque precisamos de alguma forma salvar os sobrenomes. Eu olho para criar um lutador tem sobrenomes e agora escolhemos a segunda parte da capela. E o que acontecerá quando o Irã for módulo? Percebe que temos uma exceção. A seta de índice que diz que o índice Kapil está fora de alcance, que significa que estamos tentando acessar esta caverna. Neste caso aqui, tentamos acessar o segundo elemento que não existe. Então, como podemos resolver um problema como este? Bem, há duas maneiras de uma trabalhar e outra é um profissional. Vamos começar a partir das soluções alternativas da coisa que você poderia criar por conta própria sem saber como resolvê-lo corretamente. Então vamos pensar por um segundo. Quão grande é este item se é um direito adequado, certo? Normalmente tem um comprimento de fora para os itens dentro, certo? Nosso truque Ladakh cottage. Aqui temos a terra de apenas um, certo? Então solte este tombamento é um aqui. A terra, a terra apropriada também é. Então poderíamos checar antes de escrever algo para desafiar. Quão grande é a queda? Para tentarmos falar como uma das terras fora. O item é realmente muito. Então tudo o que você era está bem. Então podemos escrever para eles. Lutar caso contrário o quê? Nós poderíamos escrever, por exemplo, para desafiar caixa barra E ok, então nós temos para o espaço vazio lá esperando o nome do meio nos cinco correspondentes. E quando você está em nosso módulo, você percebe que nós não temos um iraquiano agora e nós podemos ver que você tem anos. E como você pode ver, nós temos, bem, arqueando e quem nós temos o espaço vazio que está esperando para o meio, certo? Como você Baker, Carla. E venha aqui um grande caso. Então cada nome é coro, uh, em cada linha é correspondente a discernir para o apropriado. Certamente. Certo. Isso é legal. E vendemos o problema, mas acho que não é a melhor solução. , Bem,
eu acho que não é isso agora imagine que você está voltando para o seu programa depois de dois anos. E você está olhando para essa garota e está pensando no que isso significa? O que eles fazem? Algo assim? Eu estou contando o tempo de lentilha disparado e eu estou verificando se é igual a eu estou fazendo isso direito necessidade de pensar por um segundo por que você está fazendo isso E isso é ter uma maneira ruim quando você está fazendo coisas assim a mesma coisa acontece quando você está pensando Sobre animais, certo? Queríamos tornar nosso código um pouco mais fácil para os homens manter, então como fazer esse código está lá para manter usará a tentativa, exceto Syntex. Então não podemos tentar fazer isso. Mas no caso de uma exceção como essa este ero índice de ouro não vamos para algo
assim . E que ainda assim estamos rodando nosso módulo e também quando recarregamos atingiu aqui. Como você pode ver, a solução é a mesma. O resultado é o mesmo, certo? Mas nós montamos diferente Kona Nós apenas um pouco mais fácil de ler direito, porque ele poderia
ver instantaneamente que estamos tentando toe executar a coisa que está aqui e se algo não está funcionando, pode acontecer. Uma exceção que esse erro de índice ouro. Ok, então se estamos tentando acessar a coisa fora do índice neste caso Oh, então estamos escrevendo o espaço vazio que você pode ver instantaneamente apenas lendo. Descobriu o que estamos fazendo aqui, certo? Ah, eu quando? Quando estamos usando isso, a solução de antes. Então, assim. Precisamos pensar no que realmente queremos dizer quando criamos essa garota, certo? Esta não é uma boa solução. Ok? Esta é uma boa solução que lhe diz instantaneamente o que está acontecendo. E é assim que você deve criar programas. Então, mais uma vez esta coisa, estamos entusiasmados. Estás a tentar fazer isto. E se a exceção aconteceu, então você está fazendo vai fazer distinto. Caso contrário, você não vai executar a escultura, certo? Este é apenas um código executado. Quando a seta de índice acontece, você pode ter muitas mais exceções. Ele está certo Se houvesse mais para eso você o nome da exceção você sempre pode começar a partir daqui . Ok, se a exceção aconteceu para que você pudesse ir para a direita exceto e o nome fora outra exceção e a instrução que vai ser executada é aquele que isso sob a exceção que aconteceu. Ok, você também pode facilmente conectado com o finalmente bloco. Então será assim. Ei, tente fazer isso. Se a exceção acontecer, faça isso. Mas isso acha que você precisa fazer sempre. Mesmo que essa exceção tenha acontecido, mesmo que ele não funcione. Mesmo que acontecesse qualquer outra exceção que eu não tenha pensado. Finalmente, esta coisa é a minha máscara. Certo. É assim que finalmente funciona. Eu sempre vou executar o casaco aqui. Nós conversamos sobre isso antes, então você pode coletar seco, exceto finalmente juntos. Certo, só
há a lição. Obrigado. Quarto.
71. Funções de gerador -: Cabeça lá fora. Você aprenderá sobre as palavras-chave de rendimento que você pode usar dentro da função para torná-la uma função
gerador. Até agora, você aprendeu sobre expressões geradoras, e nós escrevemos uma expressão como essa na palestra sobre expressão do gerador. Estamos lembrando como funciona a expressão do gerador? Nós escolhemos? O Owen vence aqui. Nós digitamos mundo. Devemos fazer com esse elemento. E aqui está a condição para cada um dos elementos. Assim, a matéria geral do membro gera números pares. Mas escrevê-lo assim não significa que nós os geramos. Acabamos de criar um gerador que podemos acessar mais tarde, certo? Essa é a diferença entre o gerador e, por exemplo, são essa expressão que vai criar todos esses elementos instantaneamente e salvá-los dentro de uma memória. É por isso que os geradores são bons quando você quer criar
muito, muito mais coisas e você não quer. Você sabe, tomar todo o espaço instantaneamente em sua memória porque acabou o ERM er, situações como essa acontecem. Então, o que é uma função de gerador? Bem, ele faz a mesma coisa que isso, mas vai parecer um pouco mais lido, capaz de situações que são mais longas do que isso, certo, porque, você sabe, aqui nós têm apenas uma linha palavra linhas livres. Mas a verdade é que podemos colocar tudo em uma linha. Mas às vezes há situações em que você quer fazer coisas complexas, certo? E então a expressão do gerador não é uma boa idéia. Há também a segunda, a razão pela qual você gostaria de usar uma função gerador que faz as mesmas coisas como essa. Mas falaremos sobre isso mais tarde quando eu mostrar a vocês em um exemplo prático. Ok, seria mais fácil para você entender. Então, como criar um gerador de funções que faria a mesma coisa. Gosta desta coisa aqui? Bem, vamos criar uma função normal. Então nós chamamos isso, por exemplo, gerar números pares. E agora deveríamos passar por todos os elementos. Então, para cada elemento na faixa de 400 vamos escolher elementos que são assim. Então, quando Alleman módulo dois é igual a zero, queremos retornar elemento. Vamos ver se vai funcionar. Então, quando fizermos algo
assim, assim, você não fará. Isso está aqui embaixo? Temos zero e novamente vale sempre zero. Porque quando nosso intérprete vê a palavra-chave de retorno, ele vai retornar este elemento e mudar isso para isso e eles não retornam palavra chave significa que estamos deixando a função. E, você sabe, não
importa que nós paramos no primeiro elemento, certo? Zero Modelo dois é igual a zero quando você diz elemento de retorno porque esta condição waas louco, isso é tudo. Não vamos passar por outros elementos no alcance de 400. Dissemos a ele para voltar ao local onde a função estava envolvida. E isso é tudo. É assim que funciona. Então, como podemos gerar números? Como podemos, de alguma forma, voltar ao bar? Deslocar. Precisamos mudar o mundo. Retorne ao rendimento. Agora veja o que vai acontecer. Hm? Não temos sido um número. Temos algo bom é chamado de objeto gerador. Agora esta coisa é realmente um número. Gerar Ok, gerador significa que isso e comer aerador. Mas o que isso significa? O diesel, ele areja-o. Um escritor significa que é um objeto que você pode comê-la. Mas o que isso significa? Que você pode comer o direito em iterar. Significa que você pode ir até ele. O que significa que você pode acessar o aerador amargo, a fim de torná-lo fornecer. Fornecer gerar próximo valor. Está bem. E o rendimento significa realmente fornecimento gera. Então, quando você digita algo assim,
isso significa que você pode agora atores gerador de números para vir a este lugar. Mas como é o dedo do pé? Como dizer que eu quero gerar o próximo número que você precisa digitar algo vai discutir a próxima Então eu tipos de noite próxima. E então, como você pode ver, nós precisamos enviar como um argumento ele gerador aerador resiliente escritor Nita e a partir disso você pode ver que nós temos zero e agora podemos obter os próximos números, desde que esta função tenha elementos ainda para passar. Certo. Então, até chegarmos ao intervalo como este, então faça sua palavra-chave como rendimento funciona. Vamos analisar este programa como se fôssemos computadores, certo? Então vamos começar Toby, um intérprete para facilitar. Vamos fazer um príncipe que goste começar aqui. Vamos digitar antes de produzir rendimento do autor. E agora, quando você executa nosso modelo, não esta única coisa que esta função não tem. Bean invocado quando usamos parentis está aqui porque a disfunção não é realmente uma
função normal . É uma função gerador e a função gerador. Então, uma função que tem usado palavra-chave dentro dele vai ser invocado somente quando usamos o próximo. Quando tentamos os elementos de acesso do dedo quando tentei, gerar algo a partir dele. Então esta é uma grande diferença porque nós somos usados para algo como quando nós digitamos o nome da função do que parentis é. Significa que você envolve essa função. - Não. Aqui estamos apenas gerando um gerador para o futuro. Use-o. Certo, isso é muito importante. Diferença não. É que quando mudamos esta palavra-chave para retornar, claro, É
claro,ele vai funcionar de forma diferente agora, mas também, disfunção foi invocada. Certo? Já começamos antes. Bem, e isso é tudo porque acabamos de voltar aqui o primeiro elemento, certo? Aquele zero. E vai quando nós digitamos, você rebobou estes agora função gerador. A verdade é
que afunção
do gerador é uma função. A verdade é
que a A dívida tem um rendimento. Ele trabalhava. Esse é o requisito para fazer um gerador funcionar. Então aqui temos agora um gerador, essa taxa congênita, certo. E quando você executar o módulo. Nada acontece. Mas quando fazemos algo como o próximo gerador de números que você não
é, é que nós temos. O que? Comece então vamos aqui impressora antes de você, e então nós verificamos isso e, em seguida, nós produzimos, o que significa que fornecemos. Gerar zero. - Onde? Ah, aqui. Direto através deles. Então mudamos a seguir. Parentis é gerador de números em seu zero. Bem, nós poderíamos fazer isso também assim, certo? Próximo escritor numérico, coisa
minha. E você não faria isso. Em vez disso, temos números. Certo? Então isso é transformado no que os waas renderam aqui. Certo, Bottle
, está na vida. Isto é um pouco mais lento. Aqui, Aqui, próximo gerador de números e não isso. Ah, que temos quatro começar antes de ceder. E o que significa a palavra-chave usada? Isso significa que saltamos aqui e retornou o direito zero com fornecimento gerado. Mas também significa que vamos manter o estado da função, o que significa que não vamos reiniciá-la. Significa que podemos saltar de volta exatamente para o lugar onde o rendimento Waas. Significa, portanto, que deve invocar isto. Pensa na próxima vez que fizermos algo assim. Como pode ver, é verdade. Imprimiu depois de bobinado, direito isso e então ele salta aqui. Em seguida, ele imprime antes de produzir suas verificações a condição que é falsa, não porque um módulo para é um, não zero. Então ele salta novamente aqui e imprime antes da produção. E então a condição está acabada e ela traz para e então isso não vai ser executado porque nós paramos aqui. Rendimento significa fornecimento, Fornecer, gerar e parar. Está bem. E espera que decidamos quando queremos saltar aqui de novo. E decidimos
por, por exemplo, fazer algo assim, certo? E novamente a mesma coisa Bússola. Então é assim que vai produzir trabalho de palavra-chave. E você pode estar perguntando agora, por que não isso? Por que isso? Porque isso é mais legível em situações mais difíceis, escrevendo um mais confuso. Mas há também uma segunda razão. Vamos, por exemplo, pode definição de jogo gerar 10 números. O Caim. Então você quer gerar apenas 10 números. Então vamos criar um pretos temporários e por que XT é menor do que 10 então rendimento X agora, ele não vai funcionar bem, porque ele apenas produzir cada vez, zero direito, então em alguma forma aumentar X por um e porque o estado off a função é cada vez salvo antes de cada execução fora desta, você sabe, função. E ele disse, porque a palavra-chave fora keeled nós podemos fazer algo assim aqui e agora. Olha, nós podemos, por exemplo, mudar a geração de 10 números para a lista instantaneamente. E vamos trazer você não seria, é que temos uma lista de elementos de 0 a 9 mente, e podemos fazer novamente. Estes, pelo
menos, por exemplo, três vezes. Podemos fazê-lo quantas vezes quisermos, mas se tivéssemos e gerar 10 números expressão, vamos fazê-lo desta forma para X no intervalo. 10 Retorno X. É mais curto, mais fácil de ler, certo. Mas há um problema. Quando fizermos assim, você vai notar isso, certo? Funciona bem. Mas o que acontecerá quando voltarmos a fazê-lo? MM está vazio porque o gerador quando é seguro em algum lugar. Então, por exemplo, aqui quando ele termina o trabalho, você não pode gerar mais a partir dele. Mais números. Então vamos precisar realmente fazer algo assim para fazê-lo e não, esta situação nesta situação é melhor ter apenas uma função que os números de rendimentos
e que os gera quando agimos com eles. Certo? Então, se você quiser usar um movimento de expressão uma vez, se você quiser, você alterá-lo um pouco entre o bêbado. E se vai ser um grande complexo, então é melhor usá-los função gerador. Está bem. A lição talentosa. Muito obrigado.
72. EXERCÍCIOS: de uma quantidade infinita de números multiplicado por si em que de de: Olá. É hora de se exercitar. Eu quero que você crie a função gerador para gerar números que são multiplicados por eles mesmos. O que significa quando você tem 11 multiplicado por um é igual a um. Multiplicar por dois é livre por livre 94 por 4 16 5 por 5 25 6 por 66 e assim por diante. E eu quero que você gere 20 elementos como esse. Em seguida, parar e, em seguida, novamente gerar a partir desse momento novamente, 30 números e eles salvar cada resultado no mesmo mínimo e, em seguida, mostrá-lo. Ok, então como fazer algo assim, direito de fazer você não tem o seu próprio. Se você não pode, então assista este vídeo. Iniciamos o nosso programa criando uma função de gerador. Então vamos nomeá-lo como número multiplicado por sua off gerar. Precisamos de um número dentro do gerador. Vamos exibi-lo. Vamos atribuir a ele zero start e precisamos fazer este loop. Irão sempre. Não deveria nunca parar por aí. Sua casa? Nós não sabemos exatamente como homens e mulheres alguém fere. Se ele quer limões, ele só vai comprar um após o outro. Então devemos fazer alguma coisa. O que é chamado de um infinito LaPierre. Então, aquele que vai Irã para sempre como fazê-lo bem, enfraquecer tipo algo. Por que agora a condição de loop é sempre através porque ele diz aqui direito para então é sempre também. E você sempre corre? Nós não teremos um problema aqui porque nós vamos produzir o resultado, que significa que foram fornecidos para algum lugar onde alguém irá executar o próximo no nosso gerador. Certo? E não vai correr. Sempre basta correr quando queríamos ser executado direito e agora podemos empunhar qual número multiplicado por número, certo, porque devemos multiplicar número por qual número? Agora o número é igual a zero, então devemos aumentá-lo em um. Então eu disse, vamos fazer assim. E a verdade é que toda vez que voltamos a esta função, bem, o que aumenta o número por um e então vamos multiplicá-lo por si só. Então era exatamente isso que queríamos fazer, certo? Criado. Gerar a função gerador que irá multiplicar os números por si mesmos. Isso é tudo. Mas o problema também está aqui, certo? Queremos gerar 20 limites,
parar e, em seguida, novamente gerar números 2013 e também salvou os resultados dentro leasing. Como fazer isso. Bem, a primeira coisa que podemos fazer instantaneamente é criar um mínimo que os mantenhamos. Então gerou números como esse, saltos vazios. Agora precisamos de alguma casa criar um gerador a partir desta função. Geradores fora do número, gerador igual a esse. E agora precisamos correr 20 vezes. Próximo no gerador de números, certo? Não só uma vez, mas 20 vezes. Então devemos dar uma olhada. Use um olhar para ele. Certo até agora. Algo como, por exemplo, uma corrida na faixa 20. Próximo. Mas não queremos apenas mostrar-lhes. Como, por exemplo, dias em que o Irã nosso módulo. Percebemos que só mostramos esses números gerados. Você quer salvá-los? Então vamos guardá-los dentro de uma lista. Então vamos fazer algo assim. Gerador números uma reprimida. Certo. E agora podemos mostrar esses números dentro da lista assim. Como você pode ver, eles são indulgência e funciona bem. Escrevo sete militares cerca de 78 multiplicados por oito. Tudo funciona bem. E agora precisamos gerar, o quê? Mais 30 números do lugar onde paramos porque o rendimento realmente está esperando por nós. Só precisamos digitar aqui. 30. E ele irá adicionar novos elementos no final porque o trabalho upend funciona assim. Você anexa elementos no final da lista. E nós, quando envolvemos o próximo gerador de números, vamos apenas saltar para o momento em que paramos. Certo? E como pode ver, é verdade. Nós paramos, você está em 400 agora nós tivemos mais elementos no final da lista. Então imagine que aqui estão muitas instruções que fazem algo certo. E então você é como se eu precisasse de mais números, certo? Preciso de mais contagens dentro da nossa liberada, e podemos fazê-lo facilmente assim, certo? Você pode exatamente começar onde paramos. Você provavelmente também notou que estamos usando aqui um Mas a verdade é que nós não usamos aqui, certo? Nós não fizemos. Você faz algo assim,
por exemplo, para mostrar que a verdade é que isso só está aqui para, de alguma forma, fazer esse loop funcionar. Poderíamos usar um loop while em vez disso. Mas, sabe, quando se tem uma situação como esta, você deve usar um sublinhado. Você está insinuando. Então você está dizendo a outros programadores que você é realmente que você pode ver. O ainda tem um valor,
mas você está dizendo aos outros que você não vai usar o conteúdo aqui dentro do nosso olhar. O ainda tem um valor, Certo, isso é só uma informação. Tudo bem, isso não é novidade. Acabamos de usar o dedo do pé dele repetido 20 vezes. Resultado é que a informação para os outros? E como você pode ver, nós resolvemos o problema e também aprendemos alguns pensamentos que não fazem lição. Muito obrigado.
73. Como enviar o método nas funções do gerador: Olá Hoje vamos falar sobre o método enviado que permite que você envie um valor para o gerador que já está gerando coisas. Mas antes de fazer isso, precisamos analisar algumas coisas para entendê-lo melhor. Então, quando executarmos nosso modelo, você notará que quando fizermos algo como o próximo gerador de números, o número aqui foi atribuído a Zeron, certo? Fomos em seu Por lope. E então imprimimos zero. Então nós adicionamos 0 a 01 Então nós temos agora aqui um e nós multiplicamos um por um e nós trabalhamos . Nós voltamos, você e nós fornecemos usando um dedo do pé aqui e isso é tudo. Agora podemos voltar imediatamente a este lugar e ir embora, mas fazendo algo assim, certo? Então voltamos aqui e numeração agora é igual a um. Porque é que a chamada para um? É porque quando usamos o gerador de funções Então, quando temos uma função, vamos manter o que mantemos o estado fora de cada que somos capazes que estava dentro dessa função, certo? Não os destruímos, mas podemos voltar e usar esses valores. Mas como podemos de alguma forma enviar valor aqui e depois usá-lo? Precisamos usar uma função centavo. Mas para onde esse valor será enviado? Quando você usa a próxima função, você volta aqui e você muda toda esta instrução em algo seria desconto chamado nenhum. Você pode verificá-lo quando atribuímos este exemplo assim para amostra de modo que após a amostra de rendimento é igual a amostra. E agora vamos ao redor do nosso módulo. Então, a próxima. E como você pode ver, é muito número é igual a um, mas amostra física para nenhum. Então, quando voltamos aqui, realmente
mudamos essas coisas em nenhuma. E nós designamos você para fazer uma amostra aqui, certo? Mas também podemos voltar com algo novo a este lugar. Então, quando fazemos algo como o gerador de números enviado e nós, por exemplo, digitar algo assim, você vai notar que voltamos aqui com 2000. Nós atribuímos a amostra e como você pode ver, o número é igual a dois. Então o gerador regenerando números como sempre, mas a amostra é 2000 e podemos usar esse volume de muitas maneiras diferentes. mas eu vou fazer agora algo muito legal. Olha, agora
podemos fazer algo assim. O que vai acontecer? Isso é executar o nosso módulo. Vamos rodar o gerador e depois o gerador de números. E vamos enviar, por exemplo, para caçar 20. Como pode ver o quê? Então não funciona? Porque nós o indicado aqui duplo Vamos fazer tornou-se como este número em seguida enviado. E agora vamos alguma coisa. Como você pode ver, nós enviamos aqui 20 e nós atribuímos para o número, que significa que agora número é igual a 20 logo após o rebobinado e antes de curado. Também é igual a 20 ID. Então nós a 21 e nós cedemos. Então nós fornecemos Tohir 21 multiplicado por 21, o que significa que agora nós não precisamos número mais um porque nós decidimos qual número deve ser multiplicado por si só, diretamente usando a função perfume Então nós podemos enviar agora o valor que você quiser. E seria multiplicado pela sua primeira vitória do dedo do pé recente. Reinicie o nosso programa que executou o gerador e, em seguida, envie valioso. Ele vai, como você pode ver, agora
podemos multiplicar por si só e, em seguida, volume direito para que possamos iniciar o nosso gerador. A Anna. Timing. Nós queremos. Podemos enviar o valor e obteremos o resultado. E nós precisamos Você deve ter notado que toda vez que eu reiniciei o módulo, eu fiz algo assim. Em
seguida, depois isto. Por que é assim? E porque precisamos parar o gerador primeiro. Olha, quando fazemos algo assim tão instantaneamente enviou 200 você é que ele pode enviar valor conhecido. Ah, dedo do pé, basta ligar o gerador porque, bem, gerador que parar está aqui, certo? Podemos saltar para deslocar. Nós primeiro executamos instruções Diz. Tia, chegamos aqui e depois podemos voltar para o lugar. Certo? Podemos começar daqui. Não é. Não está perseguindo o primeiro começo. O gerador é como ligar um motor, certo? Indo para iniciar um motor, a fim de gerar valores. Então é por isso que você sempre precisa digitar algo assim. Vamos começar e então você pode enviar valores que você não vai. Essa é a primeira coisa que você pode fazer. A segunda coisa é que você pode simplesmente enviar nenhum. Nenhum significa que estamos fazendo a mesma coisa como a seguir. Então você não está enviando nada. Você está apenas ligando o gerador. Então você está indo para o pé. Ir para deslocar linha por linha. Certo. Então isso é igual a essa Andi. Agora podemos facilmente enviar e avaliar o que também significa que agora podemos fazer algo
assim porque não é que temos. Agora responda sem suporte. Um pai para o asterisco tipo conhecido e nada. O que isso significa? O que aconteceu? Porque não é que quando voltamos para deslocar direito fazendo um próximo estamos lendo, atribuindo a número nenhum. É por isso que após o número de rendimento é igual a Nam antes do número da juventude é igual a non. E então o que estamos tentando fazer, estamos tentando ceder, então forneça aumento de exibição do dedo do pé. Nenhum multiplicado por nenhum. Mas não podemos multiplicar nada. É por isso que temos um erro aqui. Ok. Então você não pode mais correr. Se você estiver usando desta maneira. Certo? Vai. Você está atribuindo agora ao número nove. Ok, então agora vamos usar isso. Como podemos usar essa parte fora do nosso código agora? Nós não sabíamos por aí nos preparando, porque bem, nós temos o próximo Ele certo e nós podemos continuar a seguir na liderança. Precisamos correr. Está certo, o número do escritor. E nós enviamos seus valores que você deseja gerar. Então, por exemplo, quando fazemos algo assim, geramos números de 0 a 9 Onda Podemos fazer a mesma coisa aqui agora e assistimos ao trabalho , como vocês podem ver agora, porque Por que vai ligar nosso gerador? Então precisamos digitar algo à noite. Próximo número, gerador ou precisamos ir. Número enviado. Algo como nenhum. Certo, então podemos fazer assim, por favor. E físico. Veja agora nós geramos números de zero e 19 números que são multiplicados por si só, certo? E então novamente de 0 a 30. Mas agora podemos decidir direito pode dizer oi. Eu quero ter de 30 a 50 em que você pode parecer que vai funcionar bem. A pergunta que você está tendo agora provavelmente é Por que nós acabamos de criar um parâmetro? Nós apenas enviaríamos Ouvir um argumento e poderíamos gerar números a partir de um momento específico. Bem, então você poderia fazer isso. Mas você precisaria criar um gerador para cada vez que você quiser fazer isso agora, nós temos poderia apenas um único gerador, certo, e nós podemos usá-lo sempre que quisermos. Em todo o nosso programa tem agora pequenos programas, então você pode não notar alguns, você sabe, benefícios em fazer tais coisas, certo? Porque agora estão, como agora eu fiz. Por que aprendemos algo tão difícil? Certo? Poderíamos resolver estes problemas da maneira mais fácil. E é verdade que você poderia resolver isso da maneira mais fácil em situações como esta, certo? Se você sabe que seus programas serão maiores, você queremos gerar números usando vagando o escritor e muitas, muitas, muitas coisas diferentes. Você pode não sentir isso agora porque seus programas são pequenos, certo? No futuro, coisas assim serão úteis agora você é um iniciante como programador. Bem, talvez semi adiantamento, porque você aprendeu muita sintaxe agora, mas você não vai sentir tudo o que começa até começar a escrever coisas. Você precisa começar a programação quando você faz grandes programas e você cometer erros que serão ponto
quente, ou quando você faz setas que vão fazer o seu casaco não limpo ou você tem problemas para enviar dados de um lugar fora do programa para outro quando você deseja gerar números. Ah, de repente e você não quer, você sabe, ter muita memória em seu programa. Então você notaria que as coisas que aprendemos agora são úteis. , Sei que nós,como pessoas, não gostamos de aprender quando penso em coisas novas quando não entendemos por que as usamos. Por que nos importamos com a aprendizagem? Coisas novas são úteis, mas com o tempo certo, posso mostrar-lhe tudo de uma vez. Você pode aprender tudo de uma vez porque é simplesmente impossível, hum, obter tanto conhecimento em tão pouco tempo. Estas lições são apenas cerca de 15 minutos. Bem no dia. Você vai. Eu prometo a você, no futuro, ver benefícios em fazer coisas como esta. Mas vai levar algum tempo. Você precisa ter alguma experiência em programação. Não se preocupe, chegará a tempo. Isso vai para a lição. Muito obrigado.
74. O que é o JSON? Por que o usamos? Quais problemas o JSON resolve?: Olá pessoal. Hoje você aprenderá
o que é Jason? Por que usamos qual problema o Jason Wise json é tão amplamente usado? E por que é a solução de
grade para transferir dados entre
diferentes idiomas? Então imagine por um segundo você
precisou
processar dados usando Python que vem
diretamente do banco de dados? E depois de processar esses dados
, fica assim em
nossa linguagem Python. Ok, então antes de
estar no banco de dados, agora estão aqui dados processados
dentro da linguagem R Python. Em seguida, você deseja passar todos
esses dados para outra linguagem de programação,
lag, por exemplo, JavaScript. Por quê? Assim, o programador
que programa em JavaScript pode mostrar esses
dados em navegadores da web. Para os usuários de seu site. Teoricamente, você poderia
gravar no arquivo os dados assim, que são mostrados aqui
em forma de texto. Então você pode simplesmente gravar em um
arquivo caractere por caractere, gravar todos esses dados em um arquivo caractere
por caractere. Mas há um problema. Porque não necessariamente em
outras linguagens de programação, esses dados podem ser
descritos dessa forma. O que eu quero dizer? Bem, por exemplo, em outras linguagens, eles
podem não ter, por exemplo tuplas, certo? Portanto, não há nenhum
tipo de dados como esse. Por exemplo, eles não digitam nenhum, mas digitam em
seu idioma não. Ou eles usam esse pequeno
estojo aqui, em letras maiúsculas. Então, pode haver diferenças
diferentes, mas isso realmente
depende do idioma, certo? E é por isso que não podemos simplesmente salvar esses dados, caractere por
caractere, em uma briga e depois
lê-los dentro, por exemplo JavaScript ou em qualquer outra linguagem de
programação. Ok? Felizmente, temos um
formulário de dados chamado Json, ok, então Jason pode ser usado em todas as
linguagens de programação porque Jason tem certas regras para salvar dados seguidas
por todos os programadores. E é bom porque você
não precisa aprendê-los porque, bem, eles são, existem métodos embutidos em
Python ou em outras linguagens de
programação, que farão todo o
trabalho para você, ok? Apenas um método e tudo
será transferido
desse tipo de dados para o tipo de dados
JSON ou de JSON para Python ou
outra linguagem de programação. É muito legal, é poderoso. Só que isso
é um pouco parecido o tipo de dados usado por outras linguagens
de programação. Portanto, com a ajuda
de uma função, você pode alterar seu tipo de dados em Python diretamente para Jason. E alguém em outro
idioma lerá JSON usando apenas um método. Ele opera em seu próprio idioma. Você opera em sua própria terra. Bom. É perfeito, não é? Se você simplesmente não
precisa aprender outra linguagem
de programação para entender como o outro programador trabalha com seus dados e entender
o poder da solução, imagine por um segundo que
esse formato comum de tipo de dados, como JSON, não existe. O que você precisa fazer. Além do que
falamos antes, certo? Direto, personagem por personagem. Bem, você poderia, por exemplo escrever tudo para ter
phi em um formato que seria criado por você. Por exemplo, você pode
separar dados com vírgulas e registros subsequentes com entradas ou alguma outra integral
adicional
agora, marcações especiais. Então, você pode pensar em, por exemplo atributos
ou tags em HTML, ou algo parecido
dentro de nosso arquivo. Mas, infelizmente, a pessoa que
carrega seu arquivo, por exemplo ,
em JavaScript, teria que
criar do
zero completo desde o início como código
especial apenas
para suportar
seu formato de dados
recém-inventado. Ok? Portanto, para cada programador, provavelmente
haverá
uma ideia diferente para resolver esse tipo de problema. Imagine o caos que isso trará ao nosso mundo
de programação. Felizmente,
não precisamos nos
preocupar com isso porque temos
algo chamado Jason. Ok? Jason, então algo O que há
entre outras línguas? Na próxima lição, mostrarei como
escrever o seguinte. Tipo. Este diretamente no JSON. E então você simplesmente não precisa se
importar com o que
vai acontecer com isso. Porque a pessoa que
vai programar em JavaScript em C plus plus em outra linguagem de programação
pode simplesmente traduzir isso para seus géis de linguagem
usando um método. É por isso que isso é
tão poderoso e carvão para usar o
zoneamento dessa lição. Muito obrigado.
75. Criando e salvando dados do Python no formato JSON para arquivo e String: Olá pessoal. Hoje você aprenderá como
alterar o formato de dados do Python para o formato de dados em json para usar o Jason Tudo o que você precisa fazer
é digitar import JSON. E isso é tudo, sim, porque Jason é a biblioteca
padrão. Então você quer fazer
é digitar Jason. Jason. Você tem aqui uma
descrição dos métodos. Hoje, você aprenderá
dumps and dump. Método. Despejar significa deixar cair alguma coisa. Significa jogar fora, significa abandonar alguma coisa. Ok. Então, quando usamos
o método de dumps, realmente
queremos dizer que
estamos descartando quem está descartando esses dados. Estamos jogando fora e
transformando-o no Jason. Portanto, esse método
salva dados internos, e essa é uma string muito
importante. É por isso que aqui está S, S para formato de string para Jason. Ok? Bem, como usá-lo? É muito simples. Você só
precisa digitar json dumps e, em seguida, digitar os
dados que deseja alterar. Então, mudando, é claro, precisamos executar o
módulo porque você acabou de importar JSON, json dumps e o filme sim. Você pode ver que acabamos
de transformar isso em isso, mas também não está
formatado, certo? Observe que, em vez de
verdadeiro com maiúsculas, temos aqui
agora a caixa pequena. Também transformamos a tupla em
algum tipo de matriz, ok? Então, tudo funciona bem, mas há alguns problemas. Você provavelmente notou
que temos ouro aqui. Uma coisa estranha. O que é isso? Bem, você sabe,
caracteres poloneses como, por exemplo este estão fora
da tabela ascii. O que é tabela ascii? Isso é essa coisa. Então isso é algum tipo de tabela de caracteres básicos, caracteres
básicos. Por exemplo, 65 está associado
a maiúsculas, a, 104 está associado
a h, certo? Então, esta é uma tabela
de caracteres básicos, mas os personagens da
Polônia não estão aqui, nem todos estão certos. Da Alemanha, também,
da China também, certo? É por isso que temos
algo assim. Mas se quisermos usar
esses personagens, podemos fazer isso. Podemos fazer isso
alterando o bullying, garantindo que o ascii seja falso,
porque, por padrão, ele é
definido como verdadeiro, como você pode ver, quando enviamos o
filme deles e depois
fazemos algo
assim, garantimos ascii. Então, mudamos o
argumento do nome para false. Então, como você pode ver, agora, não
temos essa coisa aqui, mas estamos realmente bem com
a largura dos caracteres, ok? E eu acho que você deve
sempre fazer isso dessa maneira. Então, temos aqui uma corda, observe porque temos
o apóstrofo aqui, certo? E isso também significa que
podemos realmente invocá-lo dessa forma. Então, podemos fazer
algo assim. Json dumps e, por exemplo , filme
codificado, escreva
algo assim. E quando executamos nosso módulo, temos que ele é salvo
dentro de uma variável, e agora podemos facilmente enviá-lo diretamente para o servidor, por exemplo, esta
aparência, e alguém poderia simplesmente lê-lo como uma string, então ele poderia transformá-lo em
seu próprio tipo em sua linguagem de
programação,
como por exemplo, dentro do JavaScript. Isso é legal. Mas você também tem a possibilidade de salvá-lo
no arquivo e depois não, então você não enviaria uma string para
outro servidor, mas enviará
o arquivo inteiro, certo? Então, como fazer isso? Você está usando o método de
despejo JSON para isso. Então, estamos escrevendo json dump. Em seguida, precisamos digitar
os dados que
queremos transformar em JSON. Então, no nosso caso, está se movendo. E aqui temos FP, que significa, que
significa ponteiro de arquivo. Então, precisamos abrir
o arquivo, certo? Então, acenda, usando a sintaxe de onda, para que o arquivo fique fechado, nublado
automaticamente. E vamos chamar isso de
phi, por exemplo, sample json. Então, usaremos a
extensão Jason. Você não precisa adicionar
uma extensão aqui, mas acho que é uma boa
ideia adicionar uma extensão para todos
possam ver
instantaneamente que é Jason phi. E então você precisa
abri-lo lá. modo W, que é o modo de escrita porque
queremos escrever nos cinco, não queremos ler dele. Nós vamos escrever para ele. Acho que é uma boa ideia
definir a codificação em UTF oito. Então, tudo o que
está dentro será interpretado adequadamente. Todos os personagens. E então vamos
salvá-lo como o phi. Phi. Agora podemos simplesmente digitar aqui
phi in para fazer um recuo aqui. E então, como último
argumento,
enviaremos um argumento nomeado para garantir que ascii seja falso. Portanto, não temos problemas com os caracteres ascii, certo? Bem, agora podemos salvá-lo em um
módulo aleatório e depositar qualquer coisa. Como você pode ver na pasta que temos nosso arquivo Python,
este exemplo, o
arquivo json de amostra, acabou de ser criado. Agora podemos abri-lo com o Notepad. E como você pode ver, nós o temos
dentro de uma linha agora, não está formatado, mas olha, está funcionando bem porque
mudamos a letra maiúscula
para minúscula. Nós transformamos a tupla
na matriz e assim por diante. Então temos um bom Now, Jason formatou phi para que
possamos enviá-lo para o servidor ou para algum tipo de mesa de JavaScript ou
outra linguagem de programação. E alguém pode lê-lo com um is porque você pode
usar apenas um método para
carregá-lo, certo? Isso é muito legal. Bem, você pode formatar isso
se quiser lê-lo,
porque, para ser honesto, o formato jason é um formato
fácil de ler. Se você quiser
analisar dados, certo? Então, imagine que você obteve esses dados de
alguém e
precisa analisá-los primeiro antes de
iniciar os processos dentro do seu programa
e como fazê-lo. Bem, olha, o Notepad Plus, Plus, você pode baixá-lo na
internet se você digitar node plus plus tem plug-ins. E quando você acessa
o administrador do plugin, você pode digitar sua loja JS. E se você digitar j é dois, eu já o instalei. Você pode simplesmente clicar em Julia roubou assim
e clicar em Instalar. Depois de reiniciar o programa nos plug-ins, você
tem uma boa ferramenta aqui, js e você pode simplesmente digitar. Clique no formato JS. Como você pode ver, ele está formatado
agora e é fácil para você. Você pode ver facilmente que o
título é assim. Eles realmente veem que aqui
é assim, certo? Os créditos são para diretor. O diretor, o que
é muito legal. É fácil de ler, escrever
e, além disso, aqui você
tem algo como, por exemplo visualizador de
json. Então, ao abri-lo, você pode pular para dentro do pronto-socorro. Como você pode ver,
está destacando a linha em que eu clico aqui. E podemos entrar em nossa
luta e analisá-la. É claro que, no momento,
temos apenas um registro. Se houvesse mais coisas
assim, seriam realmente úteis. Então imagine que você está recuperando os dados
dessa forma de alguém. Em seguida, você o analisa assim usando, por exemplo,
Notepad Plus, Plus. E como
você os analisou, agora sabe como
processar esses dados posteriormente. Você pode carregá-lo como
aprenderemos, como faremos
na próxima palestra. E então você pode
processá-lo com isso. Então, para resumir o que
alcançamos nesta palestra, aprendemos como
mudar o tipo de nosso próprio Python de digitação
para o formato JSON. Aprendemos como
salvá-lo na string usando
o método dumps, que tem S aqui como
sigla para string. E também
aprendemos como salvar esse formato JSON
no Phi, certo? E também garantimos que os caracteres
ascii não
sejam apresentados dentro do
arquivo ou dentro da string. Também definimos a codificação
adequada. Então, lembre-se
dessas coisas aqui. E o que devemos fazer
depois disso, certo? Para ser honesto, nada. Você não precisa mais se
preocupar com isso. Você não precisa se preocupar com o que
acontecerá com os dados? Porque esses dados serão enviados para alguém e esse cara vai
processá-los sozinho. Você não precisa
se comunicar com ele. Você não precisa
contar a ele como inventou esse formato porque ele conhece Jason e muito mais. Ele não usa
um método para
carregá-lo em sua própria linguagem
de programação. E ele pode usar sua própria
linguagem de programação para processá-la. Isso é muito legal. Isso é tudo ou é
isso. Muito obrigado.
76. Pretty Printer - carregando/economizando JSON bonita e ordenada: Olá, pessoal,
você provavelmente notou que os dados que imprimimos de Jason parecem
muito ruins em nossa concha. E é difícil de analisar
por causa de V. Bem, temos um registro agora, mas imagine que existem
cerca de dez deles. Seria difícil dizer
qual é qual, certo? Portanto, é uma boa
ideia se pudéssemos imprimi-lo da forma mais bonita
possível e como fazê-lo. Há duas maneiras de fazer isso. A primeira é usar
a função dumps. Veja quando você adiciona aqui
outro argumento, o argumento chamado indent, que mostra o
tamanho do espaço entre essas variáveis internas e como elas devem ser formatadas. Vamos colocar aqui para. Você notará que
agora, quando executamos nosso módulo e eu faço
algo assim, agora
temos a barra invertida n, edite aqui e alguns
espaços, certo? Então, agora, quando você
imprime um filme codificado, ele é formatado. Ótimo, não é? Parece bom. Você pode analisar isso facilmente sem problemas. Além do mais, você chamou de habilidade
Salt Key. Você pode fazer algo
como sal por caixa. E podemos mudar de falso, que é padrão,
padrão para verdadeiro. Agora, quando executarmos nosso módulo, você notará que as chaves
estão classificadas em ordem alfabética. Os atores orçam a, B, C. Aqui temos t, r, w, j, certo? Então, isso agora está resolvido, então agora é fácil de ler. Ok, então atores, ok, eles estão mentindo cadáveres
aqui. Tente analisar isso. Apesar. Barb, eu não vou fazer isso. Estou procurando um orçamento. Onde está seu orçamento Oh, está aqui. Ok. Agora você entende o que, por que é uma boa ideia classificá-lo. Por que é uma boa ideia fazer alguns recuos e fazer com
que tenham uma boa aparência. Aqui. Resolvemos um problema, mas como
salvá-lo no fogo? Não dessa maneira, mas da maneira
correta, como aqui. Mas você faz isso da mesma forma,
então agora que adicionamos aqui, execute o módulo e você
notará que ele está formatado. Mas você precisa
se lembrar de que
há um problema em
formatá-lo. Acho
que esse arquivo será um pouco maior porque agora
existem espaços em branco, teoria do
éter e barra invertida n. Portanto, nem sempre é
uma boa ideia. Depende do que você
quer alcançar, certo? Se você quiser fazer com que pareça bom e sabe que
vai ler daqui, você pode fazer isso, certo? Caso contrário, você não
precisa se preocupar com isso. Porque se alguém realmente
precisar alterá-lo, você pode usar o JS store
e o json viewer. Ele pode usar o Firefox. Compre sua casa, tem
uma coisa embutida que pode mostrar a aparência de
Jason, mesmo que não
pareça boa no começo. Então, talvez você, essa é
outra boa ideia. As teclas de classificação também são
úteis apenas quando você
vai ler o conteúdo. Então é assim que você
faz isso para economizar. Mas o que acontecerá se
tentarmos abrir o arquivo? Veja quando você abre o phi
e queremos lê-lo. Então, temos o resultado
aqui em adjacente agora. Quando executamos nosso módulo, notamos que
também não temos o JSON formatado. Como
transformá-lo em um formatado? Bem, para fazer isso, podemos imprimir e enviar para json, despejar novamente o resultado
e depois recuar. Você precisa garantir que
o ascii seja falso. E embora você possa
, por exemplo, classificar as chaves. Então, é uma fila
bem longa para fazer algo
assim, certo? O que mais? Tivemos que primeiro
carregá-lo e depois trocá-lo. Eu não gosto dessa linha. Bem, poderíamos criar
uma função para isso. Também podemos usar o
módulo peep peep print. Então, como funciona a impressão
PP ? Você pode fazer
algo assim. Importe impressão PP, que
significa impressão bonita. Então, vamos imprimir
essa impressão é bonita. E nós a usamos como aquela impressão. E acabamos de enviar a eles um módulo aleatório do tipo
JSON. Claro, para usá-lo,
quando usá-lo dessa forma, porque esse é o
nome de origem, agora o nome
da função módulo aleatório. E isso também está formatado. E essas são bibliotecas padrão , então você não precisa instalá-las. Ele já está instalado e
você pode ler sobre isso aqui. Tente fazer algumas outras coisas. Veja aqui, você tem exemplos. Eu poderia falar sobre
isso, mas para ser honesto, você precisa começar a aprender bibliotecas dessa maneira, a mais fácil. Sozinho. Essas bibliotecas não são tão
úteis. São apenas
coisas adicionais que você pode aprender e
podem ser úteis. Mas isso não é tão importante. Você pode facilmente tentar
fazer isso sozinho. Ok? tenha pressa, leia
o que está escrito aqui e tente fazer as mesmas
coisas que foram feitas aqui. E, para ser honesto, se você está aprendendo coisas e não copia
tudo daqui, certo, mas
tudo alinhado por nove. Então, estamos importando
a marca PP. Em seguida, você pode copiar
esta linha e, por exemplo para esta e tentar ver
o que está embaixo do material. Então imprima a equipe, veja o que aconteceu usando
essa linha, certo? Em seguida, faça isso e
tente ver o que é NPP. E então faça a impressão
como eles fizeram aqui. E tente não usar o
recuo igual a quatro, certo? E sem mais nem menos. Então veja a diferença entre a linda impressora com
recuo e nós votamos nela. Dessa forma, você aprenderá você pode alterar a variável
aqui: dois de quatro para, por exemplo, 22 podem ver por si mesmo
as diferenças. É assim que você aprende. Então este é o seu
exercício, exercício onde você não lê esse conteúdo daqui
e tente brincar com ele. E lembre-se de que você não
precisa aprender de cor. Você não precisa se lembrar de
todas essas funções para sempre. Você não faz anotações a partir
disso porque, para ser honesto, não
me lembro
da maioria dessas coisas aqui. Eu só sei que eles existem
e quando eu preciso deles, eu estou
voltando aqui e estou reaprendendo isso muito, muito rápido. Será impossível,
ao acessar a Biblioteca
Padrão do Python, se
lembrar de toda a
equipe daqui. Lembre-se dos nomes dos módulos e dentro deles há ainda mais
conteúdo para altura. Portanto, é uma boa ideia saber
que algo existe. Mas isso não
significa que você precise se lembrar disso de cor. Essa é apenas essa lição. Muito obrigado.
77. Carregando dados do arquivo JSON para o Python: Olá pessoal. Hoje vamos
carregar uma string JSON que é enviada para o nosso programa
de algum lugar, certo? Não sabemos exatamente de
onde. Não nos importamos porque é
sempre a mesma coisa, certo? O formato Jason é sempre o mesmo. Então imagine que essa variável
aqui codificada recuperada em movimento é na verdade variável
que foi recuperada, qual Deus? Os dados que estão
aqui, por exemplo, de um
servidor. Ok. Então veio até nós do
servidor, de outro servidor. Nós o
recuperamos e o salvamos aqui. E agora, se você
quiser processar esses dados, precisamos
transformá-los em dados
parecidos com esses, certo? Caso contrário, não
poderemos
processá-lo porque
há coisas dentro do formato JSON que não
funcionam para fazer isso, só
precisamos usar dados JSON de
uma linha, carregar S para string. Em seguida, nós o enviamos para essa
função como argumento. Podemos, por exemplo, dizer v,
Este filme decodificado. Agora podemos simplesmente executar nosso módulo e fazer
algo assim. Isso, você pode ver que
agora está no formato Python, o que você pode ver aqui não é nenhum. É que vai funcionar bem. Não guardamos a tupla, certo? Mas não se preocupe com isso. Porque se você quiser
ter uma tupla aqui agora, você pode alterar isso usando, por exemplo expressão
do dicionário. Você pode
transformar isso na tupla, certo? Podemos fazer o que você
quiser com esse tipo de dados. Porque agora está em Python. Você simplesmente não pode fazer nada com ela porque a tupla apenas garante que ela não
seja alterada, certo? Você está processando esses
dados e não deve, por exemplo ,
alterá-los para não
precisar fazer nada. O mais
importante é que agora
podemos processar esses dados. Não nos importa de onde
veio, em que idioma. Simplesmente funciona. E se você quisesse
carregar o JSON do arquivo? Você vai ter que
primeiro abrir o arquivo. Então, abra, vamos usar o phi que tivemos
da palestra anterior. Então experimente Jason, então
experimente aquele Jason. E agora precisamos abrir para ele, no modo de leitura. Mas o modo de leitura é
o modo padrão. É necessário definir a codificação para a correta e salvá-la como phi. Agora só precisamos fazer
algo assim. Jason, meu pai adorou. E o ponteiro do arquivo aqui, o resultado disso é
que os filmes codificados. Então, quando arredondamos nosso módulo, resultado é realmente o
mesmo do filme decodificado. Tudo bem? Então, isso é como é fácil lê-lo como muito
legal, não é? Apenas uma linha e
podemos pegar os dados de outros idiomas e
usá-los em nosso idioma. Portanto, o json é realmente usado
com muita frequência e é fácil de ler. É fácil de usar. É Natal, bebê. Ok. Como exercício, tente fazer as mesmas
coisas que eu fiz nas duas últimas palestras. Ok, isso está tudo
naquela palestra. E, como sempre, se você tiver alguma dúvida, fique à vontade para perguntar.
78. O que é pip e PyPi? Instalar e jogar com pacote externo - pedido: Olá, meus amigos. Hoje
você aprenderá o que é o Pip e como usá-lo. Bem, isso pi, pi e como
instalar um
pacote externo como, por exemplo, request. O que
solicita é usado para o uso básico
do bucket. Então, vamos começar do pip. Pip é um instalador de pacotes é um acrônimo para pacotes de
instalação pip. E bem, você precisa dele
para pacotes externos. Por quê? Porque vamos ver, quando
tentamos importar algo, esse código solicita, ok, isso não é um
módulo externo, um pacote externo. Quando executei este módulo, você notará que
recebemos um erro, nenhum módulo chamado solicitações. Recebemos um erro
como esse porque não
instalamos solicitações. Ok. Até agora, temos
usado os módulos básico e padrão. E eles funcionaram bem
porque já estão instalados. Mas se vamos
usar algo que não está instalado
por padrão, precisamos usar o PIP, que é um instalador de pacotes. Mas primeiro, precisamos de alguma forma
encontrar algo como solicitações. Como fazer isso enquanto você
deve acessar o pi, pi.org, que é o pacote Python. Então P está aqui, índice. Portanto, é um índice, o que significa que é
algum tipo de lista de todos os pacotes que você
pode instalar no Python. Você pode pesquisar
o teorema de projetos, como, por exemplo, solicitações. E por que procuro solicitações? Porque no futuro
eu quero te mostrar algo que eu possa solicitar, que possa solicitar o
conteúdo do site. E o legal do Python é que alguém
já implementou, o que significa que
ele o chamou de protocolo HTTP. Protocolo HTTP. Você provavelmente está se perguntando
agora o que significa Protocolo? Bem, protocolo significa
que existem regras. Protocolo é o conjunto de regras da
Roll que devem ser seguidas. Protocolos HTTP. Isso significa que
existem regras relacionadas à conexão com o site. Se você quiser receber
algo de marca no site, você precisa seguir
o protocolo HTTP. Você precisará reaprender
todo o protocolo para fazer algo tão simples. Mas, felizmente para nós, alguém já o
programou, certo? É por isso que você está
procurando a biblioteca externa. Então, escrevemos solicitações dentro
da busca pelo site
Pi, Pi e encontramos
algo assim. Temos três bibliotecas aqui. Vamos nos concentrar apenas no que não tem um número
após o nome da solicitação. Portanto, não recorra a
não solicitar gratuitamente. Este é sempre o mais novo. Ok, então vamos clicar nele. E agora temos a
descrição da solicitação. O que isso faz? Um uso simples. O que mais? Você pode acessar o
link do Projeto ou acessar
a documentação aqui e
ler muitas coisas sobre isso. Mas, para ser sincero, eu nem
sei tudo
daqui porque não é
como se você precisasse saber
e lembrar,
para ter, tudo o
que está aqui. Você, como programador,
precisa saber que algo existe em
uma biblioteca como essa. Portanto, é uma boa ideia
ler o que essa coisa pode fazer e focar apenas nas
coisas que você precisa. Ok? É por isso que,
nas próximas palestras, aprenderemos apenas
algumas coisas daqui. E isso será suficiente para
os usuários que queremos. E quais usuários queremos? Bem, queremos nos conectar a um site que tenha
bons dados de Jason. E queremos obter
esses dados JSON e processá-los para
que pareçam diferentes, para torná-los utilizáveis para nós. Falamos sobre
o último, por enquanto. Como você pode ver,
esta é uma amostra de um dos muitos pacotes que estão disponíveis
no pipeline. Então, isso é uma solicitação, nós a encontramos, mas
como instalá-la? Isso é muito importante, acho que para
isolar aqui você
descobriu como fazer isso para que
possamos copiá-lo. Basta lembrar
que você precisa digitar pip install e, em seguida, o nome do pacote que
deseja desinstalar. Portanto, para isolar, você precisa abrir a linha de comando, prompt ou o PowerShell no Windows. Clicamos aqui no
botão Pesquisar e digitamos aqui, digitamos CMD ou digitamos PowerShell. Por exemplo, vamos abrir o PowerShell. E agora, quando estamos aqui, podemos digitar pip installed. Ou podemos simplesmente colar
o que copiamos um co-piloto
do Pi, Pi enter. E, como você pode ver, acabamos de
instalar as solicitações. Você pode estar se perguntando: como podemos usar o papel se
você não o instalou? Este é um gerenciador de pacotes. É algum tipo de
programa, a ferramenta, bem, as versões mais recentes do Python
já estão instaladas. Portanto, se você estiver usando
a versão mais recente, não precisa
se preocupar com isso. Se você estiver usando uma versão mais antiga, basta atualizar a versão do Python e você
já a terá instalada. Então, acabamos de
instalar um pacote. O pacote externo é
legal, podemos usá-lo. Agora. Olha, podemos
voltar ao nosso código. E agora, quando executamos nosso módulo, como você pode ver,
ele está funcionando bem. Não temos um
erro como esse NMR. Podemos usá-lo e como usá-lo. Bem, você pode ler o
tutorial ou assistir a este vídeo
para saber que, assistir a este vídeo ao
digitar algo assim, o ponto de solicitação GET. Solicitar significa em
inglês solicitado, então peça para receber e
basta digitar o URL. Então, por exemplo, vamos
nos conectar ao site
chamado github.com. Ok, então queremos obter
este site e, bem, vamos salvá-lo para, por exemplo, resposta. Agora, quando
executamos nosso módulo, temos uma resposta interna, um objeto que tem
um valor de 200. O que isso significa? É um status desse site. Isso significa que
tudo funcionou bem. Recebemos uma resposta adequada. Agora podemos usá-lo. Assim, podemos, por exemplo, digitar o texto do ponto de resposta. E essa coisa agora é texto
comprimido que,
quando
clicamos, não clicamos nele porque
provavelmente deixamos de responder, mas isso seria
um site inteiro. Ok. Não queremos abri-lo aqui e provavelmente não precisamos de todas as
informações de lá. Queremos processar informações
de sites como esse. Como processar informações
como essas , aprenderemos
em palestras futuras. Mas, por enquanto, você sabe que para
obter um site inteiro, basta digitar
essa única linha de código. Você não precisa
saber nada sobre o protocolo
HTTP, certo? Quase. Então você só
precisa saber que 200 significa que tudo
correu bem, se você digitar algo assim, notará que a resposta
será um pouco diferente. Bem, ele o encontrou. Isso se chama, isso
significa que alguém realmente
criou um
site como esse. Vamos fazer algo assim
, talvez desta vez. Então, responda. Ok, agora não encontramos
nada que estivesse sendo desbloqueado. Mas, como você pode ver,
404 significa que nada foi encontrado, certo? Então, duas coisas para
lembrar. Você pode usá-lo. O código de status. Você pode digitar algo
como o código response.status. E como você pode ver, temos 404. Eu gostaria de te fazer
um exercício agora. Eu gostaria que você
escrevesse uma função que fornecesse o site do
OPM
como argumento como este. E eu gostaria que você invocasse essa função para algum
tipo de lista de sites. Então você tem uma lista de sites e dá
as boas-vindas a eles. Alguns conteúdos, como site que existe e site
que não existe. Em seguida, quero que você
crie uma lista de sites que
não abriram corretamente. Portanto, o código de status era 404. E eu quero que você salve todos
esses sites em phi. Queremos que todos esses
sites não pendam dentro de um arquivo, não sejam abertos, aquele
que está abrindo. Imagine por um segundo
que essa lista de sites veio do seu chefe. E ele te disse, você sabe o que? Eu quero que você veja
esses 1.000 sites e precisa abri-los e me dizer qual funcionou
e qual não funcionou. Ok. Porque eu não quero gastar meu tempo com
isso. Você deveria fazer isso. E você diz: Oh meu Deus, eu preciso fazer muitas coisas agora, começando a abrir a borda
dos sites manualmente. Agora você não sabe, porque
você conhece Python, certo? Assim, você pode salvar todos os sites
que não estão abrindo e salvar todos os sites
que estão abrindo em outro arquivo. Isso é muito legal, certo? Gosto muito de Python
porque você pode fazer muitas coisas quando
entende de programação. E, você sabe, por exemplo uma biblioteca externa, certo? Assim. Observe que cobramos então apenas algumas coisas
desta biblioteca. Nas próximas duas palestras, nos concentramos nesta
biblioteca e
mostrarei coisas realmente práticas sobre Jason. Essa é apenas a lição.
Muito obrigado.
79. Carregando dados do servidor do arquivo JSON - prefácio para o próximo EXERCÍCIO: Olá, meu amigo. Nesta lição, você
aprenderá como se conectar a um servidor externo que
retorna phi adjacente. Como baixar o
conteúdo desse arquivo, como lidar com uma
possível exceção e como configurar e
reproduzir dados JSON. Suponha
que, por um segundo, você queira criar um programa que contamos, usuário
pesado
conclui a maior quantidade de tarefas da lista de tarefas. Depois de encontrar um cara assim, você quer dar a ele o
preço na forma de um biscoito com a inscrição,
mestre da disciplina. Vamos supor que
os dados serão fornecidos na forma de
JSON a partir do servidor. E os dados
ficarão assim. Haverá a
identificação das tarefas, certo? E o que significa TI? ID é identificação. É algo que pode
identificar coisas únicas, no nosso caso, uma tarefa específica. Então, quando alguém
lê o ID número um, ele sabe exatamente isso. O número um é a tarefa de, por exemplo, escrever uma carta para um costume. O número dois é sobre
algo que se solta, algo sobre alguns
dedos e assim por diante. Os números dizem exatamente o que se trata da ideia de ID da
tarefa do usuário, que identifica o usuário e
o conteúdo da tarefa, certo? Algo assim e as informações se algo
foi concluído ou não. Então, booleano direto até falso. Teoricamente, você poderia criar esse programa desse jeito. Todos nós aprendemos dados. Você pode fornecer dados posteriormente. Você pode simplesmente processar dados em funções e presumir que
tudo funcionará bem. No entanto, sem testar
se tudo funciona bem, é difícil, certo? Precisamos realmente ter certeza de que tudo
vai ficar bem. Caso contrário, quando alguém
lhe fornecer dados, você encontrar algumas setas
e ele virar, você precisará escrever um
programa que funcione bem de maneira rápida, certo? Você não terá muito tempo. Assim, você mesmo pode criar dados de substituição de
amostras ou aproveitar a situação de dados mais comum
pronta para uso. Existe um site
chamado JSON placeholder. Gosto muito porque,
ao acessar aqui também,
recursos, você notará que o json place ligou para
as contas com um conjunto de seis recursos comuns. Então, seis coisas comuns que acontecem quando você está
tentando escrever um programa. Você pode jogar com
eles, todos eles. De graça. Radical, use isso para se exercitar, porque o
que você vai aprender agora são coisas que são
realmente úteis nessa prática, finalmente, algo
realmente prático. E bem, aqui estão, por exemplo postagens que publicarei nos
fóruns com alguns comentários, os álbuns com algumas
fotos, as tarefas da lista de tarefas. Temos os usuários que estão
fazendo isso para fazer isso. Então, vamos, por exemplo, para o link todos. E você pode ver que
agora temos algo
como o espaço reservado JSON, o
tipo de tarefas do code.com. E agora temos
um servidor externo. Temos Jason phi, certo? Esse é um tipo de arquivo JSON. Como você pode ver,
o falso está começando com a letra minúscula. Então, podemos nos
conectar facilmente a ele, certo? Podemos simplesmente digitar aqui este link e
já estamos conectados a ele. Acabamos de inserir isso
em nossa resposta. Em seguida, podemos executar nosso módulo
e digitar a resposta desse texto. E, como você pode ver aqui, comprima textos, que são JSON. Portanto, podemos realmente pensar
nisso como uma sequência de caracteres JSON. Isso significa que sim, podemos importar JSON
e, em seguida, fazer algo parecido com aquele adjacente que
carrega com S aqui, que é 4" para string. E então, quando
abrimos parênteses, podemos simplesmente digitar sua
resposta para esse texto. E podemos salvá-lo para dois,
por exemplo, algo como tarefas. Eu não queria executar nosso módulo. Você notará que
agora
temos algo como
apertar textos novamente, porque é muito
grande, pelo menos agora. Mas podemos acessar, por exemplo, o primeiro elemento,
porque veja aqui é o ID do usuário. E quando entrarmos aqui, você notará que
é o mesmo cara, 11 anos, a lactose sai do nosso
caule e cai. Como você pode ver, há uma
pequena diferença porque false aqui começa
com maiúscula, o que é bom porque esse
é um tipo de Python no momento. Então, mudamos o tipo JSON
para Python. Isso é muito legal,
muito rápido, muito fácil. E agora podemos analisar, processar esses dados, certo? Como isso é uma lista ou
podemos fazer algo como, por exemplo vamos pegar os
primeiros dez elementos que podemos aliar nos elementos
diagonais. Falamos sobre o processamento
desses dados em uma palestra futura. Agora, vamos nos
concentrar neste site. Veja quando eu digito você, por exemplo, e outros sites da web
como, por exemplo, este. E se não houver Jason
lá, isso não é uma boa ideia porque
temos problemas, certo? Porque Jason carrega
mudanças. Jason. Outra coisa
nos tipos de Python. Então, como fazer isso de outra maneira? Bem, para ser sincero, é muito fácil porque o pacote
de solicitações é bom, algo como um metal responde que Jason
lhe dará o mesmo resultado,
como as coisas acima. Então, quando executarmos nosso módulo, vamos voltar a este
lugar por um segundo. Você notará que quando
eu faço algo como Did, o resultado é o mesmo, mas há uma coisa um pouco
diferente. O que aconteceu? Bem, olha, agora, quando eu fizer algo
errado, como, por exemplo vamos voltar a algo que
não existe, certo? E executamos nosso módulo. Mas talvez algo que
não exista tenha surgido
a ideia de primeiro executar algo que existe, mas não
é adjacente. Porque essas coisas também
devem ser estabelecidas. Você também deve tentar falar
sobre as coisas que X-Y-Z, mas isso não é, não
estamos falando
sobre isso agora Esta palestra é um problema, mas solicitarei
que nos concentremos em Jason. Então, quando estamos
tentando abrir o GitHub, que não está
nos dando resultados adjacentes, agora
podemos fazer
algo assim. Tente fazer isso. Caso contrário, se houver uma
exceção parecida com essa, certo, podemos, por exemplo dizer que o conteúdo não
é Json, certo? Agora, quando executamos nosso módulo, notamos que
obtivemos essas informações. O conteúdo não é Jason. Mas se formos para um lugar
adequado como esse, como você pode ver, tudo
correu bem e agora vou te ensinar algo novo
quando você digitar suas horas. Então, este é um lugar onde você deve codificar um código se
tudo correr bem. Então, como aqui na tentativa,
exceto a declaração de sintaxe, quando executamos nosso módulo , funciona
assim, todas as instruções depois dele serão executadas se tudo correr
bem em caso seco. Então, podemos imprimir aqui, por exemplo tarefas de zero, certo? Assim, podemos processar os dados do
processo aqui. Hazy e nós processamos
dados na próxima aula. Ok. Então, para resumir, aprendemos
nesta palestra como nos conectar
a um celular externo com Jason. E encontramos um espaço
reservado para nossos dados. Você pode até mesmo criar
seus próprios espaços reservados. Você pode ler sobre
isso no guia e enviar para o GitHub
seus próprios tipos. Como temos sorte
agora , com
dados como esses, podemos simplesmente brincar com
o que já existe para
exercitar meu pulso com comentários e aqueles homens
processando coisas com isso. Mas é só
para você praticar. Ok? Então, aprendemos como nos conectar
ao arquivo externo donald, ao conteúdo dos cinco, da maneira mais fácil de
saber como lidar com uma exceção
conectada ao JSON. Também aprendemos
que quando você digita owls na tentativa, exceto bloco, tudo o
que vem
depois de S será executado quando tudo
correr bem no bloco try. Portanto, é muito útil e
essa é a base da lição. Na próxima palestra,
aprenderemos como processar dados. Aí vamos nós. A ideia de identificação fiscal do usuário. Queremos dar
à pessoa com a maior
quantidade de tarefas, o cookie, minha disciplina
completa. Muito obrigado.
80. Processando dados do JSON, | extraindo valores superiores da lista de dicionários: Olá pessoal. Na última palestra, solicitamos dados
JSON deste site. Agora está em nosso programa, temos isso dentro de uma resposta. Nós também mudamos isso. Estamos usando a resposta JSON
no tipo de arquivo Python. Agora podemos processar esses dados. E nesta palestra, queremos processá-lo assim. Então, sempre que o ID do usuário está aqui com o
preenchido igual a verdadeiro, esse registro
não nos interessa. Então esse não interessa porque não tem, não há. Mas esse aqui, porque concluído é igual
a verdadeiro aqui, certo? Então esse é o cara que
completou a tarefa. É o cara que pode
pegar o biscoito, certo? Claro, ele precisa completar
a maior quantidade de tarefas, certo? Então, precisamos contar quantas
verdades Claire parece? Muitos primeiro, para o ID do
usuário, por exemplo, um ou, por exemplo, para, certo? Precisamos contar quantas
verdades existem para cada cara. Então, queremos salvar a aparência de cada
ocorrência, manifestação de uma tarefa de
cara com identificação quando concluída é igual a duas em um formato como esse
em um dicionário, onde o ID do usuário
está aqui e aqui está a quantidade de aparência
verdadeira para as personalidades. Então, onde devemos fazer isso? Acho que você deveria fazer
isso aqui após
a outra declaração, porque é quando temos certeza de
que tudo correu bem. Recuperamos a resposta JSON e a salvamos nas tarefas. Ok, então este é
o lugar onde
devemos fazer isso. Como podemos fazer isso? O que são tarefas? Agora mesmo? Esta é uma lista de dicionários, então não podemos usar, por exemplo o loop forever para
percorrer cada entrada dentro das tarefas por um segundo,
a fim de nos lembrar de
como ela funciona, vamos imprimir
Andrew, certo, executar o módulo. E, como você pode ver,
temos muitas entradas para centenas de entradas. E agora precisamos escolher aqueles que aqui têm o
preenchido igual a falso. Não é falso, mas é verdade, certo? Então, como fazer isso? Bem, para acessar
qualquer coisa do dicionário, o que nós fazemos, o que
precisamos fazer lá dentro? Entradas, vício,
Terry, tudo bem, então agimos como entrada. E então agimos como o quê? Acessamos essa chave preenchida. E queremos verificar se a
conclusão é igual a verdadeira. Se for igual a dois, significa que temos uma lacuna, um cara que completou
uma tarefa específica. Essa tarefa específica
em que podemos, por exemplo imprimir o título,
mas não nos
importamos com o título, certo? Queremos adicioná-lo
em algum lugar, certo. Queremos contar, contar quantas vezes
algo foi feito. E queremos salvá-lo
de alguma forma no ID específico dos usuários
que concluíram essa tarefa. Vamos supor que eu
não sei como isso funciona. Então, vamos, por exemplo, imprimir o que está dentro
agora da entrada, por exemplo, do módulo de ID do usuário. Como você pode ver agora,
temos muitas ideias, certo? E a verdade é
que temos aqui identidades de caras que
concluíram uma tarefa. E bem, devemos
contar de alguma forma
quantos desses caras estão
aqui, como fazer isso? Bem, acho que
seria uma boa ideia
criar um dicionário como
fizemos aqui, certo? Então, devemos fazer
algo assim. Tarefa, frequência por usuário e clique para criar uma frequência simples de dicionário
vazia. E mostrará a frequência por usuário quantas
vezes ele concluiu uma tarefa. Então, talvez vamos chamar isso de frequência de
tarefas concluídas por
usuário, porque
queremos concluir uma tarefa
como fazemos aqui. E agora vamos
acessá-lo dessa forma: frequência de
tarefas concluídas por usuário. E nós vamos
agir assim. Então, olhe aqui. Estamos acessando agora a frequência de tarefas
concluídas por usuário, e criamos ou atribuímos o ID de usuário que está aqui no lado
esquerdo, certo? E queremos atribuir para atingir
o número que está aqui. Vamos começar. Não temos nada aqui. Então, podemos fazer algo
como mais igual a um, que significa que a
cada vez
a verdade será encontrada. Então, cada vez que nosso programa, praticaremos esse
cara, não, não é. É falso. É falso, isso é falso. Aqui é verdade. Então, temos o ID de usuário um e vamos
criar um dicionário, completar a
frequência da tarefa por usuário de um e atribuir a ele o
que estava lá. Mais um. Mais um é igual a um. Agora, falso, falso, falso, verdadeiro. Então, mais um. Então,
antes de ser um. Então, agora seu DO
passa por todos os 3. 456-789-1011. Ok, agora, aqui está outro cara. Ele tem um ID de usuário de dois agora, então falso, não estamos fazendo
nada. Aqui é verdade. Então, agora vamos criar uma segunda entrada para a frequência de
tarefas concluídas por usuário, porque vamos
usar uma chave diferente agora. E agora vamos
fazer a mesma coisa o cara que tem id2. Certo? Aqui é verdadeiro, aqui
é falso, falso, e aqui está nosso programa
vai adicionar novamente mais um, mais um, mais um
e assim por diante e assim por diante. É assim que
vai funcionar, certo? E bem, vamos ver
se vai funcionar. Como você pode ver,
não está circulando. Por quê? Porque um dicionário,
por padrão, está vazio. Não tem nenhum valor. Para criar, para adicionar
algo ao dicionário. Você não usa esse operador. Use o operador para atribuir o problema de dados
porque, para criar uma chave com um valor primeiro, precisamos usar o sinal de igual, não o sinal de mais igual, porque agora
estamos
tentando adicionar mais um a algo
que já existia. A verdade é que não existia. Portanto, no primeiro caso, quando não há nada, devemos lidar com o erro da chave. Então, como fazer isso? Bem, vamos tentar invocar isso. Mas se houver uma exceção, quando ocorrer um erro de chave, queremos criar esse k.
Faça algo assim. Então, apenas para a
primeira ocorrência de true para a tarefa concluída ,
queremos criar primeiro para cada usuário. Um usuário disso terá ID como esse e
atribuirá um a ele. Porque essa é a
primeira ocorrência, certo? Aparência,
manifestação do cara com a tarefa completa. E então, nas próximas rodadas, essa exceção
não será executada porque, bem, isso
não causará um erro, não gerará
uma exceção, certo? Agora, quando executamos nosso módulo. Ok, funciona bem. Vamos fazer algo assim. Como você pode ver,
conseguimos o que queríamos. Agora temos um
dicionário de chaves, onde a chave é ID
do usuário, ID do usuário. Portanto, talvez devêssemos
alterá-lo para seu usuário. E o valor é a quantidade de aparições ou moedas
das tarefas concluídas. Portanto, essa é a quantidade de
tarefas concluídas pelo usuário. Como você pode ver, aqui está o maior número e
aqui está o maior número. Então, temos dois vencedores a menos. Precisamos dar dois biscoitos. Vamos ser pobres. Então, precisamos de alguma forma escolher esse cara
e esse cara, certo? Mas quando analisamos isso, podemos ver instantaneamente que eles
são os vencedores, certo? Mas agora imagine
que existem milhares de registros aqui. Você precisaria
examiná-los. Claro, temos um
computador que pode escolher por nós. Mas, para fazer isso, precisamos criar um
código que faça isso. Ok, então vamos criar agora um código que escolherá
um cara como esse. Portanto, precisamos fazer
com que os usuários tenham a maior quantidade de tarefas
concluídas. Vamos, por um segundo, fazer
algo assim. Isso é acessar a frequência de
tarefas concluídas pelos usuários e acessá-la por meio
dos itens de função. Como você pode ver agora,
temos aqui uma lista de tuplas. E podemos acessar
facilmente a lista de tuplas usando o loop, pois se você
não se lembra desse tópico, porque isso foi
há muito tempo, volte para a seção
em que falamos sobre isso. Então, agora podemos fazer algo
como para cada valor chave, porque essa é uma
chave, esse valor. Mas o que
poderíamos fazer é para cada valor chave, mas podemos nomear
essa chave e valor. Então, para cada ID de usuário. Portanto, esse é um ID de usuário. E para cada número de tarefas
concluídas ou número
de tarefas concluídas. Como você pode ver,
agora é mais fácil de ler porque o valor da chave não nos diz o que está exatamente aqui quando você está vendo
o código, é mais fácil de ler. Então, para cada ID de usuário, para cada tipo, como o insight. Frequência complicada de tarefas por itens do usuário. E agora podemos
processar dados, certo? Porque agora, no
ciclo, analisamos cada um desses registros assim. E temos um ID de usuário interno, esse número interno de tarefas
concluídas, esse valor. A questão é como
escolher entre todos esses caras? Esse cara, porque
esse ID de usuário tem a maior quantidade
de tarefas concluídas. E esse cara, a primeira
coisa que precisamos fazer, precisamos contar de alguma forma. Precisamos de alguma forma
escolher os caras com o maior valor, como fazer isso? A maneira mais fácil? Acho que devemos usar
a função que já
está dentro do Python. Quando fazemos algo assim, obteremos todos os valores. Agora precisamos pegar o cara. Bem, precisamos ver de alguma forma
o maior valor a partir daqui. E podemos fazer isso dessa maneira. Vamos usar
a função max. E agora veja,
obteremos o valor máximo. Portanto, 12 é o valor máximo. Então, precisamos escolher os caras
que têm o 12º como valor. Então, há dois caras. Precisamos nos lembrar de apresentar dois caras porque são dois. Se houvesse mais de dois, bem, precisamos
escolher mais de dois. Precisamos tornar nosso
programa universal. Então, podemos fazer algo como obter o máximo
e depois ter uma ideia. Precisamos escolher
mais de um cara. Como fazer isso? Bem, a primeira coisa, precisamos
simplificar nosso pensamento, precisamos apenas escolher o cara que tem o
valor igual a 12. Então, se o número de tarefas
concluídas for igual ao
máximo desta, é 12. Então, temos o
guia que estamos procurando. Tudo bem, então o
ID do usuário é o cara que
estamos procurando. Podemos imprimi-lo para ver
se funcionou bem. Quando ele cometeu um erro
em algum lugar aqui. Estamos perdendo os parênteses
aqui. Módulo aleatório. Como você pode ver, escolhemos
os caras com nosso ID 5.10 para que agora possamos
salvá-los em algum lugar, certo? Acho que para
facilitar a leitura, devemos
criar uma variável aqui,
uma variável temporária
que a conterá, o resultado daqui. E nós também sabemos exatamente
o que ele retorna, certo? Porque quando você está
vendo isso,
precisamos pensar no que ele
faz agora, sabemos
porque acabamos de invocá-lo, mas voltaremos a
esse código mais tarde, por exemplo em duas semanas. Se não, você
se lembra do que ele faz? Mas se você salvar o resultado
disso em, por exemplo ,
marcas, quantidade de tarefa concluída, verá instantaneamente que essa
coisa retorna isso, certo? E agora você pode
compará-lo com isso. E o que precisamos para salvar o ID
desse usuário no verão. Portanto, acho que devemos
criar pelo menos, por exemplo, o ID do usuário com a quantidade máxima de tarefas
concluídas. E vamos deixá-lo vazio. E agora vamos
acrescentar assim. Não funciona porque eu o
anexei ao máximo
de tarefas concluídas. Mostramos as entidades do caminho,
desculpe, módulo aleatório. E como você pode ver, agora, escrever algo
não funciona. Temos todos os dez,
deveríamos ter 10,5. Ok. Eu cometi um erro. E agora eu vou
te contar como eu deburei. Bem, eu poderia gravar
esta lição do sul, mas você não aprenderia
como eu cometi esse erro. E você não
saberia que esse programa, ao contrário de mim, que ainda é experiente,
comete erros, certo? Você pensaria que, quando
está cometendo um erro, está sozinho. Você
está apenas aprendendo. Não, isso não é verdade. Quando você é mesmo
um programador experiente, você comete erros como esses. E eles acontecem
principalmente por causa do frio como esse
que não parece muito bom. Em breve, mostrarei como
transformá-la em uma chamada que também fica bem
nas funções e assim por diante. Mas primeiro, precisamos resolver
esse erro. A primeira coisa que vi quando vi isso foi:
“Por que não funciona?” E eu realmente gosto
de depurar dessa maneira. Vamos ver se essa coisa foi
invocada realmente duas vezes. Algo como esta
impressão e, por exemplo vamos digitar, você é
um módulo aleatório. Vamos digitar, ok, ele
realmente invoca duas vezes. Vamos ver se o ID do usuário está realmente aqui,
impresso corretamente. Como você pode ver, odeia até cinco ou dez, por
que não funciona. Oh, provavelmente deveríamos dar uma olhada
no lugar onde
fizemos isso, certo? Quando criamos uma ID de usuário, marcamos a
quantidade de tarefas concluídas. O problema é que
criamos dentro do loop. Devemos criá-lo
fora do circuito. Caso contrário, estamos
realmente esvaziando. Já atribuímos, cada
vez que executamos esse loop, estamos atribuindo
nada a essa lista. E é por isso que não funcionou. Agora, quando executamos nosso
módulo, ele funciona bem. Então, nesta palestra, também aprendemos como
depurar meu código de forma rápida com pequenos
erros desse tipo. E, na verdade, eles acontecem muito. Mesmo que você tenha experiência
com isso, não se preocupe, se algo não estiver funcionando
instantaneamente para você, certo? Isso é totalmente normal. Ok, então fizemos isso com a
forma como funciona bem. Também podemos imprimir
o teorema, tudo bem. Pode fazer algo assim. Depois de deixar esse loop para, pode imprimir os usuários que
devem receber o cookie de
Mestrado em Disciplina. Nosso exemplo é esse. E podemos executar nosso módulo. Agora, devemos, de alguma forma, extrair dos usuários que seu ID de usuário é 5.10, obter seu
nome ou e-mail e enviar os cookies dos carros. Agora vamos começar a palestra
porque ela ficou um pouco longa. E na próxima palestra, mostrarei que é uma palestra muito importante
porque o que você aprenderá na
próxima aula o ajudará a evitar flechas, como fiz aqui. Porque você não terá
tantas chamadas
aparecendo ao mesmo tempo. E será mais difícil cometer
um erro do que a lição. Muito obrigado.
81. Refactoring - tornando nosso código mais fácil de manter com base em palestras anteriores: Olá pessoal, é hora de
refatorar o código
da aula anterior. Mas o que significa
refatorar nosso cardio? Bem, isso significa que queremos
mudar o código que fizemos. Portanto, isso não muda
seu comportamento. O que isso significa? Bem, o
que o código
faz, é feito corretamente? Por que coisas assim não
funcionarão da mesma forma? Bem, você está fazendo isso. Então, é mais fácil
manter um código como esse a longo prazo, ok? E isso é muito importante. E, para ser
honesto, o programador é uma pessoa que programa as coisas
bem rápido na maioria das vezes. Mas para facilitar
a manutenção, sim, isso leva tempo. Se você quiser
fazer um cartão fofo, precisará
refatorá-lo muito tempo. Bem, o que está aqui para
refatorar para mudar, que o comportamento não mude, mas vai parecer melhor. Veja as coisas
que fizemos aqui. E aqui estão realmente
alguns tipos de ações. Para cada ação. Lembre-se da palavra ação, do que foi feito. Você pode criar uma função. O que fizemos aqui? Sério? Bem, chegamos aqui, contamos a frequência da tarefa de concluir
a tarefa, certo? Ok, então podemos criar
uma função como essa definição de
função que conta tarefas, algo assim, certo? Ok, nós entendemos. Podemos
assumir grandes tarefas de argumentação e agora precisamos contá-las. Como contar isso?
Bem, fizemos isso aqui, então vamos copiá-lo
daqui e colá-lo aqui. E então o que devemos fazer? Devemos apenas devolvê-lo, certo? Não retorne nenhum agora, devemos
apenas invocá-lo aqui, para
que os policiais não possam competir se forem tarefas centrais de frequências. Então, essa função conta a frequência das
tarefas concluídas e a
retorna, certo? Podemos simplesmente dizer isso assim. E podemos executar nosso módulo. E funciona da mesma forma,
agora, quando
estamos olhando aqui 0. Então essa parte do código é uma tarefa de
contagem, certo? Antes de termos
tudo aqui, certo? Era algo como
um bloco de código como esse. Agora imagine que
esse código seria mais longo, como se você tivesse cerca de 200 linhas e tudo ficasse assim um após o
outro. E você vai ficar bem. O que essa parte, o que essa parte faz? Você precisará
analisá-lo aqui. Estamos apenas
olhando esses nomes, ok, estamos contando a frequência
das tarefas concluídas, você está enviando a
tarefa daqui, ok? Nós o temos aqui. E agora estamos fazendo novamente uma ação e uma ação do
que deveríamos chamá-la. Observe que esse é o código
da aula anterior. Nós temos uma flecha
e eu vou te mostrar agora por que é mais fácil
identificar uma flecha. E agora vamos definir uma função. Obtenha, por exemplo, que os usuários obtenham usuários com
as tarefas mais concluídas. Essas tarefas, frequência por usuário, é o
argumento que você deseja. E vamos copiá-lo aqui. Agora observe, vamos supor que você precise das guias porque há
muitas delas no momento. Agora observe por que é mais
fácil identificar a flecha, porque instantaneamente vemos que ela
está embaixo dela, certo? Esta instrução
funciona para esse loop. Quando há muitas
instruções, uma após a outra. Você precisa apenas resolver. Seja uma pessoa com um foco
muito bom. E é fácil
cometer um erro quando há instruções após
instruções e
há tantos recuos. Há tantas coisas
assim, índice certo. É fácil
fazer uma flecha. Aqui. Podemos imediatamente dizer que, ei, precisamos
movê-lo para cá, certo? Bem, estamos devolvendo. Podemos ver que precisamos
devolvê-lo no final. E agora não cometeremos erros. Agora precisamos apenas
invocá-lo e
podemos ver instantaneamente
que não estamos recebendo usuários com a
maior quantidade
de tarefas concluídas e estamos
apenas enviando-as. E podemos fazer
algo assim. E agora podemos imprimir. Cookies para módulo aleatório. E como você pode ver,
funciona bem, certo? Veja como, como é fácil
manter um código como esse. Observe que
eu sempre começo o nome da função com o verbo, certo? Com a ação que
ele faz. Dessa forma. Quando estamos olhando para cá, sabemos exatamente o que estamos fazendo, o que nos economiza tempo
no futuro. Nosso código não pode
ser mais fácil de obter. Refatoramos o código. Isso não significa
que seja perfeito. Você pode tentar
refatorá-lo ainda mais. Você sabe, poderia tornar
o uso de aulas mais universalmente bom? não conhecemos
as aulas porque você
ainda não falou sobre programação
objetiva. Assim, ele poderia refatorar,
refatorar, refatorar o código até
que fique quase perfeito. Mas, para ser sincero,
quase nunca é super perfeito. Às vezes, você precisa escrever código o mais
rápido
possível porque não tem tempo. A pessoa que quer que
você escreva o código. Uma vez que é por enquanto, por hoje, então você
precisa escrevê-lo mais rápido. Mas, você sabe, quando
tiver algum tempo, é uma boa ideia melhorar
seu código para que seja mais fácil
mantê-lo para você mais tarde, não apenas para outras pessoas,
mas também para você. Ok. Eu também
gostaria de mostrar um método para criar métodos
universais. Aqui, precisamos obter usuários com a maior
quantidade de tarefas concluídas. Para ser honesto. partir disso, chamamos uma
megafunção que leva crianças com os melhores valores de algum
tipo de dicionário, certo? Porque a verdade é
que o que estamos fazendo, estamos recebendo chaves. Então, por exemplo, 123 ou sete, no nosso caso é 5,10. Isso tem o maior valor. E coisas assim podem
acontecer muito, certo? Queremos obter apenas chaves com os maiores valores para que
possamos usá-las posteriormente. Vamos torná-lo universal. Então, precisamos fazer a mesma
coisa que fizemos aqui. Mas agora estamos
pensando em nomes universais. Então, vamos começar com esse loop. Talvez vamos omitir isso. Então, para cada chave, para cada valor dentro do dicionário que
será enviado aqui. E precisamos obter itens
desse dicionário, como
fizemos antes. E, como você pode ver,
contamos a quantidade máxima de tarefas
concluídas aqui
mais de uma vez. Também poderia facilmente ir aqui porque
precisamos contar apenas alguns. Não precisamos contar cada
vez porque isso leva tempo. Como você pode ver, é
mais fácil identificar erros dentro da função
porque
não há muitos na dança, certo? Agora. Para cada chave como essa, precisamos fazer uma comparação. Nós podemos fazer coisas assim. Se o número de tarefas concluídas, qual é o número de tarefas
concluídas? Agora, é um valor
aqui igual ao máximo da tarefa
concluída ou à
quantidade máxima de conclusão de uma tarefa. É algo que
desconta e, como o eixo X, podemos dançar. Bem, é realmente
essa coisa aqui. Isso vai mudar
o nome aqui. Então, este é o dicionário
com o qual estamos trabalhando. Então, devemos fazer assim. E bem, talvez não
façamos isso com o recuo, mas vamos fazer disso uma lista. Compreensão. É mais difícil agora, certo? Mas por que não usar as
coisas que podemos? E se algo
assim acontecer, só
precisamos da chave. A chave. E bem, quando tivermos
um olho, podemos devolvê-lo. Não precisamos de nenhum caso com valores altos e de
consentir com isso. Bem, as
tarefas concluídas conspirarão. O usuário pode ver que é 510. Agora podemos enviar esse tipo de dicionário e obter quais
chaves com os valores mais altos, ou podemos ser enviados aqui. Anna, insira totalmente o dicionário que queremos processar e queremos obter
dele chaves com valores. Então, para ser honesto, essa função é algo
que você pode salvar em seu próprio módulo que você pode usar quando
quiser processar dados JSON, você pode salvá-los para mais tarde, para uso futuro, certo? Você economizará seu tempo. Dessa forma. Então, criamos uma
função como essa com os nomes específicos para
uma situação como essa. Mas se você ver uma situação como essa acontecer com
frequência e ela precisar, escreva
novamente uma
função como essa. Você pode obter o ganho. Isso significa que é hora de
criar algo como uma função universal como essa. E agora, como um exercício, coloque-o em seu próprio módulo. E lembre-se de que você tem uma função como essa
que pode ser usada posteriormente. Para economizar seu tempo, basta
olhar o nome da função e o que ela faz. Você não precisa se lembrar de
como isso funciona. Você só precisa saber se
ele tem chaves com valores. Você envia um dicionário e
receberá um dicionário. Bem, você obterá as chaves deste dicionário
com valores TAV. Você não se importa com o que acontece
aqui, a menos que queira otimizá-lo, porque é
um caso específico, certo? Mas na maioria dos casos, usuários, usuários, você não se importa. Funciona bem. E é assim que você
programa as coisas. Como exercício,
gostaria que você fizesse tudo o que
aprendeu nas duas
últimas palestras. É tão importante que você não pode imaginar como essas duas
palestras foram importantes. Não comece com
funções como essa. Comece com o que fiz minhas meninas para fazer isso
sozinhas e depois mude o código que tínhamos
aqui para um código como este. E então faça uma função
universal. Será muito
impactante para o seu futuro. Aventura de programação. Realmente. Novamente, muita experiência
prática
ao fazer isso. Essas são realmente coisas que
você aprendeu nessas últimas palestras que
você faz como programador. Os programadores são, na verdade,
pessoas que estão processando dados. Você só precisa saber como
processar dados dessa forma. Portanto, é fácil de manter, é fácil de ler para outras pessoas. E bem, você resolve o
problema primeiro, certo? E então você é um programador. Programadores são pessoas que estão usando funções
criadas por outras pessoas. Você não precisa inventar
um código toda vez. Do zero. Você pode, às vezes você
precisa executar o código. Bem, mas depois
você pode reutilizá-lo. Talvez você possa encontrar em algum lugar
na Internet um código, uma função que faça
exatamente isso, certo? Você pode digitar como obter chaves com os principais valores
do dicionário. Comporte-se como alguém que
fornecemos algo muito
parecido e, em seguida, você
nem precisa escrever uma conta. Para ser honesto. Você é programador e precisa apenas saber
como processar dados. O que você quer
fazer com seus dados? Você realmente precisa escrever tau. Existem muitas
soluções na internet. Você pode quase
pesquisar tudo no Google. Isso está nessa lição. E boa sorte em sua
programação futura. Atenção.
82. SOLUÇÃO 1: Recuperando alguns usuários do servidor ao mesmo tempo: Na última palestra, demos biscoitos para o cara número cinco. Número dez. Número cinco,
venha até mim, por favor. Quem é o cara número
cinco, não sabemos. E eu não acho que alguém gostaria de ser chamado de
cara número cinco. Precisamos fazer isso até
mesmo para extraí-lo desse arquivo JSON. Aqui, usuários, de Jason,
espaço reservado, usuários. Como você pode ver,
temos aqui dez caras. Todos eles têm um ID exclusivo. E a identidade que obtivemos foi cinco. Então, queremos ter
essa criança que ela alcançou e queremos
que o cara ligue. Bem, é uma mulher,
catarro e Tina. E como fazer isso?
Bem, você pode fazer isso com alguns
tipos diferentes de ondas. Agora, vou mostrar a
que não é a melhor, mas vamos melhorar a cada palestra para uma solução
melhor. Acho que dessa forma você aprenderá muitas coisas boas
em vez de se unir. Agora estamos
olhando para mim como se eu fosse um gênio que sabe como
resolver tudo, vou te mostrar como
programadores realmente estranhos funcionam. Dessa forma. Aprendemos como
resolver isso. Bem. Em primeiro lugar, precisamos nos
conectar ao usuário aqui. Então, precisamos fazer
algo assim. Bem, vamos chamá-lo de R. Vamos fazer algo como se você provavelmente estivesse pensando por que
eu coloquei esse código aqui, não aqui, porque ele não
vai ficar bem. Aqui. Devemos
criar uma função para essa conexão e fazer
a mesma coisa que
fizemos com o código quando o refatoramos
durante a última aula. Mas eu não vou fazer isso
porque você fará isso mais tarde, quando for
refatorar esse código. Ok? Este é um exercício após as palestras que você
verá em breve. Ok? Você simplesmente digitará Every chamado Debye
id2 na função. Então você aprende mais. Essa não é a
maneira correta de escrever o código porque estamos
tentando nos conectar aos usuários e vamos
tentar conseguir usuários que venham daqui. Mas eu não me importo. Você é o cara
que não consegue consertar isso. Como exercício, é claro, temos usuários e
precisamos deles como json. E agora temos um
usuário que disse que podemos. Ainda assim. Como você pode ver, esse texto do
questionário é assim. Temos uma lista
de dicionários de todos os usuários daqui. Podemos processá-lo, certo? Podemos simplesmente examinar
cada um dos usuários. Então, por exemplo podemos agir assim
para cada usuário, dentro de usuários. Se o ID do usuário. Porque quando eu faço isso assim, você notará que temos o usuário aqui cada vez que
um dicionário como esse. Agora, podemos facilmente
entrar em contato com o usuário de IV. E se for igual a, bem, estamos
procurando o cara. Nós escrevemos os cinco. Então
eu poderia escrever cinco, mas, ou eu poderia
escrever assim. Mas, você sabe, é
totalmente antiprofissional porque se eu conseguir caras diferentes
, não vai funcionar, certo? Então, temos aqui usuários. Eu tenho. Nós maximizamos a quantidade de tarefas concluídas e podemos
verificá-las assim, n. Então, se o usuário do id
estiver nessa lista, Ei, esse é o cara
que estamos procurando. Nós podemos fazer algo assim. Ok, usuário do ID, esse
é o cara? Como você pode ver agora,
quando executo o módulo, esse é um cara com o número de
identificação 5.10. Então, quando eu fizer isso, eu obterei instantaneamente. Então, mire em Chelsea, D3 e Clemente agora, aquele que estamos
procurando, certo? Número cinco e número dez. Certo? Ele não é isso. Então podemos usar, certo, cookies por cookie pois não precisamos escrever isso agora. Agora chamamos Chelsea D3 cada um
pelo nome, não pelo número. Certo? Podemos
otimizá-lo um pouco. Por exemplo , quando escrevemos ID
do usuário com a quantidade máxima de tarefas
concluídas, você notará que,
embora tenhamos descoberto que Chelsea D3, D5 wave ainda estão verificando
a condição aqui. Se o ID de usuário
dez estiver na lista desses
dois caras, não é necessário. Podemos remover se não
usarmos esse ID posteriormente. Dia de fazer o que encontramos. E módulos aleatórios que você pode ver
agora temos 510, depois dez, e depois que o outro é esvaziado, toda
a lista está vazia. Então, nós o otimizamos um pouco. Em casos como esse, quando
há apenas dois registros. É claro que não economizamos
muito tempo lendo. Portanto, não precisamos nos
preocupar com coisas como a otimização para bancos de dados tão
pequenos. No caso de grandes bancos de dados, a
otimização é útil. Só estou te mostrando o que
você poderia melhorá-lo. Essa é a solução. Número um. Qual é o problema
dessa solução? Bem, precisamos nos conectar
aos usuários e conseguir um usuário superior. Então, se houvesse cerca de 1.000, precisamos trazer todos eles aqui e depois examinar
cada um dos registros. Portanto,
acho que não é a melhor coisa que devemos conseguir exatamente o cara que
estamos procurando. Mas, para fazer isso, precisamos aprender
algumas coisas novas. E aprenderemos como fazer
isso na próxima palestra.
83. SOLUÇÃO 2: Recuperando alguns usuários do servidor ao mesmo tempo: Então, a solução número
um tinha uma fraqueza. Precisávamos colocar todo o
banco de dados em nosso programa. Como conseguir uma pessoa específica, aquela que
procuramos instantaneamente. Se estivermos recuperando Jason
do servidor assim. Bem, você vê que quando acessamos
o espaço reservado JSON aqui, você notará que
podemos usar o get. A aposta está realmente aqui, certo? Então, quando você está usando
o método GET, podemos fazer algo assim. Quando entrarmos no pulso, você notará que
recebemos todas as postagens, mas quando fizermos
algo assim, obteremos apenas o pulso número um. Então, no nosso caso, quando fazemos coisas assim, vamos buscar apenas um único
guia que estamos procurando. Estamos procurando
o cara número cinco. Então, precisamos orientar isso
e isso. Portanto, precisamos solicitar os caras específicos
que estamos procurando. Ok, vamos
voltar ao nosso código e precisamos realmente fazer
algo assim. Ei, eu quero
um cara específico, então eu quero o cara número um. Chegamos aqui com o único cara. Podemos executar nosso módulo. Você notará
que, usuário interno, agora não
temos nada. Porque aqui usamos o cavalo. você pode ver, fornecemos
aqui o URL errado. Certo? Agora temos aqui um único
usuário dentro do dicionário. E essa coisa sempre
recuperamos apenas um registro. É por isso que não temos
pelo menos esse dicionário. Portanto, agora podemos facilmente fazer
algo como esse nome de usuário impresso. Esse é um cara que
quer comprar um biscoito. Quero um cara número
cinco, assim. Portanto, precisamos de alguma forma
fornecer aqui o número da lista. E observe também
que temos aqui só
podemos receber uma
solicitação por vez. Podemos fazer algo como cinco, então isso não funcionará. Por que não fazemos algo
assim? 510? Você pode ver que
simplesmente não está funcionando. Então, podemos pegar dois caras ao mesmo tempo. Portanto, precisamos examinar nosso ID de usuário com Max concluído
a quantidade de tarefas. Temos uma lista do 5.10. Portanto, para cada ID de usuário
dentro dessa lista, preciso fazer uma solicitação. E eu preciso adicionar
cinco aqui, certo? Então, como podemos adicionar cinco aqui? Nós podemos simplesmente fazer
algo assim. Mas o problema é que
isso não vai funcionar. Por quê? Porque o
bit de contagem de números inteiros está conectado à string. No entanto, podemos resolver esse
problema facilmente adicionando como CR antes de convertermos o ID
do usuário em string. Dessa forma. Temos os caras que
estamos procurando, os mesmos que aqui. No entanto, ainda há um
problema na solução. Observe que estamos nos conectando, solicitando o
site duas vezes. Então, nós realmente fizemos
coisas assim. Eu quero o cara número cinco. Agora eu quero o cara número dez. E
observe que, para se conectar a um servidor, você precisa enviar bytes para o
servidor a partir de outra linha. Outro lugar no mundo. Precisava de mordidas de
morcego sem voltar para você, certo? Isso leva tempo. Isso é lento. Esse é provavelmente um
dos processos mais lentos. Então, se você tem apenas uma coisa
para obter uma boa solução, mas para mais de uma, isso provavelmente é mais
lento do que isso, mesmo que o banco de dados
seja grande, ok? Portanto, essa não é uma boa
solução. Então por que eu te mostrei isso? Porque podemos
melhorá-lo na próxima palestra. Portanto, esta é a
solução número dois.
84. SOLUÇÃO 3: Recuperando alguns usuários do servidor ao mesmo tempo: Ok, chegou
a hora da melhor solução que permite que você obtenha exatamente as pessoas
que estamos
procurando com apenas uma
solicitação, como usá-la? Bem, agora podemos usar uma
expressão como essa com URLs usando o método get
age eight dp. Quando adiciono aqui um ponto de
exclamação, posso usar, por exemplo a chave, por exemplo ,
ID, e posso clicar aqui do tipo 5.6 para ver que
temos o cara número cinco. Então, isso funciona de
forma muito semelhante a isso. Mas há uma grande
diferença porque
agora podemos adicionar aqui mais de um
cara usando a conjunção. Então, podemos fazer em conjunto. E, por exemplo,
eu quero um cara número dez. E como você pode ver,
temos apenas dois caras e podemos invocar algo
assim em nossa solicitação e pegar exatamente esses caras
e simplesmente imprimi-los. Não precisamos
procurá-los porque você já os
procurou aqui, certo? E eu acho que essa é
a melhor solução. Então, vamos copiar o código
daqui para aqui. Porque precisamos
fazer algo parecido. Mas agora eu preciso
enviar um parâmetro. Como enviar um parâmetro
para o link que está aqui. Você precisa usar os parâmetros do
argumento name. E então você faz
algo assim. Quando eu fizer assim, vamos pegar o
cara número cinco. Quando eu executo o módulo, você notará que
ele não vai funcionar. Por quê? Porque o usuário agora é verdade, uma lista de um
único dicionário. Porque bem, pode haver mais de um dicionário, certo? Portanto, devemos chamar isso de usuários. E como você pode ver, quando
fazemos algo como, por exemplo, I. É igual a dez. Então, queremos obter o número de
identificação 5.10. Agora, quando executamos nosso módulo, até percebemos que
temos uma lista de dois caras. Então, para pegar o
primeiro cara, eu preciso,
novamente para zero de usuário final
, e escrever dessa forma. Se eu quiser pegar o segundo cara, preciso fazer
algo assim. Ou podemos usar o loop para
examinar cada um desses caras. Então, podemos fazer algo como
para cada usuário dentro dos usuários, eu só quero imprimir um nome de
usuário. Nossas curvas. Lembre-se de que você
está dando a eles um módulo aleatório de cozimento. Como você pode ver, nós lhes
demos um biscoito. Então, está funcionando bem. Dessa forma. Está parecendo melhor. Mas essa é uma boa solução, é
claro, agora, porque por que digitar
5.10 manualmente aqui? Então, precisamos, de alguma forma, isso vai ser
bem interessante. Precisamos mudar isso de alguma forma. Então, listaremos dois números. Pode haver algo mais em algo
parecido com isso, certo? Que legal transformar
isso em isso? Bem, acho que é
uma boa ideia
criar uma função que
faça isso por nós. Portanto, precisamos de uma função que transformará a lista em junção de
colunas. Portanto, uma conexão como essa desativa os parâmetros dos LAs que
serão enviados aqui. Então, precisamos voltar no
final, algo assim. Agora, estou fazendo isso
manualmente para que eu
possa mostrar o processo de criação
da função, como, como jogar com a
função desde o início, como criá-la desde o início, como inventá-la, alterar essa
junção de parâmetros. Estamos enviando para lá. Isso. E queremos ter aqui uma
conjunção de parâmetros. E queremos enviá-los para cá. Assim. Agora, vai funcionar bem. Mas só porque os digitamos
manualmente aqui. Então, agora precisamos mudar
a lista daqui que está chegando aqui para
esta. Como fazer isso? Vamos examinar cada
item dentro do nosso lançamento. Vamos trazê-lo para sentar. Então, agora temos o número 5.10. Precisamos, de alguma forma,
somar antes de cinco id igual e depois disso
e id comercial igual. Criaremos aqui uma
variável que chamamos de parâmetro de conjunção. E atribuiremos
a ele id igual. Vamos chamá-lo de string de parâmetros. E nós o devolveremos mais tarde
aqui quando estiver correto. Podemos imprimi-lo antes porque eu quero adicionar tudo
a essa string, ok? Então, eu quero adicionar 510. Temos identidade. Então, algo assim. caracteres de parâmetros de conjunção mais item, certo? E quando eu fizer isso dessa maneira, você notará que
nosso modelo não
funcionará porque o item
é realmente uma string. Você pode conectar
uma string com números inteiros. Então, novamente, precisamos
mudar isso assim. Agora, quando estamos no Módulo, notamos que id
é igual a cinco, id é igual a dez,
nada mal, nada mal. Agora temos o BID
antes dos números. Mas a conjunção
da string de parâmetros está realmente no ID final porque não a
estamos alterando. Adicionando uma string à string, mas não estamos alterando a string do parâmetro de
conjunção. Então, precisamos fazer é realmente
algo assim. Precisamos mudar o valor
para a coisa que estava lá mais a sequência do número que
estamos transformando nesse. Como você pode ver agora, precisamos imprimi-lo. Caso contrário, uma vez
dito, módulo aleatório, e como você pode ver,
id é igual a cinco, mas não temos nada de
5 a 10, mas não é ruim, certo? Temos um bom Now Five. E agora precisamos, de
alguma forma, acrescentar aqui qual é a conjunção que precisamos para curar
essa parte: de alguma forma, como fazer isso? Bem, só precisamos
fazer algo assim. Mais conjunção, id é igual. Agora, quando executarmos nosso módulo, você notará
que o temos. Nada mal, certo? Só
temos um para muitos aqui. E o que poderíamos melhorar o funcionamento desse
código, porque quando você adiciona a variável a
si mesma na próxima, podemos escrevê-la dessa forma, certo? Acho que está dez
vezes melhor agora. Funciona da mesma forma, mas
temos um problema com isso. Para ser honesto, não
temos nenhum problema porque percebo que quando
eu faço coisas assim, quando não digito nada aqui, nosso método get
ainda está funcionando bem. Então, isso significa que podemos
facilmente devolvê-lo aqui. E ainda
vai funcionar bem. Você pode ver que temos
caras que queríamos e poderíamos enviar outros. Agora, os caras deram a ele o
cara número 12.3, por exemplo, e agora, quando
executarmos nosso módulo, vamos pegar
o cara número 12.3. Como você pode ver, esses são
os nomes que estavam lá. Então isso é legal, certo? Porque agora temos
um código universal. Mas acho que não é profissional deixar assim, certo? Quando os parâmetros da conjunção
estão assim, temos uma
coisa adicional aqui no final. Devemos removê-lo. O
problema é como removê-lo. Precisamos, de alguma forma, na última iteração
desse loop, não nessa coisa no final. Para identificar
a última iteração, precisamos saber quantas
vezes essa lista vai aparecer. Então, o comprimento da minha lista
vai te dar quantas vezes esse loop
quatro vai iterar? Quantas vezes ele
vai iterar. Então, execute a
instrução dentro do loop para que você possa salvá-la como, por exemplo na última iteração,
assim, certo? E podemos criar uma variável temporária contar o número de iterações. Olha, quando eu faço dessa maneira, você notará que temos
o quê, duas iterações, 12. Nós podemos fazer algo assim. Se I for igual à última iteração, então precisamos fazer
algo diferente, certo? Caso contrário, faça o que
fizemos antes. Agora só precisamos
fazer o mesmo, mas a última coisa,
é a parte que foi adicionada aqui. E agora, quando executarmos nosso módulo, você notará que eu
programo ou em nosso módulo. Por que não está funcionando. Não está funcionando porque
de alguma forma consegui
remover isso aqui. Sinto muito. Erros simples
dificultam a identificação de erros. E agora você notará que
obtivemos o resultado adequado. Nós queremos. Podemos tornar essa solução
um pouco mais universal. Observe que agora vamos usar aqui id, mas se eu quisesse
chamar as pessoas não
por ID, mas,
por exemplo , por nome ou qualquer dedo que
quiséssemos obter aqui, então precisamos fazer
algo assim, por exemplo, o parâmetro com o valor padrão id. Portanto, não precisamos fazer nada com a
parte posterior do nosso código. E podemos fazer algo
assim, c0 plus. E aqui chegaremos
a algo assim. Agora, ainda funcionará bem porque o valor
padrão é ID. Mas agora podemos facilmente enviar uma coisa diferente
que estamos procurando. No momento, estamos
procurando, eu discordo. Eu não vou mudar isso, mas agora você pode
mudar facilmente a chave que
está procurando. E você não precisa se
preocupar se não vai funcionar bem. Removido aqui por engano. Ok, resolvemos o
problema e, como você pode ver, essa é a melhor
solução porque você tem apenas uma solicitação e estamos recebendo exatamente as pessoas
que estamos procurando. Agora, como um exercício. Tente movê-lo
daqui para aqui. E também crie uma função que
fará essa ação aqui. Então, chame isso corretamente. Então é hora de refatorar esse código e fazer com
que ele pareça melhor. Isso é algo que é
uma lição. Muito obrigado.
85. defaultdict fornecendo valores ausentes do dicionário ao acessar elemento vazio: Olá pessoal. Há uma biblioteca padrão de coleções em
Python, onde você pode encontrar
alguns contêineres, tipos de
dados, o que significa que
eles são algum tipo de
dicionário, por exemplo , que
funciona
de forma diferente daquele que você
aprendeu. Então, qual é a
diferença entre, por exemplo o dicionário
padrão daquele que nos resta. Aqui diz que dicionário
padrão
fornece valores ausentes, o que significa que quando
você está tentando acessar uma chave de um dicionário
não existe. Ele será criado
automaticamente. Vou te mostrar um exemplo
prático em que você pode usar isso. Observe que quando você está contando a frequência
das tarefas concluídas, estávamos criando um dicionário
que estava vazio aqui. E tivemos um problema
porque quando tentamos
acessar uma chave que
não existe como essa, e tentamos adicionar uma a ela, tivemos um erro de chave, certo? E resolvemos o problema
usando o bloco try except. E essa é uma boa solução, mas acho que não é uma
maneira profissional quando você pode usar apenas um dicionário padrão
de coleções, certo? Então, podemos fazer algo
assim a partir de coleções em parte no dicionário
padrão, certo? Portanto, estamos importando apenas o
guia para fazer o que precisamos. E agora observe isso, por exemplo quando eu crio um
dicionário chamado aim, e fazemos isso dessa maneira. Vamos fazer isso primeiro assim. E quando tentamos acessar
algo que não existe, tudo bem, estamos tentando acessar uma chave que não existe. E quando executamos
nosso importante to, percebemos que temos um erro chave. No entanto, quando usamos
o dicionário padrão. Agora, quando eu executo o módulo, você notará que
ele também apresentará um erro chave, porque
você precisa se lembrar que
eu fiz isso de propósito. Para enviar um dicionário
padrão de argumentos, que é o tipo
que deve ser definido por padrão para cada elemento do dicionário que
você está
tentando acessar, isso não existe. Então, no nosso caso, não
é agora e
agora, quando executamos nosso módulo, notamos que temos
zero porque zero é um valor padrão para um número inteiro. Quando eu uso float, você notará que
temos 0,0 quando eu uso SDR. Você notará que
não há nada aqui porque, bem, criamos esse elemento apenas tentando
acessá-lo. Você notará que quando
fazemos algo assim, elemento foi criado,
como você pode ver, dicionário
padrão é uma classe, não se preocupe, as causas, algum tipo de coisa sobre a qual
falaremos mais tarde. É só ter algo assim dentro
dela agora. Estamos apenas nos preocupando com o
conteúdo. Foi criado. Essa é a coisa mais
importante para nós. Se quisermos criar
mais coisas, só
precisamos
acessá-las e podemos criar mais conteúdo como
esse com valores vazios. Então, se eu fizer números inteiros, então será zero
para este caso, zero para este. Só porque tentamos
acessar não está certo. Ou faríamos
algo como, por exemplo observe que, quando fazemos
algo
assim, tentamos adicionar um a ele. Então vamos imprimi-lo. Você notará que
podemos fazer isso com facilidade, certo? Usando o dicionário normal. Não podemos fazer isso porque
temos um erro chave. E então precisaremos
tentar, exceto. E acho que isso não faz com que
nosso código pareça bom, certo? É mais difícil de ler e é melhor
usar dicionários padrão. Então, para usá-lo, vamos agora o que? Vamos fazer
algo assim aqui, dicionário
padrão com valores
padrão inteiros. E agora podemos remover essas
linhas e nosso código funcionará. Vamos descomentar aqui. Módulo aleatório. E tudo funciona bem
sem uma flecha, certo? Se fizermos isso de novo dessa forma, teremos um erro chave. Agora, em um exemplo prático, acabei de mostrar onde, por exemplo dicionário
padrão pode ser usado. Eu poderia criar uma
seção especial em que
usaríamos tudo, desde o módulo de
coleções, módulo. Mas o problema de seções como essa e
professores que fazem isso dessa maneira é que isso
não fornecerá um
caso específico como esse. Você não saberia exatamente
o que está aprendendo. Para ser honesto. Quando você está vendo
algo assim, por exemplo , dicionário
padrão, pela primeira vez, você está se perguntando por que eu me
importaria ter um dicionário com valores
padrão, certo? Por que não podemos simplesmente usar
um dicionário normal? Por que eu gostaria de
aprender o próximo contêiner? Eles simplesmente demoram muito tempo. Então, se eu tivesse mostrado a você que
as coleções de interseção de
dicionários padrão eram, terei um exemplo teórico. Você ficará frustrado porque saberá que ela
existe e não. Você verá apenas
um exemplo como o
que acabei de mostrar no
início da palestra. Essa coisa, por outro lado, mostra exatamente onde ela pode ser usada em um exemplo
prático, certo? Como você pode ver, nosso
código parece melhor agora, é mais fácil de ler. Portanto, também é mais fácil de manter. Essa é apenas essa lição. Muito obrigado.
86. O que é API pública? Onde encontrá-los? stackoverflow API: Olá, meu amigo. Nos próximos vídeos, você aprenderá o que
é API pública, como encontrar APIs desse tipo e como usar uma delas. Escreveremos
o programa para selecionar perguntas do lado
chamado Stack overflow.com. E as perguntas
atenderão a requisitos como no
mínimo, 15 pontos
classificados em
ordem decrescente em relação à última semana e serão para toda
a categoria Python. Em seguida, abriremos
todas as
perguntas em nosso navegador. Muito útil, certo? Mas antes de
fazermos isso, precisamos pensar sobre
isso aqui. O que é API? Como você pode ver, significa interface
de
programação de aplicativos. Mas o que é interface? A interface é
algo que
você vê e pode usá-la sem
saber como funciona. Vamos analisar o que é palavra de
interface construída para entender o uso de um inter em inglês significa
entre fornecer. Fase significa fase. Então, é algo
entre seu rosto. Simplesmente dizendo, então, por exemplo, caixa eletrônico. Portanto, o caixa eletrônico que fornece o dinheiro
do cartão, o cartão
de crédito, tem uma interface composta por botões que estão entre a
máquina e seu rosto. Você não sabe como tudo
funciona em segundo plano. Para ser honesto, você não
se importa com isso, alguns o terão programado. Isso é tudo que você precisa saber. Alguém compartilhou uma interface com você na forma de botões, que permitirá que você faça login
em sua conta bancária para sacar dinheiro depois de
inserir o PIN correto. Portanto, essa interface
oferece recursos e métodos como sacar
dinheiro e recursos, como quanto dinheiro você tem
em sua conta, por exemplo, certo? Então, mas o que é API? É uma interface aérea
projetada para
aplicativos de programação. Assim, você também obtém um serviço
que compartilha os recursos
, no caso do
caixa eletrônico, mas desta vez na
forma de JSON, por exemplo e algum tipo de lógica de site que você pode usar
métodos e assim por diante. Por exemplo, alguns métodos permitem que
você altere algo ,
assim como adicionar
novas perguntas aos sites. E você não precisará saber como isso funciona em segundo plano. Você não se importa como isso funciona. Você usa a API pública e
isso é tudo que você precisa saber. Alguém permitiu que você
fizesse isso por meio da interface. Ok, então onde
podemos encontrar APIs públicas? Acesse github.com, as
APIs públicas eliminam as APIs públicas. E aqui você encontrará muitas APIs
públicas classificadas por índice. Assim, podemos descobrir algo
sobre animais, obter alguns fatos sobre gatos. Claro, você
pode estar se perguntando se é útil,
mas para algumas pessoas
talvez seja uma API pública que pode ser usada para cortar Fox ou alguma aleatória
, talvez imagens. Mas, na maioria das vezes você quer encontrar algo
útil, como, por exemplo quando você digita Google aqui, como você pode ver, podemos encontrar
o Google Books aqui, a API, podemos encontrar o Google Analytics, o Google Calendar, ou esses
podem ser muito úteis. E o Google Drive, o google
f and g e o Google Maps. Você pode criar mapas digitais
personalizados com base nos dados do Google Maps. Isso é legal, certo,
algo mais útil. No entanto, nesta palestra,
vamos nos concentrar em algo como o Stack Exchange. Você enviaria um fórum de perguntas
e respostas para desenvolvedores que você definitivamente
deveria conhecer? Se você não fizer isso, então
algo está errado. Porque até agora você
provavelmente já teve algumas perguntas. Por um lado, você estava
assistindo meus vídeos. E na maioria das vezes, quando você
tem uma pergunta e digita a pergunta no Google, você encontrará a resposta em algo
chamado Stack Overflow. O Stack Overflow é como um dos muitos sites que estão
dentro da Bolsa de Valores. bolsa de valores é
uma rede de sites com muitas perguntas
e respostas. Vários tópicos, desde programação como
StackOverflow, física, fotografia, como você pode ver, desenvolvimento de
jogos até algo simples, como oferecer jogos de tabuleiro. Então, os usuários fazem uma pausa lá. E eles podem ganhar uma reputação
ou até perdê-la. E a reputação que este jogo tem pode ser usada
por você em seu raciocínio. Então, por quê? Porque este site é um lugar muito
valioso na web. Portanto, ao usar este site, você pode se tornar
uma pessoa popular e usar essa reputação
para conseguir o emprego certo. Bem, vamos nos concentrar
no Stack Overflow. Então você lembra que o StackOverflow é um lugar muito importante para
você, onde você pode encontrar pesquisar as respostas que você
tem sobre programação. Provavelmente, quando você está
se perguntando como fazer algo, a resposta já está aqui. Se não for, você pode perguntar
se alguém vai te ajudar. Portanto, esse é um
lugar muito útil para desenvolvedores. Se você quiser se tornar
popular neste site, provavelmente
se
inscreverá aqui e responderá às perguntas
mais populares. Portanto, eles têm uma pontuação alta e não têm
muitas respostas ou, bem, não importa porque sua resposta será a melhor. Mas você quer
procurar uma linguagem de programação como Python, linguagem que você conhece. Então você quer filtrá-los. Você quer classificá-los. Você deseja, de alguma forma, obter
informações dessas sites. E quase todo site muito
popular tem algo
como uma API pública. Então, algo que
permitimos que lhe dará métodos
para fazer essas coisas. E você não precisa saber como isso funciona em segundo plano. É por isso que se
chama Interface. Então, como encontraríamos a
API para StackOverflow? Eu apenas digitaria Stack
Overflow e
adicionaria API na pesquisa do Google. O primeiro site,
como você pode ver, é a API da Bolsa de Valores. Portanto, essa é uma API para cada
site dentro da rede. Portanto, precisamos escolher de alguma forma
o Stack Overflow posteriormente. Aqui você tem uma boa descrição do que você pode
fazer por muito tempo. E, para ser honesto, é preciso tempo para analisar cada API e é por isso
que você é pago. Portanto, não consigo ensinar
a você todas as
APIs disponíveis
na Internet. Isso é impossível. Você precisa, mas
você precisa saber que cada um deles
é muito parecido. Eles seguem a
mesma regra, certo? Então, se você aprender a
usar um ou dois deles, então você deve
usar qualquer outro. Bem, vamos dar uma olhada
na bolsa de valores. Como você pode ver quando
rolamos até aqui, temos algo sobre o
qual falamos nas palestras
anteriores. Veja, aqui você tem, como você pode ver,
links como respostas. Então, quando você chegar aqui, você notará que
aprendemos como
usar o método GET de respostas. E aqui temos um
exemplo de como usá-lo. Quando executamos o módulo. Temos a
resposta em Jason. Além disso, quando eu clico nele, você notará que
entramos no site assim, API docs Stock
exchange.com to 0.2, o
que significa
a versão da API que queremos solicitar. E então temos as respostas e quais parâmetros foram usados para obter
uma resposta como essa. Então, podemos usar
isso facilmente aqui, certo? Agora, nossa solicitação é
recebida, podemos copiar isso para este lugar. Podemos adicionar nosso módulo. Dessa vez. Essas serão as respostas e
precisamos imprimi-las. Módulo aleatório. E obtivemos respostas
comprimidas
ordenadas em ordem decrescente, então elas são resolvidas por atividade e as obtemos
do StackOverflow. E isso é bem fácil, certo? Poderíamos filtrá-los um pouco mais para obter coisas específicas
que estamos procurando. Mas aprenderemos como
fazer isso no futuro. Mas é bem fácil. Você tem exemplos aqui, você pode ler como usá-lo. Bem, estamos nos concentrando no que estamos
focando nas perguntas, então responderemos às perguntas e queremos usar essa parte aqui. No entanto, esse dedo
servirá na próxima aula. Mas antes disso, gostaria acrescentar algumas coisas muito
importantes. Observe que estamos
solicitando algo do servidor. Para ser honesto. Isso consome tempo na CPU
do computador do qual você está solicitando as informações. E você está limitado a
algum tipo
de solicitação que pode fazer anonimamente sem
dizer quem você é. E às vezes, às vezes na maioria das
vezes você precisa se registrar. Então você precisa fazer algum
tipo de autenticação. Você tem boas
informações sobre como inserir a autenticação aqui em
seus aplicativos, como se registrar, como você pode
ver ao se registrar aqui, por exemplo , neste site,
em outros sites, talvez você não
precise se registrar. Em alguns sites, você
precisa se registrar instantaneamente porque não
conseguirá nem mesmo usar. Agora, métodos básicos,
como você pode ver, para usar respostas, adicionar método, você precisa
estar registrado, certo? Então, para adicionar novos itens, que permite que ele
seja registrado, isso adicionará respostas diretamente à sua contabilidade,
Stack Overflow, por exemplo, é
muito legal
porque você pode escrever seu próprio programa para pesquisar com a interface gráfica
do usuário. Você pode arrastar o
aplicativo de desktop. Você pode criar seu
próprio aplicativo para pesquisar perguntas e publicar e responder a
perguntas, certo? Você pode criar seu próprio
aplicativo para isso
, usando a API pública. Se você estiver registrado. Para coisas como obter o
pulso, como você pode ver, você pode fazer isso facilmente
agora, sem se registrar. No entanto, você está limitado
a algum tipo
de solicitação; na maioria das
vezes, é suficiente, certo? Portanto, você não
precisa se preocupar e deve entender
essa perspectiva. Porque observe que pode
haver pessoas que fazem um loop e
simplesmente enviam spam para o servidor. Podemos criar um loop for, obter
o loop infinito e simplesmente
enviar spam para o servidor com solicitações. E isso
mataria o servidor se muitas
pessoas fizessem isso, certo, é por isso
que você está limitado a algum tipo de quantidade de
solicitações em um minuto. Dessa forma, todos nós podemos ter
recursos como esse disponíveis. Ok. Tudo isso é uma boa lição. Muito obrigado.
87. Obtendo o JSON do stackoverflow.com -> obtendo perguntas principais da semana passada: Olá. Nesta palestra, obteremos as perguntas
do Stack Overflow
que seguimos abaixo das regras. Haverá um mínimo de
15 pontos que serão classificados em
ordem decrescente em relação à última semana, e eles serão
da categoria Python. Como fazer isso? Bem, estamos ouvindo
no
site API Stack exchange.com e
tentaremos ler o exemplo aqui. Portanto, isso nos diz que esse
método permite que você faça consultas
bastante flexíveis em todo o corpus de
perguntas no site. Então, consultamos e cansamos, então adquirimos significa
perguntar a todo o lado. Então, quando consultamos dessa
forma, digitamos perguntas. Eles receberão perguntas de todo o site, não
apenas do StackOverflow. E como é muito
grande, como você pode ver, recebemos uma mensagem de erro
porque diz que o lado é obrigatório. Diz que precisamos
especificar o lado. Então, precisamos dizer algo
como psi é igual a. E quando dizer isso, Ei, eu quero receber perguntas
do Stack Overflow. Como sei que
devo digitar o lado deles? Bem, a partir do exemplo,
você está olhando, por exemplo ,
aqui, você pode ver e
diz que ,
para especificar o lado em que você digita site é igual probabilidade de
StackOverflow, ele está escrito em outro lugar para partes. Bem, precisamos ler,
ler, e então eles
ficam preocupados. Mas você pode facilmente, procurando
por nomes
autodescritivos, como visão, gás,
que especificarão o tamanho. Então, podemos apenas especificar o lado e obtemos as respostas
do Stack Overflow. Agora, quando executarmos nosso módulo, receberemos muitas perguntas. Muitas perguntas, e não sabemos que ordem, porque
não especificamos isso. Portanto, isso significa que
estará na ordem padrão. E precisamos especificar mais
alguns parâmetros aqui. É por isso que acho que
devemos tornar esse programa um pouco
mais fácil de ler e criar um dicionário de parâmetros
que será enviado aqui. Aqui, podemos ver facilmente o
que o parâmetro está fazendo. O que não podemos fazer
algo como psi é igual a StackOverflow, certo? chave, valor chave. E nós queremos, o que queremos obter, o que queremos classificar
nossas perguntas por volts, pela pontuação, certo? Em ordem decrescente. Podemos ver isso aqui. Eles nos disseram que, por exemplo fazer uma pergunta antiga
na última semana de 1º de janeiro, obtivemos mais dez pontos em uma
única consulta com parâmetros. Portanto, precisamos digitar
sort igual a volts. Então, precisamos usar
algo assim. Classifica é igual a votos. A pontuação mínima de dez. Queremos ter um
mínimo de 15 pontos. Então, mínimo de 15. E queremos resolvê-los, temos, queremos ter
uma ordem decrescente. Como você pode ver aqui, diz
que, para
obter uma ordem decrescente, precisamos digitar ordem
igual a decrescente. Note que quando eu clico nele, também
vou ter um exemplo
do resultado aqui. Então, poderíamos fazer
algo como sal querendo resolver em volts. Você pode ver que agora está
classificado por votos. Mas há uma pontuação muito
alta aqui, o que significa que essa é
provavelmente a pergunta mais popular no
Stack Overflow, certo? Porque nós as obtivemos de todo
o site,
perguntas de todo o site do
StackOverflow, então, salgadas por volts, então a pontuação do orçamento ordena decrescente
da melhor. E precisamos de alguma forma especificar que os queremos
da última semana. Porque provavelmente agora, quando
respondemos à pergunta
no tópico de dados da novela, não
receberemos
um voto positivo, certo? Portanto, no mínimo 15 v no nosso caso, e queríamos
classificá-lo em ordem decrescente. E bem, quando você executou nosso
módulo agora, obteremos o que lembramos sobre a placa aqui. Nós vamos conseguir isso. Você pode
ver agora que, quando eles chegam aqui, temos a
mesma coisa que fizemos aqui, mas não está tão bem
formatado como o Firefox. Para nós. Talvez importemos. Ponto P. Vamos mudar isso para que seja. Agora, quando executarmos nosso módulo, você notará que
estudamos textos bem impressos. Então, como você pode ver, a pontuação aqui é muito grande
, muito grande. Como você pode ver, está imprimindo
muito devagar, agora são duas. Para nos mostrar
como é impresso, ele se acelerará. E o que obtivemos é o
mesmo resultado que aqui. E agora precisamos conseguir o quê? Precisamos pegar itens
da semana passada. Observe que para isso
seja dito na
semana de 1º de janeiro de
2011, eles digitaram aqui
algum tipo de número aqui, o que é estranho para você. Eu poderia contar o mundo e como criar um
número como esses. Mas, para ser sincero, eu também sei que você pode escrever
aqui algo assim. Aqui podemos curtir
algo como “from date”. Em vez do número estranho,
podemos simplesmente dizer: Ei, eu quero os valores
da data que vem
assim, por exemplo, OK. Então, da semana passada, certo? Para mim, a semana passada
agora é assim, por exemplo , eu penso assim. E agora, quando executarmos nosso módulo, não obteremos tantos registros. Como você pode ver. Não temos tantos
registros quanto antes. Nós poderíamos facilmente. Talvez vejamos isso aqui
porque acho que é muito mais fácil ver o que acontece quando
digitamos coisas aqui. Como você pode ver agora, a pontuação mais alta é 113, certo? Mas o problema é que recebemos perguntas do
topo é que, por exemplo,
não entendemos, por exemplo não entendemos C mais C mais C mais C mais mais
mais mais mais mais mais mais. Você pode ver que é
muito popular lá. Portanto, devemos procurar o Python. Para procurar Python. Quando chegarmos aqui, você notará que
aqui
está algo bom chamado tato, que permitirá que você escolha
a tática que
está procurando. Então, aja e dizemos, ei, eu quero procurar Python. E agora, quando executamos isso, ou fazemos isso aqui, certo? Então, tato é igual a Python, então definitivamente teremos uma
resposta simples aqui, certo? E precisamos obter o mínimo porque não adicionamos
aqui o mínimo 15. Então, como você pode ver,
apenas uma pergunta
da última semana é igual
a 18 aumentará. Talvez
isso torne as coisas um pouco
mais difíceis do que a última ou duas próximas
palestras, por exemplo mães assim. Agora temos mais alguns. Vamos pegar quatro e aqui 22. E agora podemos facilmente clicar
no link e
conhecer quem o publicou. Podemos clicar no link aqui e responder instantaneamente
à pergunta. Podemos responder, certo? Então, recebemos
perguntas muito populares com duas respostas. Talvez possamos oferecer
uma melhor. Se pudermos, podemos fazer uma pausa aqui
e obter alguma reputação. No entanto, agora, quando
fazemos dessa maneira, certo? Para ser honesto,
leva tempo, certo? Precisaríamos
obter links dele e
faremos isso na próxima palestra. Mas, para ser curioso,
seria legal se
pudéssemos clicar em nosso roteiro. E nosso script
obteria todos os links e os
abriria instantaneamente em
nosso navegador padrão. Isso vai ser legal, certo? Não precisamos fazer um
trabalho que possa ser feito manualmente quando ele pode ser
substituído pelo script Python. É por isso que estamos nos
tornando programadores. Para garantir que
não façamos as coisas manualmente. Você quer automatizá-los
o máximo possível. Portanto, podemos dizer que tenho
algum tempo livre para jogar, jogar, passar tempo
com sua família e assim por diante. É por isso que os programadores
são tão úteis. E é isso que
faremos na próxima palestra.
88. Abertura de sites a partir do código Python - módulo do navegador: Ok, é hora de analisar
a resposta que obtivemos. Precisamos de alguma forma
obter um link daqui, certo? Este link aqui. E queremos
abri-lo instantaneamente. Jazz é que, ao invocar nosso roteiro, queremos abrir todos os links que seguem as regras desta forma. Então, como fazer isso? A primeira coisa é analisar
o que temos em Jason. Acho que, para analisar, é melhor usar o Firefox. Por quê? Porque observe
que, quando estamos aqui, ainda
é um pouco difícil ler, mesmo se você estiver
usando a impressão PPE. Aqui podemos expandir os itens. Podemos ver facilmente que
os itens consistem em quê? 012-34-5678 registros. Certo? Você pode abri-los
para acessar o link. Portanto, você precisa entrar primeiro nos itens antes de começar a
analisar cada cara aqui. Não é como se você tivesse notado que
os itens
têm mais cota no México para permanecerem,
sejam quais forem, estão no mesmo
nível, ao contrário dos itens. Para obter,
então, para chegar a
cada um dos itens e não se preocupe com
coisas como ter mais. Mas podemos
processar instantaneamente as coisas internas. Precisamos entrar em
questões de itens. Observe que agora,
quando executo nosso módulo, temos itens de jazz e não temos mais nenhum item
da lista de itens. E não temos, no final que tenha mais cota máxima e
outras coisas assim. Portanto, precisamos analisar como
obtivemos nossa resposta JSON. Portanto, cada servidor pode
oferecer algo diferente. E agora, para cada pergunta
dentro dos itens de perguntas, dentro dessa
lista de perguntas, agora
podemos imprimir
o link da pergunta. Então, quando trouxermos
o link da pergunta, obteremos links de jazz. E bem, poderíamos abrir a biografia
desses links, copiar e colar. Mas por quê? Por que podemos automatizar
esse processo? Como fazer isso? Bem, existe um módulo de
navegador da web, que permite que você abra meu
navegador para que possamos importá-lo. É uma biblioteca padrão. Você não precisa instalá-lo. E aqui temos algo
como abrir uma nova guia, abrir uma nova guia ou
algo parecido. Então, precisamos apenas
escrever algo assim em vez de imprimir. E agora, quando executo nosso módulo, bomb, todos os sites
foram abertos. E agora podemos simplesmente
analisá-las para ver quais
respostas Deus deu, talvez eu tenha uma
melhor, certo? Isso é legal, não é? Podemos nos divertir. Agora, as perguntas mais populares do último mês em
Python, no tópico Python. Poderíamos obter da última semana, da última hora,
o que você quiser. O mais legal é que você
pode tirar as perguntas mais populares e
tentar dar uma ótima resposta. Ou você pode usar essas
informações para criar um tutorial sobre isso
e publicá-lo no YouTube, seja qual for a sua decisão. Para que você vai
usar as informações. O legal é que
você pode fazer a consulta que quiser apenas
analisando a API que
você acessou aqui. E isso leva muito tempo, na
verdade, para
analisar cada API. Esse não é um processo fácil. Você cometerá erros. Eu cometo erros
quase todas as vezes. Mas o legal
é que você pode jogar com ele com muita facilidade.
Você pode abrir, por exemplo Firefox e jogar com o
Firefox e jogar com os parâmetros e
ver os resultados. E mesmo que você faça
algo errado, você não destrói nada. Você acabou de obter um resultado errado
e pode alterá-lo. Você pode
alterá-lo até torná-lo adequado, o que você
realmente queria, certo? Essa é apenas a
lição. Obrigado.
89. Obtendo registros da semana passada - módulo datetime: Olá, meu amigo. Essa parte do código da
última aula é muito ruim. Por que eu acho isso? Porque colocamos a data
aqui manualmente. E isso está errado
em muitos níveis. Olha, quando eu quiser receber
perguntas da semana passada, eu não deveria ter que
abrir o programa e mudar aqui
essa parte do código. Cada vez. Este programa,
sempre que o executamos, deve gerar
uma data adequada. Portanto, precisamos aprender
de alguma forma como
gerar essa parte do código em vez de
colocá-la manualmente aqui. Então, precisamos aprender
como criar uma data. Para fazer isso, vamos usar algo
chamado módulo de data e hora. E vamos importar
dele timedelta e daytime. Para fazer isso,
vamos escrever aqui a partir de datetime, import, datetime, datetime, time delta. Dessa forma, não precisaremos escrever toda vez que você quiser
entrar na data e hora. Não precisamos fazer
algo assim, certo? Ou assim. Só precisamos
escrever assim. Isso vai ser mais curto. Então, agora, como podemos usá-lo? Bem, querendo dedicar um tempo, você notará
que tem bons métodos. E aqui está um método no qual
estamos interessados. Vai nos devolver a hora
que é hoje. Então, vamos fazer algo assim. Data e hora da impressão. Hoje, vamos invocar a função
today. Vamos executar o módulo. E como você pode ver, temos uma data
formatada assim. Temos dia, mês,
ano, hora, minuto,
segundo milissegundos. Então, agora precisamos de
alguma forma subtrair o duto em sete dias
, certo? Precisamos fazer uma
operação com esses dados. Para fazer isso,
precisamos de alguma forma criar sete dias que
possam ser subtraídos. E o tempo Delta será usado para dívidas porque delta significa a
diferença de tempo. O que exatamente isso faz? Bem, quando você entra aqui e
clicamos no delta do tempo, você notará que o
delta temporal representa uma duração, a diferença entre
duas datas ou horas. De repente, entendemos isso um
pouco melhor quando o invocamos. Mas observe que
temos aqui algo, mas desta vez delta e você pode enviar para oito dias segundos, microssegundos, milissegundos,
minutos, horas, semanas. E, por padrão, todos esses
valores são iguais à banda zero. Você pode mudar isso. Então, por que não fazemos algo assim, delta
temporal, e não
enviamos nada para isso. E nós executamos nosso módulo, você notará que
temos aqui algo como 0000. Mas se somarmos aqui, por exemplo horas e eu disse isso para formar, você notará que
temos aqui agora quatro, o que significa que
temos 4 h agora aqui. Quando eu adiciono algo como dias, três dias, você
notará que temos dias
livres e 4 horas. E esses resultados do timedelta podem ser usados com nossa data de
hoje, certo? Podemos subtrair
o timedelta de hoje. E teremos o
resultado que queremos se
definirmos dias para sete
dias, por exemplo, certo? Então, se definirmos como dias
iguais a sete, certo? Então, quando eu fizer isso dessa maneira, você notará
que temos sete dias. Então, esse é um tempo que
queremos subtrair. Então, isso é uma época anterior. Agora. Queremos fazer algo assim
hoje menos o tempo anterior. Podemos atribuí-los
para, por exemplo, definir a data. Então, este é o dia que
estamos procurando. Bem, poderíamos atribuí-lo aqui, mas há um pequeno problema. Você notará em breve. Que problema é esse? Quando você executa nosso módulo, observe que temos isso em comum, então não está funcionando. E invocamos a data da pesquisa. Como você pode ver, isso
é algum tempo de largura. Isso não é
exatamente o que queremos, certo. Podemos imprimi-lo porque o Python conhece esse
tipo e, ao enviá-lo para impressão, você receberá uma
versão imprimível da data. Como você pode ver, nós
tínhamos agora 11 de setembro. Aqui temos para setembro, conseguimos voltar a tempo
em sete dias. Está tudo bem. Mas não é assim que
imprimimos valor aqui, certo? Foi assim, certo? Portanto, precisamos tê-lo
na mesma versão para que possamos resolver
isso de duas maneiras. Uma é remover essa
parte da corda, ou podemos fazer isso de forma um pouco
mais profissional. Há algo estranho
chamado carimbo de data e hora. Os programadores decidiram que,
no primeiro de janeiro de 1970, eles marcarão a hora. Eles começarão a
contar o tempo e o contarão
desde então adicionando segundos. E observe que aqui
na bolsa de valores, eles forneceram a partir da data usando
um grande número como este. Esses números aqui são, na
verdade , segundos que
passaram desde primeiro de janeiro de 1970
até 1º de janeiro de 2011. Portanto, podemos, de alguma forma, alterar a data de
pico em timestamp. Sim, nós podemos fazer isso. A maneira mais fácil é
fazer assim. Essa data, aquela data e hora. Como você pode ver,
agora temos um bom registro de data e hora. Então, quantos segundos se
passaram desde janeiro de 1970? No entanto, essa metade aqui é
milissegundos e podemos usá-la como
o valor da chave da dívida. É por isso que vamos agora
, convertemos em números inteiros e então teremos
a coisa certa que estamos procurando. Agora, quando o
passarmos aqui, teremos o valor
que estamos procurando. Então, agora vamos obter
os volts do StackOverflow classificados por ordem decrescente
com a pontuação. E então você muda da
data definida aqui. E nós o configuramos assim. Dissemos que os queremos
dos últimos sete dias. Agora, quando executamos nosso módulo
em comum aqui, temos uma boa
pergunta aberta nos últimos sete dias que
segue essas regras. Se aumentarmos isso para, por exemplo 30 e executarmos nosso módulo, você notará
que mais sites foram abertos com
mais perguntas, certo? O legal é que
agora não precisamos entrar em nosso
programa e contar, calcular a data que
tínhamos há sete dias
ou dois dias. Acabamos de colocá-lo aqui e
ele deve funcionar bem. Vamos configurá-lo para sete dias. Agora eu gostaria de
acrescentar mais uma coisa. Observe que o
script Python pode ser executado assim. Quando eu o abro. Vai ser executado. E como você pode ver, temos, como resultado, uma
pergunta como essa. E por que eu acho que é legal? Acho legal
porque agora você pode colocar um atalho na sua área de trabalho. Ligue para receber as perguntas mais populares
do Python da semana passada. E você nem precisa abrir
seu EIDL. Você pode simplesmente abrir o
script assim. E abrirá sites que seguem essas regras. Isso é legal. E serão
da última semana. Você não precisa
entrar no programa. Toda vez que você executa seu script, ele é universal. Só que
sempre funcionará corretamente. E essa é a
coisa mais legal da programação. Você faz tudo funcionar sem precisar
mudar as coisas. Isso está tudo nessa lição.
Muito obrigado.
90. EXERCÍCIO: sistema CAT - introdução: Olá. Nesta lição, você
aprenderá como criar um aplicativo que mostrará ao usuário seus gatos favoritos. Você aprenderá como
procurar gatos aleatórios e preparar a base para outras etapas sobre
as quais falarei em breve. Usaremos o código da última aula em
que fizemos login usando o cabeçalho no site da API
cat. E agora vou falar sobre suposições para nossa aplicação. Vamos imaginar
que o usuário está fazendo login em nosso
programa, então
forneça o login e a senha. A seguir, imagine que, abaixo, estamos verificando
se o login e a senha estão corretos. Agora, estamos assumindo que o registro foi
concluído corretamente. O usuário fez login porque forneceu a senha de
login correta. Em seguida, recuperamos as propriedades do
banco de dados, como ID de usuário e nome de usuário, para referência
adicional. Assim, podemos referenciar o cara
que acabou de fazer login. Não estamos seguindo
essas instruções porque não temos banco de dados. Imagine que eles estão
aqui e acabamos de fazer login. Um cara com um
ID de usuário como dívida H, G, H, m, por exemplo, o que você pode escrever para ouvir
o que quiser usar, apenas o ID de usuário que pode identificar esse
usuário e nome de usuário específicos. Salários, por exemplo, nosso coração, certo? Então, novamente, o ID de usuário nos
permite identificar um usuário específico. Se alguém
fornecer um login
diferente, uma senha diferente, essa
ID de usuário será diferente porque
identificará o
usuário diferente, certo? Então, queremos criar um
programa que mostre quais são nossos cortes favoritos
do usuário que
acabou de fazer login mostrarão a
ele gatinhos aleatórios. E o script perguntará se o usuário deseja adicionar a
criança à lista de favoritos. Portanto, precisamos tornar também
possível adicioná-lo. Então, precisamos criar uma habilidade, uma função para adicionar novas cartas. E também criará
uma função que lhe
permitirá remover
o gatinho dos favoritos. Nesta palestra, nos
concentramos em mostrar a ele coisas para obter
coisas do servidor. Então, isso é como um exercício. Nas próximas palestras,
falaremos sobre como
postar algumas coisas, como enviar algo para o servidor, para a API, porque sim, podemos fazer isso e também
podemos excluir de lá. No entanto, agora
precisamos criar a base para nosso programa. Então, vamos imprimir algo
como Olá, nome de usuário. Então, ele sabe que
está em nosso programa e agora queremos obter
os cortes favoritos. Então, pegue os cartões favoritos. Criamos uma função como essa, ok, Obtenha gatos favoritos. E vamos salvar o resultado. Dois gatos favoritos assim. Precisamos dizer de quem queremos
obter os gatos, certo? Então, enviamos o ID do usuário aqui para a função de custo favorita do bolo que ainda não criamos. E então imprimiremos
seus cartões favoritos. Somos fornecidos apenas assim? Então, agora precisamos
definir essa função. Então, temos fatos favoritos, precisamos defini-los. Então defina, pegue gatos favoritos. Recebemos aqui o ID de usuário e queremos retornar
aqui os cortes favoritos. Como você pode ver, nós já fizemos
isso aqui. Então, vamos usar esse pedido. No entanto,
precisamos editá-lo um pouco. Por quê? Observe que quando
acessamos Favoritos e chegamos aos favoritos do
Gettier, ele diz que obtém os favoritos pertencentes
à sua conta. Conta de quem? A pessoa que criou
a chave da API será apenas nós. Mas queremos criar um aplicativo em que
haja muitos usuários com uma lista diferente
de cartões favoritos. Então, precisamos
identificá-los de alguma forma. E você pode ver que há uma opção para
filtrá-los por subID. No nosso caso, o subsídio é
realmente o ID do usuário, certo? E queremos
enviá-lo como um subID, como um parâmetro de solicitação. Então, precisamos criar
aqui parâmetros, objetos como esse,
o dicionário. E nós vamos usar. Fato de que podemos
fazer algo como SAP ID e podemos configurá-lo como ID de
usuário que é enviado aqui. E podemos então
enviá-lo nos parâmetros S. Dessa forma, agora podemos
retornar a resposta. Mas a resposta
é distorcida, certo? Então, precisamos de alguma forma usar
esse código aqui desta forma. E então, por exemplo ,
poderíamos fazer assim. Mas o problema é que
precisaremos repetir a
tentativa, exceto o contrário. Toda vez. Sempre que
criarmos uma função como obter cartas favoritas, como, por exemplo, um gato
novo para favorecer a lista, remova a carta favorita. Precisaríamos criar
o mesmo código desse jeito. É por isso que criaremos outra função para
sabermos a repetição por nós mesmos, como obter conteúdo JSON da resposta e
enviarmos aqui uma resposta. Então, agora vamos fazer
algo assim. Então, vamos
devolver o conteúdo, mas precisamos mudar nossa
inter-resposta dessa forma. E agora podemos simplesmente
devolvê-lo assim. Então, estamos pulando
daqui para cá, e estamos enviando uma
resposta daqui, certo? Em seguida, estamos mudando a resposta para o
conteúdo, que é JSON. É claro que estamos tentando fazer isso. Se algo der errado,
dizemos aqui algo em polonês, no formato adequado. Caso contrário, retornaremos
o conteúdo aqui. E o conteúdo
é novamente devolvido ao local em que a função get favorite
cards é invocada. Então, no nosso caso, está aqui. E dessa forma,
veremos os cortes favoritos. Como você pode ver, suas
cartas favoritas estão em uma lista vazia. Está tudo bem
porque não
adicionamos nenhum coração, certo? Mas, no futuro, veremos aqui
os cartões favoritos
do usuário que
se identificam como esse ID. Agora é hora de comprar uma
carta aleatória. Então, vamos fazer algo assim. Gato aleatório é igual a
receber uma carta aleatória, certo? Vamos criar uma função. Seja aleatório. Não precisamos
criar parâmetros porque isso só retornará uma carta aleatória. Observe que agora podemos
fazer uma solicitação e usar essa função a partir daqui. Então, não precisamos nos
repetir, certo? E bem, não precisamos de
parâmetros agora? Porque acabamos de
pegar um gato aleatório. Mas como obtemos uma carta aleatória? Diz que precisamos
carregar esse link e obteremos a
resposta JSON. Por padrão. Está nos dando uma única carta aleatória e a
devolvemos aqui. Então, o cartão aleatório já está aqui. Podemos copiar essa
linha de código aqui. Então, seus cartões favoritos agora, podemos escrever aqui
seu próprio gatinho. E está aqui,
no gato aleatório. Como você pode ver agora,
temos um gatinho aleatório. Quando o módulo aleatório, novamente, o gatinho aleatório
será diferente porque o id é diferente, o
URL é diferente. Bem, poderíamos mostrar a ele esse gatinho
aleatório, por exemplo, o URL. Imagine que temos aqui
uma interface gráfica de usuário onde mostramos ao
cara essa imagem. Para obter
essa imagem,
precisamos acessar esse URL. E podemos chegar
lá de duas maneiras. Observe que esta é uma lista
de um único dicionário. Poderia haver mais
deles se tivéssemos enviado aqui
um parâmetro que nos
permitisse
procurar mais pessoas, mais cortes de uma só vez. Mas não fizemos isso dessa maneira. Acabamos de comprar um gato. Então, sabemos que na
posição zero dessa lista, está o resultado
que estamos procurando. Assim, podemos digitar sons
como Random Cut of zero. Observe agora que quando
executamos nosso módulo, temos aqui apenas
um único
dicionário, aquele que queremos. E agora podemos entrar no URL. Dessa forma, temos o
URL do gatinho drone e podemos copiá-lo
em um navegador da web. Podemos abri-lo instantaneamente
no navegador da web. E por que devemos perguntar à
pessoa se você deseja adicionar esses gatinhos
recém-desenhados à sua lista de favoritos, mas faremos isso
na próxima aula. Eu vou te mostrar mais uma
maneira de obter esse primeiro
alinhamento a
partir da primeira posição deste. Observe que não é legal
que precisemos lembrar aqui, como usuários
dessa função, que precisamos
acessar o primeiro elemento. Nós podemos, nós poderíamos fazer
algo assim. Estamos retornando o conteúdo e o
primeiro elemento aqui instantaneamente. E então podemos
fazer isso assim. Então, como você pode ver, essa é, eu acho, uma solução melhor porque as funções devem ser
criadas dessa forma. Portanto, não precisamos
examiná-los para saber
como eles funcionam. Imagine por um segundo, você não
sabia totalmente como essa função
é criada, certo? E você invoca,
obtém uma contagem aleatória. O que esperamos como resultado? Para esperar que você precise
entrar aleatoriamente,
corte o primeiro elemento
para obter essas cartas aleatórias. Bem, provavelmente não, certo? Se essa função fosse
chamada Get Random cats. Portanto, esse nome sugere
que você obterá
uma lista de monocotiledôneas, então sim, você
esperaria que
precisasse ler alguma lista. Mas dessa forma, você
espera que,
ao olhar para o nome , tenha apenas um único corte. Então, examinar uma lista, algo inesperado,
e essa não é uma boa maneira de resolver
esse problema. Essa é a melhor solução. Quando fazemos assim. Vou lembrá-lo aqui de que essa coisa vai estar aqui. Vamos ter uma lista,
uma lista de gatos, e obteremos o primeiro elemento, que é um dicionário. No nosso caso, esta parte, e nós a devolvemos
aqui para este lugar. E esta é uma
carta aleatória no momento, que é apresentada
pelo dicionário. Só há a lição. Obrigada.
91. POST - adicionando um gato à lista favorita: Olá, é hora de adicionar o
gatinho que acabou de ser desenhado usando o
método post from request. Antes disso, precisamos perguntar
aos nossos usuários. Então, usamos a entrada em vez
da impressão e perguntamos a ele: você
quer adicioná-la
à sua lista de favoritos? E ele pode responder sim
ou não, assim. E precisamos salvá-lo em
alguma variável, como, por exemplo, adicionar duas
respostas favoritas como essa. Precisamos verificar a
resposta, certo? Portanto, se eu adicionar duas
respostas favoritas iguais a sim, adicionaremos que
invocarão uma função como, por exemplo, at favorite cat. E enviamos o ID
do usuário para que possamos identificar a lista desses usuários. Isqueiro. E enviamos um cartão de identificação aleatório. Então, o gato aleatório da identificação e
a cor do boné, certo? Então, deixe-me ficar assim. Observe que o
gato aleatório tem identidade, certo? Então, vamos
enviar a identificação dos cortes. Este é o ID da categoria em
que este gato está incluído. Estamos falando sobre essa ideia, é esse ID de cartão específico para gatos
que pode identificar e, bem, podemos imprimir o resultado das cartas favoritas da arte para
sabermos o que aconteceu
, se aconteceu ou não. Observe que estamos perguntando, você quer adicioná-lo
aos seus favoritos? E pedimos a letra
maiúscula da letra Y. No entanto, se alguém
usar letras minúsculas, essa condição
não será atendida, certo? É por isso que vamos usar o método maiúsculo
na resposta, que aumentará a letra minúscula para a letra maiúscula, certo? Eu acho que é um pouco
mais proficiente. Isso é apenas uma validação de
dados. Não estamos nos concentrando nesse
tópico nesta palestra. No entanto,
gostaria de mostrar a vocês
o exemplo prático
dos métodos que
aprendemos há muito tempo. Então, estamos enviando para
a função assim, mas precisamos definir
uma função como essa. Então, adicione o ID de
usuário do cartão favorito, o ID do cartão. E agora o que? Precisamos fazer uma solicitação
como sempre fizemos, certo? Então, vamos fazer um pedido. Mas desta vez, esse pedido
será chamado de correio. Observe que, quando
acessarmos os favoritos aqui, salve uma imagem como favorita. Temos o nome da postagem aqui. Publicar significa que você está apenas
postando algo, certo? Você está enviando algo para
o servidor. Para usar o post, você só precisa
digitar sua pausa. A diferença. No entanto, precisamos
enviar algo certo
e como enviá-lo. Mas podemos criar uma
nova variável, como, por exemplo, dados
de cartão de crédito. Você pode chamá-lo do
que quiser. Isso o torna um dicionário. E diz que devemos
fornecer um ID de imagem, certo? Precisamos dizer em qual imagem estamos adicionando
duas listas de favoritos. E no nosso caso,
enviamos para cá, certo? A identificação aleatória do gato. Então, podemos fazer
algo como identificação de gato. Isso é suficiente,
mas diz que você
também pode fornecer o subID. E, em nosso caso, queremos fornecer isso, caso contrário, cada cartão que seria adicionado pertenceria
à nossa conta, seja, à chave de API
que criamos. Então, vamos definir isso como ID de usuário e agora precisamos enviá-lo. Como podemos enviá-lo? Não usamos o argumento dos
parâmetros aqui. Usamos o argumento de Jason e fazemos algo
assim. Por que isso? Então, porque essa API espera que os dados
estejam no formato JSON. E tudo o
que será atribuído
ao argumento chamado JSON será alterado para
json, se possível. Então essa é a
melhor maneira de fazer isso. Nós apenas escrevemos json
igual a dados cat. E agora mudamos
isso para Jason automaticamente, sem nos
preocupar em como fazer isso, o
que aconteceu aqui. Bem, está tudo bem. Acabamos de adicionar algo lá se isso for invocado. Bem, caso contrário, se ele não
quiser adicionar o Keaton, precisamos dizer algo, por exemplo,
por que seu ser brutal, o
gato, será sentado, certo? Eu acho que ele é meio brutal. O vinho sabe disso. Vá para a lista de favoritos dele, que está
olhando para ele como, por exemplo, esta aqui. Queremos que ele o adicione aos seus leads
favoritos? Não seremos seres brutais. Sim, queremos acrescentar
isso ao nosso sucesso. Acabamos de adicionar um cara novo. Temos uma identidade como essa. Agora, quando executamos nosso módulo, notamos que temos em
nosso capitalista favorito, uma nova carta favorita com um ID
alto, como esta. Aqui está um ID de usuário que obtive do site do API Card. Aqui está um ID de imagem que
adicionamos anteriormente, e aqui está o subID do usuário que está conectado no
momento. Aqui está o URL em que você pode acessar seu próprio
gatinho que estava aqui. Então, podemos mostrar todos os
cortes favoritos aqui, certo? Para ser honesto, depende de você como você o
formatará agora. Estamos mostrando a lista de cartas
favoritas no,
com esta aparência. Você pode mostrar somente
URLs se quiser. Você pode abri-los no
site se quiser. No momento, essas são as únicas
opções que você conhece, mas talvez você possa mostrá-las
em seu site ou colocá-las na interface
gráfica do usuário. Tudo depende de você. Quando você clica em Não, por que você expira
sendo o gato. Ok. Tudo isso está nesta palestra. Na próxima palestra,
mostrarei como
excluir cartões
da lista de favoritos.
92. DELETE - removendo um gato da lista favorita: Olá, ele está
tentando excluir um
dos cartões que estão na
nossa lista de favoritos. Como você pode notar, eu
adicionei mais um gato. Como fazer isso? Bem, vamos aqui
e, como você pode ver, existe um método chamado necessidade,
que
, como o nome sugere, excluir remove o
gato favorito da lista de alguém. Para fazer isso,
basta enviar o ID favorito após o
método favorito, após o URL. Aqui exatamente neste lugar. Então, vamos criar uma função
que chamaremos, por exemplo, remover gato favorito. E enviaremos a identificação de gato
favorita
que queremos remover. Precisamos dizer exatamente:
Ei, eu quero esse cara, esse cara, e precisamos
fornecer isso na URL. Vamos copiar isso daqui
porque eu não gosto de
escrever código só para
escrevê-lo. E não estamos enviando JSON agora. Não estamos postando
nada sem excluir. Então, fomos ajustar, transformar postagem em excluir. Ainda precisamos obter uma resposta da resposta
para obter informações. Se a coisa foi excluída ou não. Podemos usar essa resposta
para dizer
ao usuário que algo
aconteceu corretamente ou não. Mas você fará isso
sozinho, como prática no futuro. No entanto, agora
precisamos remover um corte. Essa coisa que precisamos fazer
para coletar,
caso contrário, poderíamos enlouquecer. Vamos lá, removendo
seu gato sozinho. Precisamos fazer isso juntos. Ok, então como fazer isso? Precisamos adicionar o ID do cartão
favorito aqui. Como fazer isso? Eu gosto de sabores
e isso é tudo. Então, o ID do cartão favorito está aqui. Acabamos de editar e
tudo vai funcionar bem. Agora precisamos apenas
pedir esses iodos. Então, vamos perguntar ao usuário. Então você não tem um coração assim e diga a ele que
forneça a identificação do cartão para excluir. Então, estamos solicitando o
ID e quando salvá-lo. Então, cartão de identificação para remover. E precisamos invocar
nossa função assim. Podemos imprimir o
resultado assim. E lembre-se de que a entrada está retornando um cartão de identificação de string para
remover uma string israelense. E precisamos de uma corda
para conectar o,
conectá-lo com o sinal positivo. Portanto, não precisamos
fazer um casting aqui. Então, tudo funcionará bem. No entanto, como o usuário
saberá qual cartão
deseja remover? Devemos mostrar a ele. Ele ligou, Olhe aqui. No entanto, essas informações não
são processadas. Estamos aqui, então ele
pode cometer um erro. Devemos apenas mostrar a ele a identificação
dos cartões e também ao
lado a URL para que ele
saiba qual cartão deseja excluir,
infelizmente. E então ele pode
decidir como fazer isso. Bem, podemos processar
a coisa aqui, certo? Porque quando eles o acessam, ainda
podemos acessá-lo e depois errar quantas
vezes você quiser. Não precisaremos fazer,
novamente, uma solicitação para
todas as cartas favoritas. Só precisamos agir como a variável de cartas
favoritas. A lista. No nosso caso,
precisamos transformá-lo. Você se lembra de onde estávamos
falando sobre transformação, sobre mudar a
forma como os dados são registrados? Havia uma seção sobre isso e estamos falando
sobre a expressão de listas. Sim. Finalmente, vamos
usar o conhecimento dessas palestras sobre
exemplos práticos em nossa situação Queremos fazer algo com esses dicionários
que estão dentro da lista. Então,
precisamos mostrar no final o ID do usuário que está
conectado ao URL. Então, poderíamos fazer um
dicionário como esse. Assim, poderíamos criar uma expressão de
dicionário. E vamos fazer
algo assim para cada carta dentro das cartas favoritas. Então, dentro do cartão, haverá para a
primeira ocorrência, esta e depois esta. E agora precisamos dizer o que
queremos fazer com isso. Queremos criar uma chave que tenha a
aparência de que esse valor de
ID cortado se
pareça com esse URL cortado. É apropriado? Não, não é. Por quê? Porque observe que,
quando olhamos aqui, imagem é na verdade outro
dicionário que tem. Url interno. Portanto, precisamos primeiro entrar na
imagem e depois na URL. E dessa forma, temos ouro agora, cartão
favorito por identificação. Assim, podemos salvar as
cartas favoritas ocultando-as. E enquanto podemos imprimi-lo. Agora, observe que quando executamos nosso módulo e
dizemos Não, não queremos remover um gato. Como você pode ver, agora
temos o ID que está aqui e
o URL do gato identificado
nesta lista sob esse ID. Isso é ótimo. No momento, a pessoa é solicitada, para que você não precise
fornecer a identificação do gato para excluir. Claro que ele pode
cometer um erro e então
não vamos removê-lo. Temos aqui
dados inválidos e poderíamos fazer alguma validação de dados. Você pode fazer isso como uma prática. No entanto, nós fornecemos
o adequado. Então, gostaríamos de excluir, por exemplo, esse cara que foi copiado
para que eu não cometa um erro e bombardeie o sucesso da
mensagem. Então, podemos usar esse acesso aqui. Assim, podemos verificar se a
mensagem é igual ao sucesso. Isso significa que a
carta foi removida e diga àquela pessoa
brutal e brutal que ele a
removeu como um treino. E podemos verificar isso
agora, agora mesmo, quando executarmos nosso módulo, você notará que há
apenas um gatinho no momento. Não adicionaremos nenhum Keaton e removeremos o último
gatinho da nossa lista. Agora, a lista está vazia. Então, como você pode ver, isso é muito legal porque
podemos usar um servidor externo não apenas para
recuperar coisas dele, mas também para
enviar informações, excluir informações delas? Você pode estar se perguntando,
ok, tudo bem, bar, você está usando isso no
exemplo de cartas. Realmente. Quão útil é isso? É melhor aprender sobre
coisas fáceis de imaginar. Acredite em mim. Então, qual poderia ser um exemplo um pouco
mais prático? Bem, imagine que você
possa usá-lo para postar. Então, para enviar e-mails, ou podemos excluir
essa palma do seu e-mail. Porque um dos seus provedores de
e-mail permite que você use uma API como essa. Talvez ele permita que você verifique mais facilidade, então você pode fazer isso. Ainda há um
erro em nosso programa. Observe que, se adicionarmos um novo gato, o gato não
será mostrado aqui em nossos cortes favoritos por ID. Por quê? Porque estamos usando
os cartões favoritos do método Obter cartões favoritos. E nos preocupamos, adicionamos a carta favorita
depois de não ser padrão, o que significa que depois de
adicionar um novo gato, devemos atualizar nossa lista de cartas
favoritas. Portanto, devemos fazer algo
como gatos favoritos. Obtenha novamente todas as cartas
que estão em nosso servidor. E bem, isso funcionará bem, não é o padrão quando dizemos não, e executamos nosso módulo. E vamos adicionar o novo
LEA desenhado por Keaton aqui. Observe que agora temos o quê, dois gatos que podemos remover, também aquele que
você acabou de adicionar. Certo? Então, podemos
remover um deles. Mas é uma boa ideia
fazer uma solicitação para
algo assim? É realmente a melhor coisa
que poderíamos fazer? Levando em consideração
que as solicitações são lentas. Observe que temos um
gato aleatório que ainda está disponível. Olha, gato aleatório
ainda está disponível. Assim, podemos facilmente
entrar em um cartão aleatório de URL. Essa é uma informação
que precisávamos. E observe também que aqui,
depois de adicionar corretamente, obtemos o
sucesso da mensagem e
o id do recém-adicionado
à lista de favoritos. Então, poderíamos obtê-lo daqui
e simplesmente atribuir essa chave. Isso. Então poderíamos salvá-lo aqui. Talvez não na mesma variável. Poderíamos chamá-la de forma diferente
e adicioná-la posteriormente
no final após transformar
esta lista aqui nesta linha. Então, vamos fazer isso. Vamos melhorar nosso código. Por melhor, quero dizer mais rápido. E isso é realmente algo
que otimiza nosso programa. Porque, como eu disse anteriormente, os
pedidos são muito lentos. De alguma forma, você precisa pular do seu computador para o
servidor que está longe, muito longe do seu computador. Então, isso leva tempo. Percorrer o
loop 1.000 vezes, 2.000 vezes
provavelmente será mais rápido do que isso. Lembre-se de que esse tipo de otimização é
muito importante. Ok, então precisamos de um KID aleatório. Então, vamos clicar em Criar dicionário
recém-adicionado. E faremos algo
assim, identificação de cartão aleatória. E nós não fazemos assim. Precisamos salvar esse resultado
da adição do cartão favorito. E observe que isso é
submundo sob identidade, certo? Então, devemos,
não precisamos de identificação aqui. Precisamos, peço desculpas. Precisamos do resultado
do gato favorito e
precisamos do IID dele. Mas, a partir de um gato aleatório, não
usaremos apenas um URL. Ok, vamos verificar se o cartão
recém-adicionado estará aqui. Então, vamos executar nosso módulo. Sou Amanda, parênteses. E o que? Vamos adicionar um novo gato. E o que não
removemos no botão. E como você pode ver, o URL
do gatinho drone está aqui. É um novo ID para
este drone Keaton, mas agora precisamos adicioná-lo após a
transformação na lista. Então, precisamos de alguma forma
adicionar um novo elemento aqui. E agora imagine que você
não se lembra de como fazer isso. Então você vai aqui e
escreveria algo como
este dicionário, adicionando um novo elemento, python. E você clica, por exemplo ,
em Adicionar novo item
ao dicionário. E eles dizem que,
para adicionar um novo item, você pode usar o método de atualização. Oh, desculpe, eu apenas uso
o método de atualização e envio o dicionário de
recortes recém-adicionado. Dessa forma, quando
executarmos nosso módulo, você notará que
temos aqui agora um cara, um gato, dois gatos e adicionamos outro. E como você pode ver
agora, temos 123. Ótimo, não é? E não precisávamos fazer
uma solicitação ao servidor. Então, nós realmente otimizamos nosso código. Nós o tornamos melhor. Observe novamente
que eu não usei apenas a
função de atualização aqui. Para ser sincero, esqueci
como estava frio e
decidi que você mostrasse
como um programa funciona. Na vida real. Não nos lembramos de todos
os métodos , mas
será muito difícil. Observe que eu conheço muitas linguagens de
programação e todos os métodos em todas as
linguagens de programação, mesmo que façam coisas semelhantes, elas podem ser chamadas de forma diferente. Como se lembrar de tudo isso? que rapidez eu poderia encontrar
um resultado assim? Acabei de digitar algumas palavras no
Google e obtive o resultado. Portanto, essa é uma habilidade muito
importante. Se você não sabe como
fazer algo assim, basta digitar no Google
e provavelmente alguém já está no StackOverflow
fez uma pergunta semelhante. A pergunta será
respondida adequadamente. Você pode simplesmente usar
a resposta como eu fiz e nós fizemos, certo. Eu falei sobre o método do
método de atualização neste curso. No entanto, eu ainda
me esqueci disso. Bem, eu sabia que
era possível. Eu sabia que era possível
atualizar o dicionário dessa forma. Portanto, é importante
saber sobre a possibilidade. Mas não é importante que você se lembre de tudo de cor. Porque se você esquecer
alguma coisa, na
verdade, leva cerca de 10 segundos para
descobrir como fazer isso corretamente. Essa é outra lição.
Muito obrigado.
93. VSC - download e instalação: Olá, é hora de parar de
usar o shell e o editor. Assim. É hora de passar para
algo mais profundo. Sharma, por exemplo, código do
Visual Studio. Ou você pode mudar para o PyCharm, que também é recomendado por mim. No entanto, vamos nos limitar
ao Visual Studio Code,
que, para ser honesto, é apenas um editor de texto especial que eu
criei para programadores. O que isso significa? Isso significa que, quando
você o baixa,
ele realmente não faz
nada de especial. Quando clicarmos aqui neste link depois de digitar o download do Visual
Studio Code, esse lado será aberto aqui, Donald Visual Studio Code. E, para ser
honesto, diz que, embora seja
de código aberto, é legal, certo? Porque você pode usá-lo gratuitamente. Está integrado, bom. Ele permite que você depure seus programas e
tem muitas extensões. Essa é a parte mais importante porque, quando você baixa,
ela tem apenas
essas duas coisas. Mas quando escrevemos algo
em Python, isso não acontece. Mesmo reconhecidos como Python, precisamos
estendê-lo usando extensões
que possamos baixar. Então essa é a parte mais
importante porque é muito legal. Você não precisa
escrever somente em Python. Neste editor. Você pode escrever em C plus
plus e Java C-sharp. Você pode criar sites nele. Você pode fazer o que
quiser porque há exceções para
cada uma delas. que significa que quando
você aprende a usar a interface ou o código do
Visual Studio, você não precisa aprender outra interface
quase agora, porque quase todos os idiomas serão suportados aqui. Então, é muito legal. Vamos baixar
a versão para Windows, mas a visualização usa Mac
ou Linux, seja o que for. Use os links aqui,
clicamos em Windows. E, como você pode ver, ele nos pergunta se você
deseja baixá-lo. Foi baixado. Clicamos nele, corremos e lemos, escutamos, eu aceito
esse acordo. Próximo. Em seguida, você pode criar um ícone na área de trabalho se quiser ter um ícone na sua área de trabalho. Então clique em Próxima instalação. E o detalhe acabou de ser
instalado. Agora podemos relaxá-lo. Concluir. E é assim que parece. Ok. Se você quiser
abri-lo, ao fechá-lo, então você pode digitar aqui
Visual Studio Code, e você pode abri-lo aqui. Lembre-se de que o Visual
Studio não é a mesma coisa que o
Visual Studio Code. Esses são dois aplicativos
diferentes que estamos usando o Visual Studio Code. Lembre-se disso, e é assim
que parece. E nós vamos estendê-lo. Aprenderemos como usar cada uma das coisas aqui
no lado esquerdo, como abrir adequadamente o espaço de trabalho e assim por diante
na próxima palestra. Isso é tudo. Muito obrigado.
94. Configurando o espaço de trabalho no VSC e instalando extensões básicas: Bem, tantas coisas
para fazer neste editor, tantos botões. Vamos tentar ver
o que eles fazem. Primeiro, queremos criar
algo em nosso editor, o que é chamado de projeto. Mas, para ser sincero, quando você vai para Phi, podemos encontrar aqui um projeto de premiação. Mas há algo
que é chamado de espaço de trabalho. O que é um espaço de trabalho? Que espaço é um espaço? Onde vamos trabalhar? E no Visual Studio, você trabalha em pastas. Então, para trabalhar no código do
Visual Studio, para criar a pasta, ou você precisa encontrar uma
pasta em seu sistema. Basta clicar em Adicionar pasta aqui. E então você pode encontrar qualquer pasta com MFIs
dentro de hint e had type. Mas enquanto
procuramos pastas com o Python, agora
você pode encontrar a
pasta em que armazenou
seus arquivos do Python abri-la e lê-los
instantaneamente, ou pode acessar a área de trabalho
e criar uma nova alta. No nosso caso, queremos
criar uma pasta,
kuwait, por exemplo, Python English. Tanto faz. O nome do seu projeto, para ser honesto, e você clica em Adicionar. E agora criamos nosso espaço de trabalho que
tem uma pasta dentro. E podemos adicionar novos arquivos. Como você pode ver, aqui
está um botão mu phi. Quando clico nele, agora
posso adicionar um novo arquivo. Ou podemos clicar, clicar com o botão direito do mouse aqui e
clicar no novo arquivo. E podemos, por exemplo, criar um arquivo chamado sample. Observe que quando eu clico em
Entrar, temos um bom. Agora, um cinco aqui, aberto. Ruim, bem, é o quê? É, phi sem extensão. Então, podemos fazer a
programação aqui. Precisamos renomeá-lo agora. Então, clique com o botão direito do mouse em
Nick, renomeie-o e vamos adicionar a extensão p, y. Como você pode ver, nosso
recurso para observar que a extensão Python é recomendada para esse
lutador. O que isso significa? Bem, um tipo que você, por exemplo, imprime uma amostra. E eu salvei o arquivo
Control plus S. Observe que quando vamos depurar
e começar a depurar, podemos escolher algo como ambiente, que é o NodeJS, mas isso não vai
nos ajudar. Para ser honesto. Nosso
código do Visual Studio não sabe o que fazer com ele, certo? Então, o que devemos fazer? Devemos instalar a extensão. É por isso que eu disse que
isso é como um editor, como um editor de texto, mas sem extensões,
precisamos instalá-las. E isso nos mostra instantaneamente: Ei, você sabe, isso é um código Python. Então vá para mostrar recomendações e veja o que você deve
instalar para usá-lo. E quando eu clicar nele
e clicar em Instalar, terei essa
extensão instalada. No entanto, vamos continuar
com isso por um segundo. Vamos aprender a interface
ou o código do Visual Studio. Observe que aqui temos
o primeiro ícone aqui, o Explorer. Então, essa coisa nos permite
explorar o que abrimos. Aqui. Como você pode ver,
temos editores abertos, o que significa que quando
tivermos mais de uma luta, todos os phi estarão visíveis aqui. Aqui está um espaço de trabalho e podemos
adicionar um novo arquivo novamente, por exemplo, amostra para PY. E
agora, como você pode ver, temos editores abertos. Dois deles, certo? Quando eu fecho este, não
temos aqui para abrir,
o editor tem apenas 11, mas aqui ainda podemos
abri-los do nosso espaço de trabalho. Também podemos criar pastas aqui, esse é o segundo ícone. Então, segunda pasta. E podemos criar um arquivo interno. Não precisamos adicionar
extensões para comer. Não importa, certo? Perceba que quando
abro a pasta, há todas as coisas que criamos
aqui, certo? Amostra, amostra dois. Então, também quando criamos algo
aqui, ele será
criado instantaneamente aqui. Isso é muito legal, não é? Podemos destruir tudo
aqui. Nós não precisamos. Não queremos
fazer isso manualmente
clicando nesta seta aqui, certo? Podemos reduzi-lo
instantaneamente dessa forma porque podemos ter mais
pastas adicionadas aqui. Porque você pode adicionar uma pasta ao Workspace e abrir uma nova. Isso é para explorar. Há um
lugar muito importante para você. E aqui temos extensões. E, como você pode ver aqui, recomendamos para isso, para esse phi que
obtivemos do botão
recomendado. Ótimo. Mas quando o excluímos, diz
que você pode pesquisar
extensões no mercado. Aqui estão os mais populares. Como você pode ver, o mais
popular é o Python, mas você pode escrever
em C, C plus, plus. Há algo de
bom no bem. É muito útil, pois é realmente
recomendado se você usar bem, se você não
conhece, não se preocupe. No futuro, você
provavelmente aprenderá sobre isso. Mais e mais e mais coisas
que você pode pesquisar. Mas se você está procurando uma extensão de
vestimenta para Python, para Python, assim como Python como você pode ver agora,
temos muitas extensões. Falaremos sobre alguns
deles sobre o que eu recomendo no futuro. No entanto, nesta palestra,
precisamos instalar o Python porque,
caso contrário, não
poderemos ver como
nosso código funciona. Então, basta clicar em Instalar,
ele foi instalado. E agora eu posso voltar aqui. Agora, quando eu vou para depurar
e começar a depurar, podemos selecionar uma configuração de
depuração. Como você pode ver, usamos Flask, django ou qualquer outra coisa. Você deve escolher um deles. Mas estamos apenas depurando o
arquivo Python atualmente ativo, apenas este. Então, vamos clicar nele. E como você pode ver, agora, no terminal,
temos aqui uma amostra. Isso é nosso, isso
é o que está impresso aqui. Aqui temos um lugar onde
podemos depurar nosso código. Falaremos sobre
depuração no futuro. Por enquanto, quero que você
entenda como configurar o processo de depuração. Então, o processo que
nos permite também executar o código. Observe que quando clicamos
aqui, iniciamos a depuração. Precisamos sempre
escolher o que queremos fazer. É muito lento, pois podemos definir uma configuração
para todo o espaço de trabalho. Quando clicamos aqui nesta bolsa, sugerimos que não podemos Deepak algo.
Quando você clica nela aqui temos esse ícone configurado ou fixo, ponto holandês json. Quando clicamos
nela, podemos escolher qual opção deve ser nossa configuração
padrão. Quando escolhemos Python, o
phi vai criar algo
chamado land that JSON, que é um arquivo
criado em Jason que será interpretado
pelo Visual Studio Code. Formas de alimentação. O Visual Studio desenvolve o que deve
fazer com nosso espaço de trabalho. Quando formos aqui para explorar
agora, você notará que aqui temos algo que se parece com esses
dados via scout. E aqui temos as configurações do
nosso espaço de trabalho. E como você pode ver,
podemos abrir aqui o lounge Jason e voltar a ele
ou alterá-lo no futuro. No entanto, vamos continuar com isso. Podemos derrubá-lo. E agora podemos clicar na caixa que negocia
que agora, como você pode ver, não
nos perguntaram qual configuração do Python
você deseja usar. É só mais rápido, certo? Você pode fazer com que ele pergunte sobre o Pylint quando você
abriu o arquivo Python. Falaremos sobre isso em
palestras futuras. Então não se preocupe.
95. Linho - o que está linting - como usá-lo, configurações no .vscode: Olá. Hoje vamos
falar sobre Lintner sobre como liderar seu programa
e o que
significa que você vai
aprender seu programa? Lind significa que você está verificando seu código em busca do tipo
elegante de erros,
erros que você conduz à execução do caminho de
seu programa. Ok, então, por exemplo ,
aqui, olha, temos chave duas vezes o nome
com o arco de valor. E aqui, Viola, mas
digitamos aqui duas vezes a mesma chave que
temos aqui também espaços comerciais, que significa que, bem, não
deveríamos ter
espaços aqui, certo, sobre por que, por que eu
preciso, nós precisamos deles? Ou podemos adicionar coluna
aqui, ponto e vírgula aqui. E, para ser honesto, você não deve
usá-los em Python. Você pode usá-los, por exemplo, em C plus plus, mas não em Python. Então, você
será informado sobre esses tipos de erro
pelo Linder. No entanto, Cao Podemos instalar o
lint ou você pode acessar site chamado cold
visuals to do.com dot python, entrar na
categoria LinkedIn e ler sobre isso. Você pode ler aqui
muitas coisas sobre o termo
Lean, mas como
configurá-lo e assim por diante. Falaremos sobre algumas coisas
a partir daqui. Então não se preocupe. Como você pode ver aqui,
temos uma caixa como essa, e essa caixa deve estar visível aqui quando você abre
o arquivo Python. No entanto, eu
desinstalei várias vezes para mostrar como funciona e agora, de alguma forma
, parou de funcionar. Essa situação também pode
ocorrer na sua situação. Então eu vou te mostrar
como instalá-lo, mesmo que não tenha
nenhuma caixa aqui, ok? Se você tiver uma caixa,
basta clicar em Instalar e será instalada se
quiser desativar o linting,
se não quiser fazer verificações como essas, basta clicar nesse linting desativado e tudo será desativado. Para abrir essa caixa, você pode precisar clicar no atalho Control
plus Shift plus P. E como você pode ver aqui, temos algo
como lintéis selecionados. Quando você digita select link, você é, você pode selecionar
o inverno que você deseja. E, como você pode ver,
existem muitos programas, muitos litros, que podem verificar se há erros
elegantes em seu programa. Bem, vamos usar, por exemplo, bandeira oito em vez do piloto. Quando clico em Flavor
Aid e clico em Instalar, agora o flag aid está sendo instalado. Tivemos informações aqui de
que ele está sendo instalado. E também observe que agora
temos um novo arquivo em nossa pasta de código VS pai. E aqui temos
as configurações do nosso espaço de trabalho. E eles dizem que
habilitamos o auxílio à bandeira e
também habilitamos em nosso programa. Agora você não fez isso, você pode ver que
nada mudou. No entanto, quando adiciono espaço aqui e clico em Control plus S, o que significa que estou salvando meu arquivo. Você notará que o
inverno acabou de chegar porque inverno está chegando toda
vez que você salva seu arquivo. E, como você pode ver, existem muitos tipos de erros
estilosos que você deve corrigir para
informá-lo sobre eles aqui. Bem, vamos verificar isso. Por exemplo, aqui diz que a
linha é muito longa. Você não deveria ter linhas tão
grandes porque elas são difíceis de ler se você as abrir
em outro programa ou em telas pequenas do que
são difíceis de ler. Então, esta é uma flecha estilosa. Você pode, você deve se lembrar de fazer algo
assim. Agora mesmo. Eu o removi aqui novamente, fizemos o mesmo, que significa
assim e agora, Ok, Oh, não formamos muita coisa sobre a repetição
do nome aqui. Ok. Então eu posso excluí-lo. E como você pode ver, cada vez que eu via algo, há menos do que
muitas linhas em branco aqui. Tudo que eu preciso para remover
todas essas linhas aqui. Ok, declaração
e ponto e vírgula, tudo bem, e nós a removemos. E eu preciso terminar aqui. Eu preciso adicionar uma linha de espaço em branco. Há esse
espaço em branco à direita e assim por diante. Então aqui, seguindo o
espaço em branco aqui, estou removendo todos
esses erros que fizeram meu programa não parecer bom aos olhos de
outros programadores, escrever assim e bombar,
tudo funciona bem. Também poderíamos instalar
o gasoduto, certo? Se a caixa não estiver aqui, vamos clicar em Control Shift plus P e podemos instalar
outro programa de empréstimos. Então, um termo verde sólido Pylint. E agora o que aconteceu? Agora acabamos de ativar
o evento Pi e também
desabilitamos o
floco a porque apenas um litro por
padrão pode ser executado. Podemos alterá-lo manualmente. Em breve mostrarei como passar o
mouse agora, apenas o Pylint funciona. Observe que, quando
volto à aparência inicial, o
piloto não está funcionando
no momento porque
não o instalamos. Acabamos de selecionar o
empilhamento em nossas configurações. Você deve ter aqui
uma caixa que diz que
permite que você
instale a pilha. Você poderia simplesmente clicar aqui, como aqui, instalar e
funcionaria bem. No entanto, se ele não aparecer, você
precisará
digitar o terminal aqui. Pip, install, Pylint, o nome do vinculador
que você deseja instalar. E, como você pode ver, o
piloto está sendo instalado. Agora, quando eu salvo o arquivo, também
temos algumas
coisas que
agora podemos alterar usando o empilhamento mencionado no aviso de dois problemas.
Portanto, para nosso
floco ,
oito, nos informe sobre
mais problemas de forma diferente. Essas informações on-line, o ponto e vírgula e o
nome como este. Então, se você quiser algo
que não seja tão restritivo, você pode usar torta e se
quiser algo mais restritivo, você pode fazer isso em flocos oito. No entanto, você pode usar
os dois ao mesmo tempo. Você pode simplesmente definir uma bandeira como verdadeira. Além disso, agora, ao lado de cada erro, você tem informações
de qual teoria da linha. Você tem essa
informação aqui,
aqui é da Flaked, aqui é da Pi Lin. Observe que alguns erros podem não ser setas que você
queira ouvir, por exemplo eu não me importo com
isso, que eu não adicionei no
final uma nova linha aqui, certo? O voo oito diz que não
há uma linha nova e,
no final do arquivo, vamos alterá-la
para fazer isso com
sons desse tipo. Python pontilhando oito argumentos
para esse voo. Agora, fui enviado para cá mais ou menos
assim. Traçar, traçar, ignorar iguais. E agora eu digo qual erro eu não quero ver no falso oito. Então, por exemplo, W2, 292. Então agora observe que
não há flecha como essa, certo? Portanto, esses tipos de erros não serão detectados
pelo NMR do voo oito. Assim, você pode alterar as configurações padrão do
voo com muita facilidade, certo? Digamos que você não
queira se preocupar com comentários longos , porque isso
não é algo que você
queira nem mesmo ouvir falar. Você não se importa com isso. Então você digita assim e agora não estamos sendo
informados sobre isso. Você não quer ser
informado sobre isso, então não estamos
resolvendo os problemas, mas simplesmente não
seremos informados sobre eles. Tudo depois, ignore. E por causa disso, você terá menos tipos
de erros de fiapos exibidos. Digamos que você
queira se concentrar
agora na programação normal. Você não quer se concentrar em erros
estilosos. Basta acessar as
configurações json e
alterar verdadeiro para falso aqui. E você acabou de desativar
o linting em seu espaço de trabalho. Como você pode ver, não estamos sendo informados sobre esse
tipo de erro. No entanto, mesmo cometendo
um erro como esse, você não será informado
pelo intérprete, pelo analisador que
analisa seu código. Ei, há
algo errado aqui
nesta linha, coluna
simbólica inesperada. Ele não te disse exatamente que
o problema está aqui. No entanto, você sabe
que nesta linha, vamos instalar mais um. Lintner, como por exemplo, selecione o PEP oito
instalado pela Internet. Agora pergunte-nos: Você quer substituir
outros credores? Sim, eu quero substituí-los. Como você pode ver, o fluxo
muda instantaneamente para falso. Agora, ele nos pergunta: queremos instalá-lo? Acabamos de alterar as configurações usando o
comentário daqui, certo? Mas ainda precisamos instalá-lo. Então, quando eu clico em
Instalar, será instalado e agora o peptídeo está funcionando. Como você pode ver. Também podemos alterar suas configurações. Então, poderíamos fazer algo
como Python delimitando isso. E agora, PEP oito
argumentos e
poderíamos ignorar as setas
que não queremos ver. Podemos mudar para falso. Agora, não vai
funcionar e podemos abrir, por exemplo assessor de
bandeira sobre eles. Então, depende de você qual
deles você vai usar. Você pode conferir cada um deles. Use o que você quiser. Eu uso principalmente
ajuda para pernas ou empilhamento. Digamos que você não
queira o tubo oito e quanto mais você simplesmente não quer
desabilitar o tipo aqui, você só quer removê-lo
totalmente do seu, do seu computador. Então faça algo assim. Vá para o terminal e digite
pip, instale pip egg. E agora ele vai
nos perguntar se queremos fazer isso. Sim. Acabamos de desinstalar. Acabamos de instalar
o *** oito e o
Pylint
em nosso computador. E isso está tudo na lição. Muito obrigado.
96. Corredor de código | atalhos personalizados | de outros editores, shell interativo: Olá, meus amigos. Hoje você aprenderá como
criar um atalho
para o comando. Você está interessado em. Como executar o programa em
uma janela interativa sobre extensões que
permitirão importar atalhos de outros editores que
você conhece, como, por exemplo NetBeans, Atom, Notepad Plus, Plus Visual Studio e assim por diante. Sobre a extensão que permitirá que
você dispare parte do código, apenas parte dele, certo? E sobre o pacote pandas para visualização de dados na
forma de uma tabela. Muitas coisas que você pensa. Ok, vamos começar. Em primeiro lugar, a verdade é que
estamos executando o código usando os bark men. Então, quando você clica na depuração, nosso Visual Studio
Code acaba de executar um modo de depuração, o que leva tempo. Observe que cada
vez que eu o executo
, são alguns segundos,
como se estivessem livres. Às vezes, pode ser mais longo
porque esse modo permite que você observe variáveis para criar pontos de
interrupção como esse. Falaremos sobre isso no futuro. E esse é o modo de
depuração avançado para apenas executar um programa simples, se você quiser imprimir
algo assim, certo? Basta clicar aqui, executar o arquivo Python no terminal
e, como você pode ver, ele é executado bem rápido. É isso que vamos usar? No entanto, observe que
precisamos clicar aqui porque não
há atalho. Acho que será uma
ótima ideia adicioná-lo. Como adicionar um atalho que você
pode controlar mais shift mais p. Então você encontra algo
como abrir atalhos de teclado. Observe que até mesmo essa
coisa tem um atalho. Todo comentário que tenha um atalho
atribuído deve ser cumprido. Então, tecla Control Plus, teclado, atalhos Control
mais S. Então, podemos clicar aqui, abrir este menu, ou simplesmente Control
mais K, Control mais s. Muito longe,
clicá-los bem rápido. Ambos são condroblastos, mantenha e controle mais S. Você pode se lembrar disso
olhando a primeira
letra aqui, certo? Teclado, tecla de atalho
Control Plus, Control plus S. Ok, vamos voltar a como definir um novo atalho para
algo como, por exemplo este
arquivo Python de execução no terminal. Você só precisa encontrar aqui
um nome comum como esse, executar Python no terminal. Erro aqui. Perceba que
apesar de eu ter perdido o PHI, essa coisa foi fundada, então
é muito legal, certo? Execute o arquivo Python no terminal e clique nele duas vezes. E agora eu posso definir a combinação de teclas
desejada. E então, quando eu pressiono Enter, ele será configurado. Digamos que eu queira
configurá-lo para control
plus, mais D porque é
muito rápido usá-lo. Eles podem usar a mão esquerda, então eu ainda posso
colocar minha mão direita
no mouse e pressionar Enter. Agora, quando eu uso
gráficos de contorno mais d, como você pode ver, posso executar
isso quantas vezes eles quiserem quando eu faço
uma alteração como essa. Como você pode ver,
o arquivo está
sendo salvo instantaneamente e eu posso
executá-lo. Ótimo, não é? Agora eu não preciso fazer. Então. Você pode definir
qualquer atalho aqui, começando os membros da equipe
que, às vezes alguns atalhos serão reservados. Olha, quando eu faço algo
como counter plus w, observe que existem comentários
preexistentes têm esse kibitzing. Quando eu clico nele, você
pode ver qual deles é pesado. Portanto, é reservado
para fechar janelas. Se você não precisar
fechar janelas usando gráficos de contorno como esse, poderá removê-los. Então, gráficos de contorno,
teclado Control mais S. Vamos voltar para a guia Atalhos do
teclado e poderíamos removê-la. Então clique, clique com o botão direito sobre ele
e remova, continue licitando, depois remova kibitzing ou você, ou você pode usar delete
para removê-lo, certo? Então você pode voltar para o Python de cinco terminais abertos. Assim, você pode voltar a isso, abri-lo novamente e, em seguida configurá-lo da forma
que quiser. Caso contrário, não faça
isso. Não faça isso. É assim que você muda os atalhos. Isso é muito legal porque você pode configurá-los como
quiser. No entanto, você pode estar
vindo de outro editor, como, por exemplo Net beans são Tom Nolan
plus, plus, plus VMM, qualquer coisa. E talvez você esteja
acostumado com alguns atalhos e não queira configurá-los
manualmente sozinho. Você não quer se
acostumar com os novos atalhos, basta acessar
Extensões e digitar aqui algo como K-map. E, como você pode ver, agora, podemos obter o mapeamento de
cada atalho de tecla para
o comentário, por exemplo Sublime Text, atom load POS parser plus equity,
Visual Studio e assim por diante. Todo editor popular está aqui, os direitos
políticos estão mais
instalados do que o jar. Em seguida, você pode reiniciar o código do
Visual Studio ou recarregar. E você pode simplesmente usar atalhos
de outro editor. Também tem um muito legal. Extensão que permite
executar apenas parte do código. Essa extensão é
chamada de câmara fria. Ele permite que você execute código não apenas em Python, mas também
em C, C plus plus. Isso é realmente incrível. Então, basta clicar em Instalar. Agora, quando clico em um, em
qualquer lugar neste
phi, posso executar o código,
como você pode ver agora, nós o temos na
guia Saída, acenando com a cabeça do terminal. E isso também significa
que você pode usar a entrada. Agora. Isso não vai funcionar, ok, acredite em mim, porque não
funcionará no terminal agora. E bem, você pode
arredondar apenas
parte do código para poder executar somente essa linha. Vamos
ver o que vai acontecer. Você notará que
temos uma seta porque essa variável não está definida, ela está definida aqui. Então, precisamos executar essa parte
do código se você
quiser ver nove. Assim, você pode executar qualquer
parte do código que você pode
ver se o resultado
é muito legal. Se você não quiser correr inteiro, além
disso, é
correr bem rápido. No entanto, ele não é
executado no terminal. Portanto, se você quiser usar a entrada, precisará alterar
as configurações dessa coisa. Você entra nas configurações e percebe que
tem del, algo como o coderunner aqui. Você pode gostar do
frio agora. E você pode escolher aqui algo como Executar no Terminal. E você pode mudar isso
de falso para verdadeiro. Observe que precisamos
usar uma vírgula de advérbio. E agora, ao executá-lo, você pode clicar também
aqui ou aqui, certo? Observe que executamos
nosso programa no terminal. Então, agora podemos usar facilmente
uma linha de entrada, certo? Isso funcionará bem. Execute o código. Você pode ver que está funcionando bem. E execute o código a partir daqui também, como essa coisa, porque
às vezes, quero dizer ,
usando o mouse, não
quero usar o atalho. Eu posso simplesmente executar o código, a
parte secundária do tambor do código. E você não precisa se preocupar com o idioma que está usando. Então, estou gostando muito dessa extensão,
altamente recomendada. Há mais uma maneira de
ver como seu código funciona, chamada de janela
interativa. Observe que temos uma janela
interativa no lado esquerdo
de quase todo o nosso curso. Aqui não o temos no
momento, quando
tentamos acessar, por exemplo o número de
amostra aqui,
observe que ele não existe porque
estamos no terminal. Terminal, eu
te lembro, é essa coisa. Nós apenas executamos o programa no
terminal e isso é tudo. É o script que foi
executado, está sendo causado. Para executar o programa
no modo interativo. Você precisará clicar aqui na janela interativa de execução
do arquivo atual em
Python. Você pode alterar os atalhos. Você pode definir o atalho
aqui, se quiser. Quando eu clico
nele, percebo que
precisamos instalar algo. Deus é Júpiter. Vamos instalá-lo. E isso leva tempo para insultar porque
existem muitas dependências, que significa que um pacote muito maníaco está conectado a essa coisa. Eu já os tinha instalados. É por isso que era
em vez de muito gordo. No entanto, lembre-se de
que isso levará algum tempo. Então não se preocupe. E
depois de instalado, você pode clicar novamente. E agora estamos no modo interativo do
Python. O que significa que, quando
entramos nisso, percebemos que agora temos informações sobre a
variável de idade que foi criada. Isso é muito legal, certo? Podemos ver cada um deles
e você também pode ver o valor que está dentro
deles no final. Então, na linha 40, certo? Além disso, podemos agora, por exemplo vamos ver, bem,
esse número de amostra. Observe que quando eu clico em
Enter, nada acontece. Por quê? Vamos começar. Eles nos disseram que
você pode digitar o código aqui e, se
quiser executá-lo, você precisa pressionar
Shift mais Enter. Então, número da amostra,
posso clicar em Tab. Não quero escrever isso. E depois Shift mais Enter. Como você pode ver, temos
um bom número quatro aqui, mas podemos alterar esse valor. Você pode alterá-lo para, por exemplo, 25 Shift mais Enter.
Vamos executá-lo. Como você pode ver, o valor
mudou aqui. Além disso, quando eu quero
ver qual é esse valor, posso fazer como se isso ocorresse. Também podemos usar a impressão para isso. Isso vai funcionar. A mesma impressão está sendo
invocada por padrão aqui. Se você quiser, se você enviou
o nome dos cartões de chegada. Uma coisa, há mais uma
coisa que é legal aqui. Você pode clicar aqui, mostrar variável no visualizador de dados. Como você pode ver, ele diz que pandas do pacote
Python são
necessários para a visualização dos dados. Se você quiser
instalar este pacote, você precisará digitar aqui
pip installed pandas. E agora podemos esperar um segundo. Como você pode ver, instalamos os pandas
com sucesso. E agora, quando executamos isso, temos um visualizador de dados
que nos permite ver o dicionário assim, certo? Estamos no modo mesa. Também podemos resolver as coisas aqui. Eu realmente gosto disso
se você quiser
analisar dados que
vieram do servidor, por exemplo, coisa
muito incrível. Quando fecho o modo
interativo do Python, percebo que nosso
número simples é igual a 25. E quando executarmos isso novamente, observe que o mesmo número de pesquisa
é igual a quatro estantes. É assim que
deve funcionar, certo? Quando fechamos nosso
programa, reiniciamos. Deadzone fez isso e muito
obrigado.
97. Tema de ícones: Olá, meus amigos. Hoje vamos falar sobre
a extensão que, na
minha humilde opinião, aumenta a legibilidade
do espaço de trabalho. No lado esquerdo aqui, essa coisa se chama Icon him. Então, isso muda a aparência
do ícone por padrão No Visual Studio Code, eu recomendo fortemente aquela equipe de ícones do
material
ou esta, ou esta que
vamos usar na equipe de ícones
do material do curso. Quando eu clico em Instalar, e eu disse aqui, a equipe do Material Icon. E provavelmente você pode
ter um pop-up aqui. Você também pode clicar aqui, ativar. Então, mudou. Como você pode ver, agora
é diferente. E eu acho que é melhor
porque quando temos uma pasta, podemos abri-la
quando temos um espaço de trabalho. Como você pode ver, o espaço de trabalho
tem um ícone diferente aqui e o
arquivo Python também tem um pouco mais visível, fácil de notar, mas ícone, esses ícones no lado
esquerdo que foram mostrados, obviamente,
não são todos eles. Há muitos,
muitos mais deles. E se você vai
usar idiomas diferentes, se você vai criar uma
pasta com itens específicos, então os ícones aparecerão aqui correspondendo às
coisas que estão dentro do arquivo ou da pasta. E isso é muito,
muito incrível. É mais fácil ler e projetar
em um espaço de trabalho como esse. No lado esquerdo, é fácil navegar usando
ícones como esses. Eu recomendo fortemente tentar
isso, isso ou isso. Quando clico em Instalar, percebo que posso
alterá-lo para, por exemplo, normal. Como você pode ver, isso também é incrível. E se você quiser
alterá-lo novamente, você pode ir aqui, definir arquivo, ícone, barra de equipe, e voltaremos a isso. Se você não quiser mantê-lo, você pode desativá-lo
ou simplesmente desinstalá-lo. Ok? Depende de você
o que você vai fazer. Vou usar na
futura equipe Material Icon. Só há a lição.
Muito obrigado.
98. Colorizer com suporte para pares - melhorando a legibilidade do seu código: Olá. Hoje vou mostrar uma
extensão que
melhorará a legibilidade
do seu código. Isso ajudará você a evitar
erros ao
criar colchetes. Percebe que quando eu
clico aqui os colchetes ou o
destaque, certo? Então eu posso perceber qual é
qual quando eu clico nele, quando, quando o, onde está o fechamento e onde
está o fechando? No entanto, ainda assim, quando
não clico
nele, preciso olhar aqui do que aqui para ter certeza de
que esse é o colchete de fechamento, abertura e fechamento. E, para ser honesto, quando
há mais e mais colchetes, isso está ficando um
pouco difícil de apoiar. Onde está a abertura, onde está o suporte de fechamento? Para que eu instale algo chamado
polarizador para colchetes. Como você pode ver, existe o Bracket
Perfect Polarizer 2.1 baixará a segunda versão porque é a mais nova, e eu a instalarei. Agora observe que nossos
colchetes são coloridos. Significa que agora eles têm chamadas correspondentes ao colchete de abertura
e fechamento. Como você pode ver, também é legal que agora, quando eu clico aqui, eu tenho essa coisa aqui
no lado esquerdo que me diz que um código inteiro aqui
está dentro desse colchete. Também é legal,
certo? Quando clico aqui, posso ver que esse
código está dentro dele. E o legal também é
o aviso quando eu clico aqui, ah, ok, então eu estou
escrevendo os créditos agora. Eu posso ver isso instantaneamente. Eu preciso pensar sobre
isso e dizer isso porque isso
me diz que está aqui. O que mais? Observe que quando eu clico aqui, eu tenho aqui um
sublinhado como este. Eu conheço esse incômodo, estou entre parênteses
agora, certo? Também é útil quando você tem muitos parênteses um
após o outro, eles serão coloridos e também, você sabe, em qual deles você
está escrevendo agora. Isso é muito incrível. Isso economiza muito tempo e permite
que você
cometa menos erros. Essa é apenas a lição. Muito obrigado.
99. Python Preview - assistindo a execução de código ao escrevê-lo: Olá, meus amigos. Hoje você vai
falar sobre extensão de pré-visualização do
Python
que permite que você veja o código enquanto o escreve. Observe que quando o
cara está escrevendo aqui, algo acontece aqui
onde vamos analisá-lo. Então, primeiro, instale-o
já está instalado aqui. É chamado de pré-visualização do Python. E quando você
entra em seu arquivo com o código e clica aqui
na pré-visualização aberta deste lado,
você terá a pré-visualização do Python no lado direito. Vamos fechar esses manuais. Vamos minimizar esses menus para que
tenhamos mais espaço para olhar. E vamos fazer algo
assim para que
possamos analisar dessa maneira fácil. Então, observe que no lado
esquerdo temos um código. No lado direito,
temos uma prévia desse código. O que isso significa? Bem, nós temos a última
etapa do nosso código. Agora mesmo. Podemos ver isso no quadro global,
o que significa que
no escopo
global temos a função
que é chamada de dividir. E também
temos a variável x, que já tem um valor 4.0, que é o resultado
dessa função. Se mudarmos algo
aqui, como por exemplo vamos mudar o X2, por exemplo, 20. Você notará que x é
igual a 20 agora
porque, como essa é a última etapa que aconteceu em nosso programa, isso aconteceu em 915. Observe que o que é legal sobre isso é que você pode voltar, como você pode ver, voltar
ao início do seu programa e
analisá-lo linha por linha. Como você pode ver a seta
vermelha aqui, ela informa sobre o que
será executado em breve. A próxima linha a ser
executada está no radar. Quando eu clico para frente, ele define a função
que é chamada de dividir. E como você pode ver
no quadro global, nesse escopo global,
temos uma função que
é chamada de dividir. E aqui ele mostra
exatamente quais são os parâmetros dessa
função, a e B aqui, certo? Ok. Agora temos também uma seta branca que indica a
linha que acabou de
ser executada, certo? Essa linha tinha acabado de
ser executada há cerca de 1 s, certo? A etapa anterior. E agora podemos ver que a próxima linha que será executada está aqui. Sabemos que a
primeira coisa que vai ser executada
é a função, certo? Porque o quê? Precisamos encontrar
um valor para a variável x. Então, vamos pular
daqui para cá, certo? Então, quando eu clicar para avançar, você notará que é verdade. Acabamos de pular aqui e pulamos lá
com os valores 25. Quando eu clico para frente, atribuímos a e 2-5. E então temos
uma condição em que
verificamos se é igual a zero. Então não é verdade, o que significa que
só vai ser rastreado. E vamos pular
para a próxima linha. Nós apenas retornamos, o que
deve retornar um valor. Mas antes que ele retorne alguma coisa, precisamos contar a dividido por b, que é quatro, certo? Então, quando eles puderam avançar,
notamos que é 4.0. Ele informa que o valor
escrito será retornado em breve e
será igual a 4,0. Quando eu clicar para avançar, você notará que
criamos
no escopo global aqui, 4.0 para o x. É assim
que funciona. Agora
temos um bom X no X 4.0. E então vamos verificar
na próxima etapa se x é verdadeiro porque estamos usando para obter a declaração
condicional, o valor que não é
igual a zero é verdadeiro. Então, é verdade e
vamos clicar em Avançar, o que nos diz que a próxima linha
imprimirá os números foram
divididos da maneira correta. O resultado é igual
a x, que é 4,0. E agora, quando clico
para frente, percebo que a coisa que
imprimimos está aqui. Então, isso é
incrível porque podemos analisar passo a passo o que
fizemos em nosso programa. Não é bom apenas
para depuração, mas também para detectar erros ao escrever seu código. Observe que quando você faz
coisas assim, tudo bem, vamos imprimir algo assim. E eu adiciono por engano ou algo
como, oh, eu adicionei aqui. E o código de Shannon, podemos ver, é que, oh, eu cometi um erro, ok, e diz que
isso aconteceu aqui, ok. Tudo funciona bem. E podemos ver instantaneamente
o resultado aqui. Portanto, para programas pequenos em que não
há muitos dados, isso é incrível. Observe que não podemos
usar a entrada aqui, certo? entrada do usuário não é suportada. É muito
importante notar isso. Portanto, é apenas para
programas em que você conhece os dados de antemão. Obviamente, você pode pegar os dados de cinco bancos de dados ou simplesmente
colocá-los manualmente aqui. Estou gostando muito
dessa visualização da janela porque, se eu não certeza de como o computador salta de uma
instrução para
outra, posso simplesmente executá-la. Eu posso ver instantaneamente
onde fiz uma flecha. Essa extensão
também é muito útil quando você tem loops aninhados, por exemplo, é
difícil analisar cada etapa, o que acontece com cada valor dentro de um loop aninhado. E então você pode
simplesmente clicar, Ok, então isso acontece, isso acontece. Ok? Então isso, isso, isso, isso, e você está analisando
passo a passo. se você for um
computador, para ser sincero, mesmo sem a janela de visualização, você deve analisar seu código da mesma forma que faz com a janela de
visualização aqui, certo? Porque é assim que um
computador funciona, como se ele apenas analisasse tudo
passo a passo. Ele não consegue interpretar
nada sozinho. Ele pode dizer que, Oh, você sabe, eu não vou executar
esta linha só porque eu não gosto de você, certo? Ele executará tudo
conforme foi instruído a fazer. Então. Isso ajuda
você a ver como o computador pensa e melhorará
sua distorção de programação. Isso está tudo na
aula. Obrigada.
100. Python Quick Print: Olá pessoal. Muitas vezes, quando calculamos o resultado de, por exemplo , uma
divisão, queremos
imprimi-lo no terminal. No entanto, para fazer isso, precisamos digitar print. Em seguida, precisamos digitar
o nome da matriz, mas queremos imprimir. Então, seria uma boa ideia
também fazer algo assim. Porque se tivéssemos mais
desses, por exemplo ,
assim, seria mais fácil,
para nós sabermos qual
é o valor que escreveríamos ao passar o mouse, não
seria mais fácil se eu pudesse fazer algo assim? É melhor fazer isso, acabei de usar um atalho. Mas esse atalho
só está disponível se você baixar a extensão de
marca rápida do Python. Você pode alterar esse atalho como pode ver.
Para fazer isso, você precisa encontrar a seleção de impressão de
python nos atalhos do
teclado. Aqui você pode alterar
a flexão da chave. Coisa útil. Eu recomendo fortemente
essa extensão. Essa é apenas a lição.
Muito obrigado.
101. Verificador de ortografia com código: Olá. Hoje vou mostrar extensão que permitirá que você verifique
se seu código
está escrito corretamente. É chamado de verificador ortográfico de frio. E também funciona em muitas outras linguagens de
programação. Então, é muito legal. Você pode baixar muitos
dicionários, como, por exemplo, para amigos, Alemanha e assim por diante. No entanto, o mais importante
é para o inglês. E, realmente, para ser honesto, você deve sempre escrever
seu código em inglês. Porque se você quiser fazer, por exemplo uma pergunta no
Stack overflow.com, então você precisa alterar todos os nomes das variáveis,
funções, etc. Esse é um dos motivos. O segundo motivo é que
outras pessoas que entendem seu código e você também se
acostumam com o inglês. Talvez não seja um problema para você porque, digamos, seu idioma principal, mas para outros que vêm do
outro lado do meu, da Polônia, é muito
importante saber isso. Observe que o verificador
ortográfico frio está informando onde nossas palavras
desconhecidas são usadas. Quando clico aqui, vou
imediatamente para
a palavra que não está preparada para
realmente usar, como, por exemplo divisões, c deveria
ser dividir, certo? Então, quando clico nele, posso alterá-lo aqui e
depois aqui e depois aqui. Ou eu posso usar um atalho F2. E agora eu posso simplesmente
digitá-lo aqui e alterá-lo em todos os
lugares onde o branco, não escrito corretamente,
estava em nosso código. Muito incrível, certo? Esse atalho é bom porque
eu posso mudar qualquer lugar. Não é adequado para um nome
próprio para cada variável. Observe que o
verificador ortográfico frio também verifica seus comentários. Como você pode ver aqui,
digitei o link errado para. Então, vamos fazer
assim, assim. E o legal é
que ele consegue interpretar aquela variável que
tem mais de uma palavra
dentro dela, certo? E observe, observe que a segunda parte foi escrita
incorretamente, certo? Então, podemos simplesmente mudar
o segundo padrão. Isso não nos mostra
esse aviso aqui. Todos deveriam ter
essa extensão instalada, não apenas pessoas
de países estrangeiros. Além disso, se seu
idioma nativo for o inglês, instale-o porque isso
é algo que nós, como as pessoas fazem com frequência,
cometemos erros. E se você digitar sua
lente assim, isso parece
pouco profissional, certo? Basta instalá-lo e pronto, corrija alguns problemas
com sua ortografia. Essa é apenas uma boa lição.
Muito obrigado.
102. Auto Save - certificando-se de que seu arquivo é salvo após cada mudança: Olá, meu amigo. Hoje vou mostrar
como
salvar automaticamente as alterações que
você faz em seu arquivo. Por que devemos fazer isso? Bem, observe que quando
imprimimos algo novo como, por exemplo, esses números inteiros. Agora, quando
tentei executar o código, essa alteração não é
apresentada aqui, certo? Imprimimos algo,
mas não está visível aqui. Por quê? Porque não
salvamos o arquivo. Como você pode ver, há um indicador aqui,
esse ponto aqui. E aqui, está sendo dito
que é um arquivo não salvo. Precisamos salvá-lo usando o
atalho Control plus S, por exemplo ,
e quando você executa o código, podemos ver a diferença. Eu acho que algo assim não
deveria estar em nossos ombros. Devemos fazer
isso automaticamente. Bem, isso deve ser
feito automaticamente. Ótimo. Salvamento automático. E agora, quando eu faço
uma alteração, por exemplo eu excluo isso e
executo o código. Não vemos mais isso. Quando eu volto com a
impressão e executo o código, ocorre essa mudança novamente
quando eu adiciono algo aqui. Como você pode ver, agora
não precisamos nos preocupar salvar nosso phi após cada alteração durante
a aula. Obrigada.
103. Snippets e palavras-chave passe: Olá. Hoje eu vou
te dizer o que são trechos de como usá-los. trechos são apenas
modelos mostrados para escrever um código. Eles estão se certificando de
que você não precise escrever um código que geralmente
pareça muito semelhante. Talvez expliquemos, por exemplo, que fizemos os estados de
jejum pensarem. Observe que temos aqui
uma lista de números. Então, eu quero imprimir
todos os números dele. Provavelmente devemos usar
loop for, certo para isso. Então, normalmente
faríamos algo assim para cada item dentro da
lista de números e seguida, algo
assim, imprimiríamos o item. Agora vamos usar o snippet. Eu digito f 0, r. E aqui os trechos
são visíveis aqui. Isso, isso, isso,
esse ícone diz que
isso é um trecho. E quando eu clico nele
ou quando eu uso a tecla de seta. E aqui, como você pode ver, você pode obter mais informações
sobre cada trecho. Diz como é
direcioná-los em um caminho
inexpressivo. Quando eu critico demais, uau,
algo aconteceu. Eu tenho aqui um lugar reservado. Então, eles estão guardando lugar para suas variáveis,
para seus objetos. Então, por exemplo, para cada item. E agora eu não preciso
usar meu mouse. Eu posso simplesmente usar o top. Bem, acabei de pular aqui, certo? E agora eu posso digitar algo
como uma lista de números. E quando clico ou toco, estou aqui e posso
mudar o caminho. palavra-chave discutirá a palavra-chave
aprovada. É apenas um espaço reservado
para seu código. Olha, quando executo o código agora, não
temos um erro. Acabamos de informar que
mais tarde passaremos o conteúdo do loop for
para o intérprete, certo? Isso é muito legal se
você não sabe como
escrever o código no momento, você pode simplesmente
escrevê-lo tarde, certo? Isso é usado para
casos como esse. Bem, agora podemos simplesmente imprimir o
item e executar o código. Como você pode ver, funciona bem. Então isso é bem
rápido, não é? Observe que agora podemos simplesmente
fazer algo assim. Por enquanto. Cada item na lista, lista de números, item impresso, acho que é mais rápido,
não acha? Então? Esse é um dos trechos. Há muitos, muitos, muitos mais. Você pode encontrá-los apenas
olhando isso aqui, à direita, e adicionando essas dicas a
este menu, menu suspenso. Aqui, como você pode ver
aqui, está o fundo do mar para surdos. Quando eu for aqui, você notará que isso o
ajudará a criar funções. Agora, quando clico no topo, percebo que posso simplesmente especificar
o nome da nossa função. Então, por exemplo, amostra. E então o
parâmetro é ,
por exemplo, a, B, C. E então eu posso passar o que essa função faz ou posso simplesmente
deixá-la assim, certo? Aqui temos algumas boas,
é claro, algumas flechas. Esses não são erros ou avisos do floco que nos
diz que devemos, você sabe, tornar nosso código
um pouco mais bonito. Porque, caso
contrário, não é legível. Há muitos outros trechos
quando eu uso o Control plus space e desço aqui. Como você pode ver aqui, nossa psique parece uma chamada
síncrona para as aulas. Falaremos sobre isso mais tarde. Caso contrário, isso é muito
útil, caso contrário,
tente, exceto que y com onda é
legal porque agora você pode abrir o arquivo apenas usando essa expressão onda de luz
regulatória. Basta digitar o nome do fogo e onde eu o salvo e depois
faço algo com o Wi-Fi. Você também pode baixar
mais trechos. Você pode simplesmente instalá-lo. Estes trechos holandeses em Python. E agora temos
muitos trechos morais. Você pode
algo como LC, que é para compreensão racial. E agora temos um bom trecho
para essa compreensão. Isso é muito legal. Você pode ver que tipo de
trechos você tem aqui para poder ler
sobre eles rapidamente. Eu recomendo fortemente usá-los. Isso é tudo que ele escutou. Muito obrigado. Se você quiser encontrar
mais trechos, você pode fazer isso usando o
atalho Control Shift plus P. E quando eu digito seu trecho aqui, podemos
clicar em Inserir trecho. E como você pode ver aqui, todos os trechos instalados no
momento, por exemplo, com, como você pode ver, expressão
we've é
usada para abrir arquivos. Isso também é muito útil, é
claro que você
também pode fazer assim. Mas para descobrir quais tipos de trechos
você instalou, basta acessar aqui e
aqui você pode encontrá-los. Você também pode baixar
mais deles, como, por exemplo essa coisa toda, o
Python faz trechos, e há alguns
trechos úteis aqui, como, por exemplo vou vê-lo para entender a
lista. Isso é muito útil
porque agora você pode tornar suas compreensões
um pouco mais rápidas. Observe que quando eu uso, por exemplo o F e o novo
trecho que eu quero usar está na próxima posição
, preciso usar minha seta aqui. Isso só está demorando. E para
acelerar esse processo, precisamos acessar as configurações. Então, entraremos em
Controle de configurações mais vírgula. E vamos procurar trechos. Aqui, podemos fazer coisas como sugestões de
trechos
e alterá-las para o topo. E agora, quando eu faço
algo como Surdo, observe que isso
está na parte inferior. Não é útil, certo? Porque isso está apenas ajudando, você sabe, não estamos
escrevendo tudo, certo? Quando eu clico nele,
descobri que existe essa estupidez de que não
seria justo. Aqui. Estamos apenas nos certificando de que não percamos
nosso tempo FOR loop. Para loop. Acho que é mais rápido agora antes de irmos para a
mesma coisa que r, então isso simplesmente não foi bom. Eu realmente amei
esse cenário aqui. É muito útil.
104. Formatação de código automática: Olá. Hoje vou
mostrar como configurar um formatador. Então, algo em dois
que formatará fará com que seu código pareça
melhor automaticamente. Imagine uma situação como essa. Estamos usando trechos e
eu faço algo assim. Então eu faço uma flecha, certo? Eu deveria adicionar enter aqui. Eu também deveria adicionar
espaço aqui e aqui. Mas às vezes pegamos e às vezes você faz
flechas assim. E por que você deveria
fazer isso manualmente? Isso deve ser
feito automaticamente. E é por isso que é uma boa
ideia usar formatadores. Control Shift plus P. Vou usar algo parecido com
esse documento de formato. E quando eu clico nele, me perguntam: eu quero
instalar o PEP oito automático? Sim, clicamos nele. Você pode usar preto
ou essa coisa aqui. No entanto, esse é o
que eu recomendo. Então, quando eu clico em Sim, o Alto PEP oito
foi instalado. E agora, quando eu faço o mesmo, percebo que nosso código foi formatado, formatado
automaticamente. Então, qual é a diferença que
temos aqui? Entre, à direita, e vamos
espaçar o tópico do leitor. E também aqui entre. Isso é ótimo, certo? Nós apenas usamos o documento no formato Control Shift plus b e
nosso código é formatado. No entanto, acho que
ainda está um pouco lento. Eu gostaria de garantir
que o controle Z
tenha uma boa aparência
depois de salvar nossos cinco. Então, toda vez que você salva o arquivo, nosso código é formatado
automaticamente, controle e vírgula. E vamos para o Format safe. E observe que aqui, quando
verificarmos
isso, ele formatará um formato phi inseguro
e deverá estar disponível. Então, acabamos de
instalá-lo para que esteja disponível. E agora, quando
clico em Control plus S, está sendo salvo automaticamente
após cada cofre, certo? Vamos voltar à
aparência. Observe que
temos seu salvamento automático, mas isso não ajuda. Mesmo se você mudar
alguma coisa aqui. Nosso phi foi dito, mas não foi salvo manualmente. Teríamos que salvá-lo manualmente
usando o continente mais S porque, caso contrário, o formatador causaria problemas, certo? Porque se você está
escrevendo algo, formatando o formato, eu não saberia apenas quando
deveria aplicar suas funções. Quando você parou
para conspirar? Isso interromperia
a maneira como você codifica. Portanto, é melhor agora quando você usa o que vem de mais
S e funciona bem.
105. Modo de depuração - como depurar seu código profissionalmente?: Olá. Hoje eu vou
te mostrar como depurar seu código. Mas primeiro, vamos nos
concentrar na palavra depurar. O que isso significa? Voltar é apenas algo que você quer matar
na 12ª imunidade, nós não queremos comprar. Então você quer cruzá-los. E aqui você tem uma sacola
nesse ícone que você
quer cruzar, você quer eliminar. Esse é um modo de depuração em Python, que ajuda você a encontrar
embarques em seu programa. No lado esquerdo, apareceram
variáveis, assista chamadas, empilhe algumas guias que ajudarão você a depurar
seu programa. Então, vamos voltar a isso. Como você pode ver aqui,
temos um programa que você escreveu há muito tempo, esse código. Vamos nos lembrar do
que isso fez. Atribuiu à arma a
chance de acertar Porcentagem. E dependendo disso, criamos uma lista de alvos e enviamos essa chance
para a arma atingida pela roda
e, dependendo
das circunstâncias, voltamos a acertar ou não acertar. Certo. E depois
contamos quantos dos resultados foram calor ou quantos não
foram atingidos, certo? Acabei de te lembrar de
como esse programa funciona. E poderíamos analisar
esse código
linha por linha para
ver como ele funciona. Mas também podemos usar o modo de depuração. Vamos usar o modo de depuração em vez de executar exatamente como
funciona desta forma. Vamos clicar aqui. Você pode ver que funciona da mesma forma e está se perguntando
por que o modo de depuração exige de você um local em ponto em que ele deve
interromper seu programa, você deve interromper a execução do
programa. Portanto, para fazer um
ponto de interrupção, como você pode ver, você precisa tossir ou passar o mouse
aqui e, por exemplo, clicar aqui. Isso significa que não podemos
parar o programa aqui. Bem, vamos fazer isso. Por exemplo, aqui
, será mais fácil jogar. E agora coisas novas
aconteceram, certo? Não temos um resultado, simplesmente
paramos de
executar linhas aqui. Por isso, importamos o contador
de cores das coleções
e que está aqui. Agora, como você pode ver, variável
local, importamos o módulo aleatório
que está aqui agora. Também atribuímos a x zero e, em seguida, atribuímos a
chance da arma de atingir a porcentagem para 50. Não, nós não fizemos isso. Paramos antes de fazer isso. Ok, então o ponto de interrupção,
se clicarmos aqui, significa que estamos quebrando
antes dessa hora. Aqui também estão algumas variáveis globais de
construção que você pode acessar, mas não vamos nos concentrar
nelas nesta palestra. Então essa é a parte
que criamos. E definimos o ponto de interrupção aqui. E por causa disso, poderíamos parar nosso programa aqui. Mas como ir mais longe? Você pode estar se perguntando,
vamos clicar em Continuar. Isso. Você pode ver que nosso programa
acabou de parar de funcionar. Então, por que nosso programa
parou de funcionar? Porque continuar significa continuar até o
próximo ponto de interrupção. Então, se eu fizer, por exemplo, as
próximas pausas, entre aqui. E, como você pode ver, você pode liberar títulos enquanto
estiver no modo de depuração. Enquanto você está depurando, certo? Agora eu continuo, vou
pular para o próximo ponto de interrupção. Isso nem sempre é
o que você quer. Quando você quiser
remover pontos de interrupção, basta clicar no
ponto de interrupção, certo? Eu quero seguir em frente. E para seguir em frente, vamos dar passos,
passos acima de cada linha. E quando eu faço
algo assim,
também, eu apenas executo essa linha. Como você pode ver, a tendência de
acertar a porcentagem de armas é igual a 50. Agora, passamos para a declaração
da cabeça da arma de roda. Quando eu clico em Step Over, acabamos de declarar, declarar
com uma função de golpe de arma. E agora estamos na
lista de alvos e depois podemos
pisar repetidamente.
E mais uma vez. Você provavelmente pode notar que
quando estamos na linha 22, estamos invocando, seremos
atingidos com uma arma com um argumento como este. Mas, de alguma forma, não
pulamos para a linha 11. Nós podemos pular. Há duas maneiras. Podemos adicionar um ponto de interrupção interno e, quando passarmos
por cima, como você pode ver, vamos pular daqui para o próximo ponto de interrupção
porque essa foi próxima coisa que aconteceu aqui
dentro, da cabeça da arma de roda, que invocamos aqui, certo? Mas também podemos fazer
algo diferente. Podemos clicar em Entrar se tivermos uma
função como essa e quisermos entrar nela para ver o que acontece
dentro dela. Clicamos, entramos e
depois entramos. Observe também que, quando
entramos na função, nossas variáveis locais mudaram. Isso é verdade porque
as variáveis locais são as que existem nesse espaço, aqui mesmo. Aqui temos um
poço diferente aqui e aqui. E também aqui temos
variáveis globais que estão disponíveis
em todo o módulo. Você pode facilmente voltar
às variáveis
que estamos vendo aqui antes. Quando você clica em Módulos aqui na pilha de chamadas,
o que é chamado de pilha. É a ordem na qual
as funções foram invocadas. O módulo é apenas o primeiro passo. É como se
todo o seu módulo estivesse aqui e depois invocamos, vamos esconder uma arma
quando pularmos aqui. Nós estamos aqui. Se quisermos adicionar
uma função uniforme invocada, que é invocada aqui, mas não foi criada por nós. Teríamos o uniforme acima para aquecer a arma
porque é forte, certo? É uma função em outra
pilha, como pilha de chamadas. Você é uma ordem de funções na qual elas
foram chamadas de invocadas. É por isso que é
chamado de colado a frio. E você pode pular
entre isso para ver na ordem e também qual é
o estado atual, por exemplo,
da lista de alvos? Como você pode ver,
já batemos duas vezes. Uma vez erramos e outra não. Isso é, isso é legal, certo? E você provavelmente está se perguntando eu
preciso pular
assim para
ver como lista de alvos,
o que está dentro da lista de
alvos, você pode simplesmente assisti-la usando a expressão lista de sucessos de calor
quando eu adiciono lista de alvos aqui, agora posso dizer que é
igual a não acertar, acertar. Quando abro expandido, posso ver exatamente
os valores no primeiro segundo índice que
caem para Headless. Incrível, certo? Assim, podemos assistir as coisas a qualquer momento, onde quer que estejamos, certo? Essa não é a única maneira de adicionar expressões quando as removemos
, removemos a expressão. Observe que podemos clicar nele, clicar com o botão direito do mouse aqui e
clicar em Debug App para assistir Enter. E como você pode ver,
podemos assistir assim. Portanto, para remover,
remover a expressão, você também pode adicioná-la do código. Agora observe que quando você está
executando o código, hum, podemos executar cada linha usando
o passo a passo sobre x. Executar cada linha após
a etapa do ponto de interrupção permite que você entre
na função assim. E bem, vamos tentar usar um
uniforme para mostrar melhor
a pilha de chamadas. Mas, para fazer isso,
precisamos mudar alguma coisa. Observe que quando entramos no modo de console de
depuração aqui, e eu clico em Step Into, ele diz que os frames evitam a
depuração durante a etapa de introdução, node pode ter
falhado devido apenas à minha opção de código. Também há uma opção e
quando eu entro no lamda Js, porque é a
configuração para depuração. E eu mudo o padrão, apenas meu código para false,
que, como o nome sugere, o depurador de que você
deve depurar somente meu código. No momento, nós o definimos como falso, então ele vai
depurar tudo. E agora, o que acontece quando
paramos nosso programa e o executamos novamente. Então, comece a depurar. E eu faço algo assim. Mas vamos entrar, então entre. E agora eu
coloquei um uniforme aleatório, como você pode ver, o uniforme está
acima com uma arma atingida. Então, agora podemos voltar para isso, isso, isso, isso. Como você pode ver, há muitas
outras coisas que acontecem em segundo plano quando você
está executando seus programas
no código do Visual Studio. Então, eles usam o
vovô para obter uma carúncula modular. Depois, há seu
módulo e depois usamos arma e depois o uniforme que
invocamos, certo? Então, eu acho isso
muito incrível. Isso lhe dá a
possibilidade até mesmo de
ver como funcionam funções
como uniformes. Você pode ver que
funciona assim. Muito incrível. Eu realmente adoro, gosto
do modo de depuração. No entanto, por padrão, acho que devemos
remover apenas meu código. Há mais algumas
coisas que você precisa saber sobre pontos de interrupção. Você pode editá-los. Então, quando adiciono um ponto de interrupção aqui, posso clicar com o botão direito do mouse nele e clicar em editar títulos de quebra. E aqui podemos escolher entre
as opções manuais gratuitas. Vamos começar com
a mensagem de registro. Como você pode ver,
diz mensagem para registrar, um ponto de interrupção é atingido. E isso é bem interessante. Você pode, em vez de
fazer coisas assim, em vez de imprimir a
chance de acessar o translocon, que é visível para todos, você pode registrar mensagens
só para si mesmo para ver o que era igual a chance de
acertar, certo? Então, podemos dizer chance de acertar. Quem é igual a. E se eu quiser
acessar a variável, preciso usar
colchetes e nome da variável que quero
acessar e, em seguida, pressiono enter. E isso é bem interessante. Agora posso até mesmo remover o ponto de
interrupção porque
não precisamos interromper nosso
programa para executá-lo. Em depuração, é claro. Bem, o problema é que eu
fiz a mensagem de registro aqui, o que eu deveria fazer aqui. Ok, então vamos editá-lo. Vamos copiar da mensagem de registro. Remover. Eu fiz isso, cometi esse erro porque agora você sabe por que seu código não está
funcionando ou seu ponto de interrupção. A chance de acertar não está
definida nesta linha. É definido nesta linha
depois que essa linha é executada. Então é por isso que você
precisa fazer isso dessa maneira. Agora, no modo de depuração, a
chance de acertar é igual
à da próxima rodada. Como você pode ver, eles
eram diferentes. Isso é incrível. Você pode registrar mensagens dessa forma. Vamos tentar outras opções. Digamos que quebre o lago, adicione o ponto de interrupção e vamos usar o calor para quebrar uma condição de
contagem de acertos seja atendida. Então, quando você digita aqui gratuitamente, isso significa que se essa parte do
código for tempo de execução, eu vou parar por aqui. Então, quando iniciamos nossa
depuração, percebemos que nossa lista de agora
tem dois
elementos válidos, certo? Quando estamos prestes a adicionar um elemento do
gráfico com break-it, dividimos nossos pontos aqui. Bem, paramos nosso programa porque definimos o ponto de
interrupção aqui. E quando eu clico em continuar, como você pode ver, o terceiro
elemento é adicionado, certo? Porque acabamos de executar o código após o ponto de interrupção. Então, se mudarmos para, por exemplo ,
quatro, começaremos com
itens gratuitos, certo? É muito útil quando
você deseja verificar o que acontece depois que o loop
é executado quatro vezes. Talvez haja algo que
eu precise investigar, certo? Isso é muito legal. O que mais temos aqui? Você considerou
algo como expressão. Então, digamos que, por exemplo, se a porcentagem de
acerto da arma for igual a, digamos ,
50 por cento, então vamos interromper
nosso programa para que possamos
ver o que acontece. Como você pode ver, é
verdade porque a
porcentagem de arma a ser atingida está definida como 50. No entanto, bem, vamos fazer
algo assim. Insira e depois vamos
pedir armas, porcentagem de
armas e
jazz. Vamos perguntar por isso. Mas precisamos nos lembrar disso. Precisamos lançá-lo. Agora. Como você pode ver, estamos
sendo questionados e,
quando configuramos para cair para um pouco mais, eu disse que é um pouco mais, mas nosso programa
parou ou não. Três vezes. Parou porque, como
você pode ver a expressão, e isso é bom porque
temos calor e podemos
ver o conjunto, certo? Portanto, pressione a contagem enquanto executamos essa parte do
código três vezes, mas vamos removê-la. Agora temos apenas
essa expressão. Agora, quando executamos nosso
programa e empatamos 40, como você pode ver, não
quebramos nosso programa. No entanto, digitamos 50, que era a condição de
expressão. Como você pode ver, nós
trouxemos, paramos nosso programa.
Nós podemos nos afastar. Desde esse momento. Se você não quiser
remover pontos de interrupção, basta desativá-los para o arredondado que
deseja executar em breve, basta clicar aqui. E o ponto de interrupção
ou registro de expressão desativado. Vai ser
desativado por um. Para esses arredondados, você
deseja desativá-lo. Você
também chegou aqui. Seinfeld é chamado de meias exceções ONC. Observe que quando não usamos conversão de
números inteiros aqui e quando executamos nosso programa
e morremos, por exemplo, 40, chegamos aqui com
exceção de bezerro, porque o quê? O operador não é suportado
entre STR e float, podemos comparar
caracteres com float. Isso o removerá.
O que vai acontecer? Nosso programa parou aqui e não
sabemos
exatamente onde está. Precisamos examinar as linhas. E isso não é tão bom quanto quando começamos a
fazer isso com essa coisa. Eu acho isso muito legal. E você também pode rasgar essa exceção
que terminaremos aqui. Fizemos uma flecha.
Muito incrível, certo? É assim que você usa o modo
de depuração para
encontrar uma sacola e matá-la. É só a lição. Obrigada.
106. Ligatures - fonte personalizada criada especialmente para programadores - Código Fira: Olá. Hoje vou te mostrar
como personalizar seu telefone. Eu vou te mostrar como
baixar uma fonte que foi criada, especialmente
para programadores. Portanto, não encerre esta aula porque é
muito importante
usar uma fonte que o
ajudará a escrever seu código. Isso o ajudará a
cometer menos erros. Observe que, ao
ler esse nome aqui, provavelmente não tem certeza agora,
qual é o primeiro caractere, o que é o segundo e o que
é o terceiro caractere? Quando você está vendo isso, você provavelmente está
se perguntando se o primeiro é, eu posso ser L, talvez um quando eu removo
este do final, essa coisa como o
segundo personagem parece realmente um, certo? Quando eu adiciono um ao lado, ok, talvez você possa ver
a diferença, mas é difícil de identificar, certo? Os telefones que foram criados, especialmente para programadores
como o Fire Code e o
Cascadia Code, que serão baixados em breve, removerão esse problema. Vou te mostrar em breve.
A segunda coisa interessante sobre as fontes
sobre as quais
falaremos em breve são as ligaduras. Ligadura Will. Sim. Você provavelmente nunca
ouviu falar dessa palavra antes. Bem, eu não
tinha antes de começar a usá-los. Ligadura. É um
único personagem que conectou muitos personagens
mais de um em um. Bem, observe que
temos aqui, por exemplo, menor que e depois sinal de igual. E, para ser sincero, nas aulas de matemática, você
não escreve assim. Você também não escreve dois
caracteres assim. Se você quiser
verificar se algo não
é igual a
algo ou apenas escrever um
sinal de igual e simplesmente
fazer uma barra no sinal de
igual, certo? Vamos aqui para ver o que
eu faço. O que eu quero dizer? Por exemplo, aqui, observe
que é assim que
você escreve normalmente os
caracteres de comparação, certo? E há muitas outras coisas que são alteradas
usando o código de incêndio. Vamos fazer o download. Então, vamos
baixar o Cascadia Code. Então, vamos clicar aqui Donald zip
e, em seguida, aqui, Baixar Zip. E então, quando abrimos o arquivo, agora que obtivemos o
Fire Code master, Cascadia Code master, podemos
extrair, extrair o ICT. Clique em Extrair,
extraia o código de incêndio
e, em seguida, vá para o
Cascadia Code mastery, você precisa instalar o arquivo de fonte
true type. Então você clica nessa coisa aqui, clique com o botão direito nela e
clique em Instalar. Eu já o instalei. Então ele me perguntou: Você quer substituí-lo? Você simplesmente não pode
instalá-lo automaticamente
depois de clicar nele. E a coisa é demitir
nossa vaca, depois ir para o arquivo de distribuição
e depois para F. E aqui você precisa selecionar todas elas , depois Instalar
e clicar em Sim. Ok. Eu já instalei
e, portanto, não
preciso mais fazer isso. Então, como usá-los dentro do
Visual Studio Code, há duas maneiras de
fazer isso. A primeira maneira é acessar Configurações. E aqui, quando eu digito fonte, percebo que
há algo como editor, essa família de fontes. E, por padrão, estamos usando o console como
renovação da Coreia e monoespacial. Por que são fontes gratuitas. P, porque, bem, se o seu computador não tiver o
Counselors Insight instalado
, este o
usará. Se não, então este, tudo bem. Vamos especificar que
queremos usar o código phi R. O que vai acontecer? Observe que
mudou um pouco, certo? Agora é diferente. Mas quando entramos aqui, percebemos que agora podemos ver
instantaneamente que esse é um grande I, L, certo? Podemos distinguir que cada
personagem é fácil de ler. E quanto às ligaduras? Por que essas coisas
ainda parecem iguais. ligaduras não estão
ativadas por padrão, você
precisa fazer isso. Vamos fazer algo
assim. Ligaduras. Como você pode ver, podemos ver que há ligaduras de
formulários do editor, que por padrão são
definidas como falsas, e as alteramos para verdadeiras. Agora, todos esses
personagens mudaram. Então, quando eu começo a escrever sons como o ponto de exclamação
e depois o sinal de igual, ele se transforma em
um único caractere chamamos de ligadura, certo? E seu código
ficará um pouco melhor agora, você pode verificar se a não é
igual a cinco. Ah, tudo bem. Então eu vou fazer outra coisa. E eu acho que é um pouco mais fácil de ler
quando você faz isso dessa maneira. Ok. Então, essas são ligaduras. Você pode girar o botão
se não gostar deles. Também baixamos o Cascadia Code. Vamos ver como
ficou quando
abriu o Cascadia Code aqui
em nossa família de fontes. Observe que isso mudou um pouco. Além disso. Também é muito
fácil de ler aqui. Eu sou um. Para ser sincero, eu
gosto do Cascadia Code, mas ele não suporta caracteres que não sejam
ingleses, nem todos. Sou da Polônia e é
por isso que uso o código de incêndio, pelo
menos por enquanto,
talvez no futuro eles sejam muito longe uma arma de fogo. Outros personagens de
outros idiomas, por enquanto, pelo
menos, eu uso código de incêndio, você pode usar o que quiser. E eu estou usando a versão
média, então é um pouco mais ousada. Eu gosto quando ele é um pouco
mais ousado, diga isso. Bem, quando você está definindo a
fonte para esse tema a partir de ambientes
rurais que Jason, você precisa fazer isso para
cada espaço de trabalho, certo? Mas vamos fazer isso um pouco melhor fazendo
algo assim. Vamos remover isso e
entrar em Configurações. Regra para fazer isso, você usa
a vírgula Control mais e depois digita
sua fonte, certo? E aqui você pode simplesmente colar a mídia Fire
Code assim. Bem, se você tiver o Fire Code, o
meio será usado como a primeira fonte do que nos
consola do que o
Courier New monospace. Você também pode ativar as ligaduras de
fonte aqui. Clicando sobre isso. E
agora, como você pode ver , está funcionando da
mesma forma que nós, usei as configurações aqui. Acho que é uma boa
ideia fazer isso aqui. Então você não precisa,
então você não tem
muitas coisas dentro de suas configurações do que Jason. Então, isso é o
que vamos usar desde esta última palestra, eu realmente recomendo usar código de
incêndio ou Código Cascadia. Use o que
você prefere mais. Projete a aula.
Muito obrigado.
107. O que é a programação orientada a objetos?: Olá pessoal. Hoje você descobrirá o que é programação orientada a
objetos. programação orientada a objetos
é um método de programação. Então, é uma forma, uma maneira de
abordar um problema, como encontrar uma solução
para esse problema e como você codifica, certo? O que fizemos até agora também
foi programar. É só que programamos de uma
forma diferente. Não criamos um código
orientado em torno de objetos. Essa não era nossa
maneira de programar. Nós programamos com base no diretor. Há um problema,
encontre uma solução rápida codificada criando pedidos
para o computador, e isso é tudo que resolvemos
o problema, certo? Não há nada de errado com o tipo de programação que
usamos até agora em projetos simples. A programação orientada a objetos é um método de programação, uma forma de programação
a ser usada quando os
programas são mais longos e
mais complicados. Então, isso é algo que
aprenderemos no futuro e que será usado para projetos mais
complicados. Essa é a forma que deve
ser usada em quais casos? Em resumo, entre outras coisas. Assim, quando vários programadores escrevem um código ao mesmo tempo, eles não precisam se
incomodar. Eles podem simplesmente programar, eles fazem parte do programa
sozinhos. É mais fácil programar usando programação orientada a
objetos quando
você deseja manter projetos
maiores. Então, eles têm muitos códigos. E quando você quer estender
seu código com novas partes, também
é mais fácil usar
esse tipo de programa. E é assim que você consegue isso usando programação
orientada a objetos, adquirindo conhecimento
sobre esse tipo de programa. Em breve aprenderei sobre isso. E, como o nome sugere, como acabei de
fazer algo assim, ele é orientado em torno de objetos. Escrever o nome implica que
ele é orientado sobre isso. E falaremos
sobre isso nas próximas palestras. Nas próximas aulas, vamos complicar nossas vidas alterando
o código existente, que precisou de apenas algumas linhas
para codificar. Agora, estamos usando esse tipo de programação em dezenas de linhas. Você pode estar se perguntando
por que fazer isso, por que tornar seu código mais longo? Como eu disse anteriormente, faremos isso para
facilitar a programação em uma equipe de programadores para fazer um progresso
maior, mais fácil de compreender. Acho que, graças ao
fato de você saber agora qual é o caso da
programação orientada a objetos, será mais fácil para você entender o que
acontecerá nas próximas palestras. A propósito,
já
usamos frequentemente o código que foi escrito usando programação
orientada a objetos. Você pode estar se perguntando
quando, quando usamos, por exemplo, APIs. As APIs são criadas com a ajuda da programação
orientada a objetos. Além disso, geralmente usamos
objetos sem saber exatamente o que são, porque cada variável é um
objeto em Python. Observe isso quando criamos
uma variável como essa e depois fazemos
algo assim. E quando executamos nosso código, aqui, temos uma classe mundial. A classe é um formulário que
permite criar objetos. E nessa situação, tipo de classe de dívida é
n. Então, para ser honesto, esse é um objeto que foi criado usando
algo chamado classe Discord. Entraremos em detalhes, discutiremos quais são esses
objetos no futuro. Eu só queria informar
que nós realmente os usamos. Mas não sabíamos exatamente
o que são e como
criar objetos ou classes
que são feitos por nós. Até agora, usamos apenas
as possibilidades
desse estilo de programação,
do estilo de
programação orientada a objetos. Agora é hora de
aprender a criar seu próprio código usando programação
orientada a objetos. Isso está tudo nessa lição. Muito obrigado.
108. O que são objetos e aulas? Como criar um objeto e um curso simples ?: Olá. Hoje você aprenderá
o que são classes e objetos. Você também criará sua
primeira aula simplificada. Observe que na programação
orientada a objetos, nesse tipo de
forma de programação que faremos no futuro, você pode encontrar objetos
dentro desse nome, que significa que podemos supor
que o objeto principal é termo
importante que é
crucial para entender se você quiser entender o que
será aprendido neste tópico. Então, o que é objeto? Qualquer coisa pode ser um objeto. Ok, agora tenho muitos
objetos na
minha frente e monitoro
alto-falantes, um teclado e uma bagunça enorme, que também tem
muitos objetos lá dentro. O que quer que sejam. Você também é um objeto. Os objetos têm atributos. Atributos são
características que descrevem um determinado objeto. Você pode chamá-los de recursos de
campos. Vamos supor que queremos
criar um objeto na programação. Ou seja, você, Quais
são seus atributos? Você tem características como idade,
sexo, cor dos olhos e assim por diante. Os objetos também podem
realizar ações. Suas ações podem ser
executadas em objetos. Assim, você pode, por exemplo,
correr, falar, o cachorro latir, o monitor pode ser
ligado ou desligado. Você pode alterar o
brilho do monitor ou de outros parâmetros
, como acadêmicos. Então, para resumir objetos
ou qualquer coisa, podemos imaginar, tudo em que
você possa pensar. E esses objetos consistem em
atributos e métodos, ok? E o que essa classe dez é um modelo para criar
instâncias, cópias de objetos. O que quero dizer com isso? Bem, vamos ver, no
Google, o que aparecerá quando amarrarmos o cheesecake de molde para assar. Observe que temos
aqui algum tipo de planta
para bolos de queijo, mini cheesecake, boneco de neve,
qualquer coisa, certo? Observe que podemos ser honestos. Coloque qualquer coisa dentro
de cada um desses formulários, certo? Eles serão semelhantes
porque terão a mesma forma e é
isso que as classes fazem. A planta é a mesma quase porque você pode colocar coisas
diferentes dentro. Podemos colocar queijo Paul, você pode colocar moral, outros ingredientes
ou menos deles. Depende exatamente do que
queremos cozinhar, certo? Então, objetos são na verdade contêineres
que armazenam variáveis, atributos como
gênero e assim por diante. E as funções
se conectam
automaticamente umas às outras para
facilitar o uso futuro. Isso significa que você
terá um código que com dados e um código que processa
dados próximos uns dos outros. Ok, isso é legal porque dessa forma seu código será
mais fácil de manter. Então, nesta palestra, eu também gostaria de
mostrar como
criar uma aula simplificada. Vamos imaginar que
queremos criar um usuário. Ok, então precisamos de um
plano para os usuários. Então, podemos criar mais de uma, para que possamos criar mais
cópias delas, certo? Ok, então vamos digitar aula. Classe é a palavra-chave
que precisamos usar, depois o nome da classe
e, em seguida, a coluna. E aqui podemos definir como
deve ser a aparência desse projeto. Por enquanto, vamos passar. Isso significa que vamos
omitir essa coisa aqui. Podemos colocar todo o
código aqui mais tarde. Se quisermos. Acabamos de criar uma
aula vazia de jazz, a planta está vazia. Ainda podemos usar o nome
dessa classe em nosso código. Ok, então, como criar um
objeto usando essa classe. Para criar um objeto usando essa classe,
esse blueprint. Está vazio, mas
ainda podemos usá-lo, certo? Precisamos escrever o
nome dos nossos objetos. Então, por exemplo, digamos que John seja
igual e, em seguida,
digitamos o nome da nossa classe
e, em seguida, parênteses. Então, gostamos de invocar
uma classe, certo? Passamos para a planta
e queremos invocar tudo aqui para
criar um objeto, certo. Para facilitar a distinção entre
classes e métodos. Porque observe que
aqui está um parêntese. Sempre começamos o nome de nossas turmas
com notas altas. Então lembre-se, comece o nome de suas aulas com letras maiúsculas. Isso
facilitará a manutenção do seu código. Então, criamos agora uma instância de
objeto da classe. Instância significa que é algum tipo de padrão de exemplo de caso que
pode diferir de outros casos. Isso significa isso, a
palavra instância significa que a instância é como um padrão que surgiu
de um blueprint, uma classe. Isso significa um exemplo que
saiu do plano. Isso significa um caso que
saiu da aula. Isso significa que uma cópia que saiu da classe é apenas outro
nome para objeto. Ok? Então isso é objeto. Agora, isso é como
invocar uma classe, como criar um plano, criar uma instância
de classe, certo? E agora temos
dentro do objeto, você pode digitar
algo assim. E quando executamos nosso código, observe que ele
diz que o
principal é nosso programa, todo o programa,
esse objeto de usuário. Ok, então sim, esse é
o nome do nosso objeto. Ao mudar para
algo assim, você notará que o
nome está aqui, certo? Isso é verdade. Ok? E nós temos aqui agora o objeto do usuário em
o que é aquela coisa? Essa coisa te diz qual é o endereço desse objeto
recém-criado. Então, quando criamos
outro cara como, por exemplo talvez uma garota, Jessica. E trazemos a Jessica e depois notamos que os endereços
estão diferentes agora, certo? Criamos dois
objetos, duas cópias. Mas, bem, os endereços
são diferentes. O que significa que quando
eu fizer algo com John ou eu não
afetarei a Jessica. Quando eu faço algo com
Jessica, não afetará John. Então eu te disse que há
algo parecido com atributos. Os atributos podem ser criados aqui ou podem ser criados
fazendo algo assim. John, esses oito. Então, escrevemos que, em seguida, o nome de um
atributo que queremos criar N, então, por exemplo digamos que John tenha 15 anos. Agora, quando executarmos nosso código, nada mudará
porque, bem, precisamos dizer para
imprimir o que queremos
imprimir , porque pode haver muitos outros atributos que
não estão na idade. Então, precisamos
digitar João oito. Agora vamos
ver a era de John. Quando eu digitar G, H e tentar executar nosso código, veremos que
há um erro de atributo. O objeto do usuário não tem o
atributo oito, isso é verdade porque bem, tentamos acessar uma idade que
não foi criada para Jessica. Esse modelo aqui
não diz nada sobre o atributo idade. Esta é uma
planta vazia no momento. contraste de Jesse não
tem H. Então precisaremos
fazer algo assim
para não ter uma flecha. No entanto, podemos criar um
atributo interno dessa forma. Digamos que, por padrão , o valor seja igual a zero. Agora, da forma como não precisamos
definir H para Jessica, você pode simplesmente executar nosso
programa e, por padrão, isso é igual a zero. Então, isso é um plano. Uma corda muito, muito simples. Realmente, acredite em
mim, vamos
dar exemplos práticos no futuro. Por enquanto, precisamos aprender
a sintaxe. Então, lentamente, chegaremos a
algo um pouco mais avançado. Então não fique com raiva de mim. E bem, observe também
que podemos criar, por exemplo idade como uma variável normal
e posso atribuir a ela que 50,50 não afetará
a idade de John, nem afetará a idade de Jessica. Isso tem o
valor padrão de zero aqui. Ok. É apenas uma variável diferente. Mas vocês provavelmente
agora estão se perguntando, homens, por que vocês nos
mostraram aulas? Você realmente poderia fazer algo
como usar dicionários. Olhe aqui,
dicionário, dicionário. E então eu poderia fazer
coisas assim, gênero de idade e depois
fazer algo assim. E, para ser
honesto, vai funcionar, certo? Também podemos fazer isso por Jessica. Jessica, assim, certo? Exemplo como esse
código aleatório, ele funciona bem. Por que eu ainda me preocupei em
te mostrar algo como aulas? As classes não são apenas
contêineres que armazenam variáveis como dicionários
com valores-chave, mas também armazenam
funções que são automaticamente conectadas
umas às outras para uso futuro. O que isso significa? Vamos voltar ao código que tínhamos. Oculto significa que podemos criar uma função
dentro da classe. E aprenderemos em
futuras palestras como fazer isso. Portanto, essa lição não é
muito longa, nem muito difícil. Mas você só
precisa entender que as aulas oferecem mais opções. Eles permitem que você crie um cartão tematicamente
conectado um ao outro. Imagine que esse é um
código muito longo, escreva-o assim. Você pode pular com o sal
de seus heróis do código. Também é muito bom saber. Você pode fazer algo como “ok”, então vamos ler algo
sobre o usuário. Ok, estou lendo isso. Eu não preciso de nada
sobre a bomba do usuário. E acabei de fechar tudo o que está
conectado ao usuário. Eles se comportaram um pouco bêbados. Eles deveriam se deitar assim. E assim, como
você pode ver agora, fechamos todo esse espaço apenas um clique em tudo o que está
conectado ao usuário, não apenas nos dados que estão
conectados ao usuário, mas também nas funções mas também nas funções sobre as quais
falaremos no
futuro, sobre como criá-los. Os comportamentos, porque você
define o comportamento dos objetos
internos para que o cachorro late, o monitor pode ser
ligado ou desligado, certo? Esses são comportamentos. Agora, como um exercício, gostaria que você fizesse as mesmas coisas que eu
fiz nesta palestra. Isso é muito importante
porque precisamos
aprender a sintaxe, a nova sintaxe. E depois disso, CLI, crie uma classe que
será chamada de monitor e crie alguns
atributos, como, por exemplo com altura, defina-os, você os altera usando o operador
ponto e imprimido.
109. Criando seu primeiro método - o que é "eu"?: Olá. Hoje eu vou
te mostrar como criar seu próprio método
dentro da classe. E eu também vou
te dizer o que é algo, o que é chamado de palavra-chave própria. O que, como isso funciona? O que isso faz? Mas antes de fazermos isso, para entender
um pouco mais, gostaria que você
criasse uma função, apenas uma função normal
que chamaremos print H e tomaremos
como argumento a idade, e imprimiremos H, H, algo assim. E observe que quando queremos imprimir
a idade de alguém, que é esse cara, ele tem apenas 15 anos. Agora preciso fazer
algo assim. Eu envio h e
funciona bem, certo? Poderíamos criar um nome
para esse cara, por exemplo, theta. E poderíamos usar
outra discussão aqui, nome e algo parecido. Escreva o nome, execute o código. Precisamos enviar o nome. Além disso. E funciona bem. Percebi que acabei de
cometer um erro também. Portanto, isso está sujeito a
erros, porque bem, a idade está aqui, o nome está aqui. Estamos imprimindo a idade de
alguém que exatamente isso. Bem, poderíamos resolvê-lo usando dicionários onde
haverá uma chave. E então os valores do
escuro conectados a esse cara. Mas, bem, na era da impressão, esse método não
estaria conectado a esses dados, certo aço. Você precisa saber que a idade de impressão é invocada
em algum tipo de dado. Você envia dados para fazer
algo com eles. E isso não é bom. Nessa situação,
seria melhor se tivéssemos usuários aqui, certo? Usando a classe,
criaremos um objeto como esse. Poderíamos fazer algo
como, ei, você sabe, eu quero trazer a era de John. Então John, John Print Age. Eu gostaria de fazer algo
assim e isso deve ser suficiente, certo? Agora não preciso manter
variáveis em escopo global. Eu posso simplesmente
tê-los dentro da aula. E vamos fazer isso. Vamos criar um método. Então, vamos criar um
método que
chamaremos de print H, assim. E apenas imprimirá
a mesma idade que fizemos antes. E agora observe que quando
eu removo essa parte, quando fazemos algo
assim, John, agora podemos
acessar a borda de impressão. Ok, então esse é um método
que podemos invocar. Isso vai funcionar? Não, nós queremos. Por quê? Porque, como você pode ver, impressão H não aceita argumentos
posicionais. Mas uma foi dada, Ei, mas eu não mandei nada para cá. Diz que um foi dado, mas não há nada aqui dentro. A verdade é que toda vez que você invoca um método sobre o uso de objetos, e aqui, automaticamente,
o programa não faz isso sozinho, o próprio objeto. Então João é enviado para cá e é salvo em algo
chamado eu. Então, sempre que criamos
um método dentro da classe, o primeiro parâmetro deve ser
resolvido porque isso permite que você acesse
as variáveis, ou
seja, os atributos do objeto. Então, o que vai acontecer agora? Isso é muito engraçado. A idade não está definida. Ei, mas a idade está aqui. Também mudamos mais tarde para 15 anos. Bem, o que aconteceu? Agora mesmo? Estamos tentando acessar H
do escopo global enquanto
removemos H de tudo daqui
para aqui da classe acima Funcionará bem, mas mostrará 50, não 15, não, zero, certo? Se você quiser
acessar o próprio self, o objeto que você
precisa escrever self aqui. Em outras linguagens de programação, isso é chamado assim. Então, no momento, estamos
trabalhando nisso, no objeto atual. E agora você está executando o conjunto H, e agora veremos 15. Então, tudo funciona bem, certo? Peter tem 50, 50, não 15. Vamos mudar esses valores. Então, esses são dois. Cônjuge ou 70 é
atribuído a Peter, 15 é atribuído a. John agora mesmo. Portanto, a era de impressão está
funcionando bem agora. Você precisa se lembrar que é como se tivéssemos acabado de
enviar um John para cá. John foi enviado para dizer herói. E fizemos algo assim, certo? John, John Age. Funciona bem. Ok. Mas você provavelmente
agora está se perguntando e se eu quisesse enviar
algo aqui, certo? Alguma mensagem
adicional exibida,
mensagem, algo parecido com isso. Eu quero mandar aqui. Como fazer isso? Eu mandei uma mensagem para ele. Então, por exemplo, algo novo. Observe que nosso programa
funcionará bem. Porque isso é algo novo, é atribuído a isso, não ao primeiro argumento aqui. Por padrão, self agora é John porque
invocamos a idade de impressão em John. Ok, então se fizemos
isso com Jessica, fizemos algo como
Jessica Print Age. Agora estamos invocando a
era impressa em Jessica na linha 34. Então, o eu é realmente
agora o que Jessica. Então, agora, quando a invocamos, o que precisamos agora é
enviar uma mensagem adicional
porque eu preciso, porque esse é um parâmetro
obrigatório. Seja como for, funciona
bem, podemos adicioná-lo, é claro que é
algo parecido mostrado em uma mensagem como esta. E depois da era, temos essa
mensagem adicional mostrada aqui. Sem problemas. Como você pode ver, cometi um erro de
ortografia que foi detectado pela extensão
completa do CSP que
você instalou. Agora está funcionando bem. Portanto, self é apenas
algo que você sempre precisa adicionar quando
usamos esse trecho, observe que aqui temos
algo como um método de classe. E está sempre editando
o nome da função, sempre no primeiro bot em si, depois na lista de parâmetros, se
você quiser adicioná-los aqui. Então, a, B, C, D, ou você simplesmente não precisa adicionar nenhum parâmetro, parâmetro aqui. Podemos simplesmente invocar uma função. Isso é tudo. Depois, a definição. É assim que você cria funções. Vamos melhorar uma classe de lances
criando outro
atributo, como, por exemplo, nome. Então, vamos imprimir o
nome antes da idade. Lembre-se de adicionar a autovisão. Se você fizer isso dessa
maneira, não funcionará. Não vai funcionar, certo? Você pode acessar
o parâmetro sem self. Podemos continuar trabalhando
nisso porque o eu
agirá como propriedades, certo? Estamos acessando aqui a mensagem
adicional
do parâmetro. Aqui queremos acessar o nome. E agora podemos definir nomes
para John e Jessica, que já estão nomeados, mas estou fazendo isso de propósito. Então John, esse nome
é igual a John, certo? Agora, para Jessica. nome Jessica dot é igual a Jessica. A idade de Jessica
é zero por padrão. Ela é recém-nascida. É
claro que podemos mudar. Mas observe que
não é uma boa ideia
nomear seus objetos
assim, certo? Provavelmente é
melhor chamá-los “usuário um”. E Jessica, vamos
chamá-los de usuários para escrever. Eu uso o atalho F2 para
alterar cada ocorrência. E também está funcionando bem agora, já fizemos isso
aqui, John, Jessica. Mas qual é a diferença aqui? Temos nomes dentro de
cada objeto, então sabemos exatamente qual é
o nome de cada objeto. A primeira coisa ruim é
que poderíamos melhorá-lo. Imaginamos que temos mais, muito mais usuários. Isso significa que
poderíamos, você sabe, fazer algo como uma lista de usuários e fazer
algo como
usuário, usuário, usuário, escrever
algo assim. Então, podemos ser ótimos para usuários,
Obama, e vamos
entrar nessa célula. E agora eu posso fazer
algo assim. Lista de usuários. O primeiro cara. E agora eu disse que o H2, por exemplo, 20. Para o segundo cara, eu vou fazer algo assim. E pelo nome e sobrenome. Faremos o que acontecerá, por exemplo, São João e Jéssica, certo? Assim. E podemos imprimir
uma lista de usuários como esta. Como você pode ver, acabamos de executar essa parte do código
e temos aqui dois objetos internos com
dois endereços diferentes. Nós criamos e ele propôs
que mudássemos os atributos. Mas se você quiser acessar, por exemplo , o nome do
jazz, devemos
escrever 099 porque estamos acessando o elemento dentro da nossa raça
e depois o nome. E quando executamos nosso código, temos John, certo? Assim, podemos ver uma lista
dos usuários que estão aprimorando
nosso código e o que é legal, é
que agora os dados e o met
estão conectados uns aos outros. Agora podemos fazer algo como Jess pode invocar uma lista
de usuários de zero. E podemos invocar a
página impressa incidentalmente. Então, agora precisamos adicionar uma mensagem adicional
porque são necessários argumentos. Então, um exemplo, radical,
John, 20 e poucos anos. Isso é muito legal, certo? Você pode executar cada concessão de usuário. Você pode experimentá-los, faça isso
sozinho usando o loop. E basta invocar a função
print age para cada usuário. E os dados são armazenados
dentro da verificação de trabalho, certo? Agora, neste momento,
atribuímos valores à idade, para nomes assim, mas podemos fazer isso aqui no futuro. Eu vou te mostrar como. Bem, você também pode criar
objetos e enviar esses valores aqui, IDs usando loops. Assim, podemos melhorar nosso código. E no futuro eu vou te mostrar
como fazer coisas assim. Mas, por enquanto, o mais
importante para você é entender que métodos e atributos estão conectados
entre si dentro das classes quando
você deseja acessar
o objeto atual no você deseja acessar qual está trabalhando. E trabalhando nisso, queremos dizer aquele que
invocamos usando o ponto. Então, quando invocamos
predate on user to, estamos realmente enviando aqui
o primeiro argumento para o qual o usuário. Aqui estamos enviando
um usuário e o atribuímos aqui, aqui e aqui para acessar os
valores atuais do objeto. Porque isso é apenas um modelo. Criamos que,
quando estamos aqui, os
criamos com
o h igual a zero. Temos o nome,
digamos, desconhecido, certo? Então, quando o removermos,
isso ainda vai
funcionar, certo? E vai
funcionar porque
vamos usar os valores do modelo. Eles se perguntaram por onde
ele começou a ler, mas podemos mudá-los
como fizemos aqui, certo? Depende de nós o que
vamos fazer. Então, vamos remover isso porque
isso nos daria um erro. Mas eu uso a
extensão que
nos permite executar apenas parte do
código quando eu o seleciono. Ok, então tudo isso é uma boa lição. Não se preocupe, há
muitas informações nesta palestra, vamos praticar muito isso,
mas, por enquanto, é
muito importante que você faça pelo menos as mesmas coisas que eu
fiz nesta palestra. Você precisa praticar a sintaxe, brincar com ela ômega ou não
se preocupe, isso vai acontecer. Isso é coisa nova com o tempo, você vai se acostumar com isso. Isso é algo dessa lição. Muito obrigado.
110. __init__ - enviando argumentos para o curso para inicialização: Olá, meus amigos. Hoje você vai
falar sobre inicialização, o que significa definir
valores iniciais para atributos. Até agora, temos
feito isso assim, e essa é outra
boa maneira de fazer isso. Ok? Existe um
método especial chamado aid, que inicializa
valores iniciais para atributos, que é usado para isso
em outras linguagens. E é chamado de
construtor
porque está construindo objetos. Ele é invocado quando o
objeto é construído. Então, quando você faz coisas assim, quando digita user, então o nome do vidro em
vez do parêntese, você está realmente invocando
um construtor que é chamado de sugerido com
dois sublinhados antes e
sublinhado depois. Você está sempre invocando essa função
agora, ela está vazia. Não declaramos
o declarativo. Precisamos fazer isso manualmente
e faremos isso. Então, também enviaremos
seus argumentos. Então, aqui entre parênteses
dentro deles, porque isso não é uma boa ideia, devemos fazer isso de uma maneira diferente. Então, primeiro precisamos
digitar sons como morte, depois sublinhados com
MR., depois parênteses e imprimir. Vamos imprimir algo
como “I will be invoked” sempre que você
construir um objeto. Porque isso é verdade.
E como você pode ver, temos aqui informações de
que há um problema. Qual é esse problema? Eu te disse antes que todo método deve ter como
primeiro parâmetro self. E esse também é o caso
do método Indeed. Ok? Isso é um construtor. Ele ainda
precisa se cuidar de si mesmo. Ok, então quando eu adiciono self,
tudo funciona bem. E agora, quando vou
executar o código, observe que a linha 20
invoca essa parte do código. Eu serei invocado sempre que
você construir um objeto. Então, na segunda vez
que invocamos aqui, nós realmente fazemos isso, certo? Se eu fiz isso
pela terceira vez assim, nem
preciso
salvá-lo em nenhum lugar. Como você pode ver, ele será
invocado três vezes. Então, sempre que você
invoca o construtor, você está realmente
invocando tudo o que está dentro do método init. Ok, não inicializamos
nenhum atributo interno. Bem, ele é usado para
definir valores iniciais, mas não fizemos isso, certo, então precisamos fazer
isso agora manualmente. Então, precisamos enviar
argumentos aqui, certo? Então, agora vamos
fazer algo assim. 15 João. Aqui vamos digitar 40, Jessica. E agora podemos remover essa parte. E o que acontecerá
quando executarmos o código? Como você pode ver, diz
que precisamos declarar mais
dois parâmetros para a
idade e para o nome, certo? Vamos chamá-los de
x e y por um segundo. E trabalharíamos agora, como você pode ver, os valores
padrão, que são zero aqui, e o nome era simplesmente desconhecido,
foram atribuídos
ao nome e à idade. E isso porque esses são
os valores padrão. Nós não os alteramos
dentro da função init, função dentro desse método, precisamos fazer isso
manualmente usando o quê? Ponto próprio. Lembre-se de que se você fizer algo assim,
o nome é igual a x. E agora, quando o
salvarmos, o que acontecerá? Ele diz que o nome da
variável local é atribuído, mas nunca usado
quando você executa o código. O nome ainda é prêmio
igual a desconhecido, certo? Quando eu digo H dois, bem, talvez isso
deva ser assim. H é igual a x e nome é igual a y. Quando eu faço dessa forma, nada mudou
porque já estamos criando aqui variáveis locais. Local, o que significa que eles
só existem aqui dentro desse
corpo, corpo desse método init. Se quisermos acessar os
atributos do objeto, precisamos chamá-los
usando self desta forma. E agora mudamos
os valores 15,14. Então 15 vem aqui,
é atribuído a x, e então 15 é atribuído a si mesmo, ao usuário que
estamos criando Q, certo? Então, para o usuário, exatamente
porque atribuímos a
ele o valor
do objeto que foi
construído ao usuário um. Então é assim que você faz
coisas assim. E observe que não
precisamos ter 91011. Você pode simplesmente criar novos
atributos dessa forma. É por isso que se chama
inicialização. É por isso que você o usa para os valores iniciais dos
atributos. Você pode simplesmente criar todos os
atributos aqui dentro e também definir os
valores iniciais, certo? É como se tivéssemos
escrito antes, assim. Um novo atributo do usuário
é igual a 40, certo? Agora podemos imprimir ao
usuário um novo atributo, ao usuário um novo atributo. Assim. Como você pode ver em outra
coisa assim. Portanto, é um pouco diferente
escrever, para, para, escrever. Então isso é o mesmo aqui. Quando, se quisermos
criar algo
como um novo atributo, isso é realmente novo. E agora eu posso
acessá-lo aqui, certo? Fácil, fácil, 50, 50. Então é assim que você
cria novos atributos, certo? Tem mais uma coisa. Observe que eu nomeei
essas variáveis, não é uma boa maneira. Esse nome não é tão
autodescritivo x e y. O que acontecerá se eu
fizer algo assim? H e depois nome? É quase o mesmo
que aqui, certo? H e h. Nosso código
será executado corretamente? Sim, será. Por quê? Porque quando fazemos
algo assim, atribuímos 15 a h aqui, estamos criando uma variável
local, certo? Parâmetro, aqui estão nossas variáveis
locais, certo? Então o H aqui é apenas um valor que
foi enviado aqui, como 15. Você pode ver que é 15
então para t, certo? Se você alterar o valor da linha
mais clara, por exemplo ,
para, algo assim, certo? Observe que não
mudamos a idade pessoal. A idade ainda é de 15 anos. Nós mudamos o status da localidade. Então, mudamos para
esse grande número aqui. E a mudança aconteceu
apenas na variável local, não na que é
atribuída ao objeto, não ao atributo. Se você quiser
alterar um atributo, você sempre precisa usar self. É assim que acontece.
Só há a lição. Muito obrigado.
111. EXERCÍCIO: crie foguetes que possam subir: Olá pessoal. É
hora de praticar. Quero que você crie uma classe
representando um foguete. foguete pode subir. Isso é tudo, ok, essa é uma
ação que ele deve fazer. Então. Agora,
é hora de pensar em quais atributos e
métodos esse foguete precisa. Então pense por um segundo. E então eu quero que você crie
cinco instâncias de foguete. Então, cinco objetos, cinco foguetes. E eles devem ter uma altitude
inicial definida como zero, a altura em que
estão no momento. O local atual
da raquete deve ser salvo em altitude, atributo de altitude. Então eu quero usar para mover a
raquete dez vezes aleatoriamente. Portanto, não mova todas as posições da
Racket para cima. A escolha da raquete para
subir é ser aleatória. Em seguida, escreva a altitude dos foguetes de individualismo usando, por exemplo loop para tentar fazer
isso sozinho. Mas se você quiser
ficar comigo, faça isso porque
no final eu lhe darei outro exercício que será conectado ao
que vamos fazer. Agora, vamos criar o arquivo. Vamos chamá-lo, por exemplo, Racket aqui. Agora, colocaríamos o
código referente ao Racket. Mas vamos pensar, vamos
imaginar por um segundo Eu não
sabia programar? E, para ser sincero, não
me lembro de como
criar uma classe, como criar inicialmente o
Zeta e assim por diante. Como eu me lembraria do
conhecimento que eu havia esquecido? Bem, eu poderia fazer
algo assim. Saltar de um arquivo para outro. Ok, então, para
criar a classe, eu preciso escrever uma classe. Uh-huh. Mas vamos melhorá-lo um pouco. Olha, nós podemos fazer
algo assim. Podemos clicar na amostra e clicar
aqui no editor dividido para escrever. E então eu posso fechar
essa janela aqui. Eu posso fechar essa janela aqui. Posso remover esse espaço aqui clicando em
Exibir, Mostrar mini-mapa. E agora eu tenho muito
espaço como esse. E eu posso
ver facilmente como as aulas são
criadas, certo? Isso é legal. Então, queremos criar uma raquete. Então, vamos criar um formulário
para a raquete como este. Podemos passar por um segundo. Nosso foguete deve ser
capaz de subir sua altitude. Então, o que precisamos para
criar altitude, propus fazer isso internamente
inicialmente, é cerca de oito. Def, defina-o. Precisamos digitar self sempre
como o primeiro parâmetro. E vamos apenas criar altitudes. Então, vamos atribuí-lo a zero porque delta T
começando em 0,0, a altura é zero. E agora devemos
ser capazes de movê-lo. Então, precisamos de outro método para
podermos trabalhar com o objeto atual
que vamos curar. Tão definido. E vamos defini-lo como, por exemplo ,
subir, certo? Precisamos ter um eu aqui
e vamos altitude
pessoal um a um, um. E está tudo bem.
Acabamos de criar um formulário de armário que nos
permitirá criar objetos. Essa é a parte fácil. Agora, queremos criar
cinco foguetes de rocha. Como fazer isso? Bem, podemos fazer isso, por exemplo usando métodos simples
como esse, certo? E estamos fazendo isso manualmente. Mas se eu tivesse mudado
o exercício
para você, você precisará
criar 500 raquetes. Vai demorar um pouco
mais, certo? Então, isso é totalmente
antiprofissional. Portanto, é uma boa ideia
usar o loop para, por exemplo precisamos listar que
temos foguetes e podemos fazer algo
assim para I na faixa cinco. Queremos criar uma
raquete e salvá-la, por exemplo, link para adiar uma nova raquete. E queremos
acrescentar isso com isso. E agora fazemos
algo assim. Você notará que
acabamos de criar cinco foguetes. Boa solução. Ótimo, podemos usar compreensão
de listas para
fazer isso ainda mais rápido. Então Racket é igual a foguete. Agora, para eu na faixa
cinco, isso é tudo. Acho que é um pouco mais fácil
e rápido, certo? Então, liste a compreensão,
é claro, entre parênteses aqui. Agora funciona bem. É uma boa ideia saber como
funciona a compreensão de uma lista, certo? Agora olha, nós não
o usamos aqui, certo? Não o usamos dentro de
nossa compreensão de listas. Então, em casos como esse, devemos escrever aqui um
sublinhado ou dois sublinhados. gosto de informações de
outros programadores de que, bem, esse valor
aqui não importa. Você usa esse loop apenas para fazer
algo cinco vezes. É uma boa ideia fazer isso dessa maneira, porque quando
você está
olhando agora para o código e encontra
algo assim, você pode simplesmente passá-lo
com os olhos, certo? Se você tem aqui x i
ou outra coisa,
você, como programador que não sabe como
esse programa funciona, examinaremos essa variável
e você tentará ver onde ela é fácil de usar
aqui ou talvez aqui, talvez aqui ou
talvez em qualquer
lugar que você esteja
procurando por esse lugar. Mas quando você tem algo
assim , ok, eu não me importo. Está aqui apenas para
invocá-lo cinco vezes. Ok. Então, criamos colchetes porque esse era
o objetivo principal. Ok, é hora de
subir nesses foguetes. De muitas maneiras, faremos
isso como o Racket. Vamos tentar acessar
a primeira raquete usando os colchetes e depois
usar move up assim. E podemos fazer isso
algumas vezes, por exemplo, duas vezes para a primeira, uma vez para a segunda. E assim, e então
podemos imprimir onde eles estão. Então, para cada raquete
dentro dos colchetes, imprima a altitude da raquete. Raquete T2. Por isso, porque
eu não tive a sugestão aqui porque tentei acessar essa
coisa, não saborear, certo? Não tente acessar
uma lista inteira. E agora colchetes redondos, como
você pode ver, ainda é 1100. Foi o que fizemos aqui, certo? Nós movemos o primeiro cara duas vezes o segundo. Terceiro. Mas eu quero fazer
movimentos aleatoriamente, certo? Então, como fazer isso? Mas precisamos primeiro, a partir de Random, importar aleatório e isso nos permite
obter um número inteiro aleatório. Então, quando eu fizer
algo assim, o número inteiro aleatório e eu
fizer algo assim, obterei aleatório
int 0-4, certo? Então, podemos fazer o quê? Podemos usar esse volume para obter um índice específico,
certo? Por exemplo, podemos chamá-la de raquete em
Rx para se mover assim. Então, quando eu faço assim, farei isso uma vez para
um cara aleatório ou, como você pode ver, às vezes movemos
o cara no final. Às vezes, movemos a raquete. Aqui é aleatório, mas
queremos nos mover dez vezes. Queremos fazer essas
coisas dez vezes. Então, para h na faixa de dez, como o final do jogo que queremos
fazer é apenas dez vezes. Mas
também queremos que o índice de raquete
se mova aleatoriamente a cada vez, certo? Como esses, porque
agora nós apenas
movemos um deles dez vezes para cima. Queremos ter isso
dentro do nosso circuito. E é assim que nos movemos, como você pode ver agora, cada vez que Racket é dez
vezes, mas aleatoriamente, certo? Se aumentarmos a quantidade
de colchetes aqui para, por exemplo ,
dez,
também devemos aumentar aqui para esse número um
pouco maior, certo? Então, como podemos
torná-lo um pouco universal? Bem, podemos fazer
algo como esse comprimento de foguetes menos um, certo? Porque é
assim que chegamos aqui. Quais colchetes phi menos um. Então, 0-4, porque
os índices começam na
lista do zero, certo? E dessa forma, temos código
universal de que queremos
mais raquetes como essa. Teremos mais raquetes, certo? 200 raquetes. E nós apenas movemos apenas
alguns deles, certo? Ok, então é assim que resolvemos o problema
desse exercício. Agora eu quero que você faça algo novo. Eu quero que você crie aqui
algo como velocidade. Então, esse poço de raquete, e eu quero
que você
suba dependendo da velocidade aqui. Se a velocidade do
foguete for cinco, quero que suba até
aqui 55 pontos. Se a velocidade for igual a quatro, mova-se aqui por quatro. Então, eu quero que você
defina a velocidade usando a
inicialização aqui. Então, precisamos de um segundo parâmetro. E eu quero que você envie
aqui um parâmetro aleatório. Portanto, a velocidade também é
aleatória para cada colchete. Só há a lição.
Muito obrigado.
112. Corda de documentos - docstring: Olá. Hoje vamos
falar sobre documentar nossa classe com algo
chamado string de documentos. Por que fazemos
algo assim? O que significa mesmo
documentar algo? Bem, se você documenta algo, está realmente
gravando como funciona. Você está anotando as especificidades da
classe do método. Por que você faz isso? Bem, quando eu faço
algo assim, eu digito imprimir aqui, eu tenho uma documentação aqui. Isso facilita o uso do código porque agora você não precisa ir
para o local onde a impressão é declarada, exatamente onde a proteína é feita. Todas as instruções
da Print R. Você só precisa fazer
algo assim. Além disso, a impressão funciona assim. Imprime os valores em um fluxo ou dois sistemas STD por padrão Os argumentos de palavras-chave
opcionais são assim, blá, blá,
blá, blá, blá. Então você tem
alguns detalhes sobre esse método
bem rápido aqui, certo? Sem que você precise pular
para a declaração do cérebro. E é isso que você pode
fazer usando docstrings. Como criar este
documento significava string. Você faz isso da mesma forma
que estava criando. Comentários, os comentários
de várias linhas. Então, usando, certo? Mas você
não está fazendo isso acima da classe, mas está fazendo isso
dentro da classe. Então, quando sua
aula está assim, certo, você faz
algo assim. Então. E agora, aqui dentro, colocamos a descrição da classe
do foguete. Então, por exemplo, representa
os colchetes que podem subir com set spit,
algo assim. Por exemplo, quando será visível? Agora, olha, quando eu faço
algo assim, colchete é igual a classificação não posso, como você pode ver, eu posso
ver isso aqui, certo? Se você não vê, você
pode tê-lo assim aqui. Você pode simplesmente clicar
aqui no Leia mais. E então você pode ler mais
representa a raquete que pode subir com o SetSpeed.
Isso é legal, certo? Você pode ver o que ele faz sem
precisar pular aqui, ter que analisar o código. Isso vale para outras
coisas aqui, como, por exemplo o construtor, o método
que você pode descrevê-lo. Há uma extensão
automática de docstring muito legal que será instalada agora. E observe que isso nos
ajudará em duas coisas. A primeira coisa é
que quando eu adiciono três aspas e elas
adicionam enter depois,
como você pode ver, isso gera para nós
as aspas que estão finalizando a sequência de caracteres
de nossos documentos , então
não precisamos trabalhar tanto. Agora, a próxima coisa é que
podemos colocar o resumo
aqui para que possamos dizer que algo como ele
sobe na raquete em velocidade. Então, talvez vamos
colocá-lo aqui assim. E isso foi sentar aqui,
certo. Então, eus. Essa é a primeira coisa
que a extensão faz. Mas há um morfema. Veja quando os argumentos da
palavra-chave var. Portanto, há parâmetros aqui. Você não, você pode colocar
não só para Marie, podemos excluí-lo porque não
precisamos colocar um resumo para o construtor. Mas agora, com o Editor Tabular, podemos pular, por exemplo definir o tipo do parâmetro. Por padrão, é
o mais adequado. Como você pode ver, ele percebe
que será um número inteiro observando
o valor padrão aqui. E você pode definir a descrição. Então, velocidade dos suportes, motor, algo
assim, certo? Isso é o quão rápido
as garotas da raquete, talvez o quão rápido o foguete voe. E agora, quando
fazemos algo como aquela raquete que
sobe, como você pode ver, ela sobe na
raquete por cuspe,
quantidade, por quantidade de setSpeed emprestada quando estamos
usando o construtor. Então está aqui. Racket pode ver agora que podemos ver que
o tipo de espírito é inteiro. Isso também é legal
porque
agora é mais visível se você fizer isso, dessa forma, certo, com
argumentos de palavras-chave, e
podemos ver instantaneamente que a
velocidade é inteira. E temos a
descrição do cuspe, como está funcionando, certo? Se houvesse mais argumentos de
palavras-chave, poderíamos descrever todos eles. Portanto, é muito legal
criar sequências de documentos que possam ser usadas por outros
programadores ou talvez para os seus. Então, no futuro, quando você
esquecer como seu código, código funciona e, acredite em
mim, isso acontece muito. Essa lição. Muito
obrigado.
113. __str__ - método dunder que representa o texto do objeto: Olá pessoal. Hoje vamos falar
sobre métodos do tipo dunder. Nós já usamos. Um deles. Foi chamado de método underscore, underscore init, underscore,
underscore. Como você pode ver, preciso
ficar muito tempo sob a cicatriz. Eu poderia dizer isso de uma maneira um
pouco diferente. Esse era um método
chamado sublinhado
duplo, init, sublinhado
duplo. Isso leva algum tempo. É por isso que os programadores
inventaram um novo termo. Caspa. D significa duplo,
entende sublinhado. método Dunder é
apenas pontuação dupla aqui e sublinhado duplo
aqui, tipo de método. E esses métodos são um pouco diferentes do
normal que definimos. Aquele que definimos como
invocado quando o invocamos. Especificamente, quando você diz Ei, nome da função
e depois usamos o parêntese que
invocamos. Dessa forma. No entanto, queremos invocar
esse tipo de método. Precisamos fazer alguma coisa
específica, certo? A coisa
específica predefinida, por exemplo, para o método init, invertida para invocar
instruções dentro de seu corpo, você precisa criar um
objeto, certo? Então, quando digitamos o nome da
classe e o parêntese, estamos realmente invocando
sempre esse método. E há muitos
métodos idiotas. Não falaremos sobre todos
eles de uma só vez
porque seria estúpido. Vamos falar sobre eles
quando precisarmos usá-los. Então, por exemplo, em nossa situação aqui, temos algo como a altitude da
raquete, certo? Ele queria ver a
versão em cordas da altitude aqui. Queríamos ver a
altura da raquete. E para ser honesto, o que aconteceria se
fizéssemos assim? Observe que temos aqui
algo como raquete principal,
objeto, adicione algum tipo
de endereço, certo? Mas eu prefiro usar o nome do nosso
objeto como uma string. E para fazer isso, precisamos usar o método
STR dunder, que se invoca quando
você usa objeto como uma string. Então, vamos fazer isso. STR definido. Sempre, você precisa definir
o parâmetro self. Agora, quando retornarmos
aqui,
seja o que for, ele será retornado para cada objeto quando
for usada uma string. Porque é quando esse método
dunder é invocado. Execute o código como você pode ver,
seja o que for, o que for, o
que for, o que for. Mas é claro
que queremos fornecer aqui algumas informações sobre,
por exemplo, altitude, certo? Portanto, o QT LTE atual
do Racket é, por exemplo vamos fazer algo
como altitude própria, certo? Essa coisa não vai funcionar. Por quê? Como a altitude é, na
verdade, uma string inteira, precisamos retornar uma string. Então, precisamos transformar um número inteiro
em uma string como essa, e agora isso vai funcionar. Então, usamos aqui o
objeto como uma string, e é aí que o método dunder
predefinido está invocando suas instruções. Então é assim que funciona. Não há muita influência sobre
eles nos métodos mais simples, nós os aprenderemos quando tivermos um caso específico de uso. Porque é aí que é útil. É uma boa ideia aprender
todos os métodos do dunder de uma só vez. Seria simplesmente estúpido. Para ser honesto. Não me
lembro de todos eles. Eu só sei que eles existem
e quando eu quero usá-los, eu simplesmente posso digitar algo
como dunder method for ou posso simplesmente digitar métodos
dunder em Python. E pelo menos, e então
eu obterei a lista de todos os métodos dunder e poderei
ver quando eles são invocados. O que é o evento? Qual é o evento
que os envolve? Escreva o evento aqui quando você usa colchetes como uma string, por exemplo ,
aqui, quando você o usa como um construtor ao
construir uma lição de objeto. Muito obrigado.
114. EXERCÍCIO: organizando mais de um curso - placa de foguete: Meu amigo, hoje vou
te mostrar o que fazer quando você tiver mais aulas para usar o que você
deve fazer com suas lutas. Porque você precisa
organizar seu código que seu projeto seja
fácil de manter. Caso contrário, você
se perderá ao começar a criar mais de
uma turma e anos. Na verdade, podemos ajudar nesta
palestra em mais de uma aula. Vamos
criar uma classe que será chamada de prancha de raquete. E ele segurará
uma placa foguetes dentro dos colchetes que são gerados dessa forma. Então, vamos criar
outra classe, por exemplo, tabuleiro de raquete de
classe, e
faremos uma pausa por um segundo. Então essa coisa vai conter
foguetes como esse. E talvez
pensemos organizar nossa distância
o suficiente, porque, bem, continuamos adicionando
mais aulas aqui. E também chamado de ID é a
implementação de classes. Isso sumiu. Um pouco de caos demais, certo? Então, precisamos criar, precisamos separar a
implementação das classes. Como fazer isso? Bem, vamos criar outro arquivo e
chamá-lo, por exemplo, meu script dot p-y. É criado por dentro. Queremos criá-lo aqui. W VS. Então, vamos chamá-lo de “meu
roteiro” que “BY” é assim. E agora queremos
importar da raquete. Queremos importar raquetes, pranchas de
raquete como essa, certo? E temos aqui
um erro porque ele nos
diz que importamos
algo, mas não foi usado. Portanto, este é um aviso verde. E agora podemos dividir o editor. Esse é um
recurso muito legal que
agora podemos ver as
aulas aqui, certo? Agora podemos fechar essa coisa. E podemos facilmente
examinar a classe de raquete, analisá-la e
, ao mesmo tempo, escrever o código aqui, a implementação
do código e depois desaparecer. Isso é muito legal, certo? Bem, agora precisamos
melhorar nossa bola de raquete. Então, precisamos criar
uma placa de raquete, então precisamos criar
um construtor para ela. Então, o método dunder
nele, como por exemplo ,
este, vamos colocar dentro
dessa parte do código. Então, para ser honesto, queremos fazer algo
assim, certo? Não
precisamos dessa parte porque é apenas uma única raquete, raquete. E agora podemos criar
raquete, prancha de raquete. Então, podemos criar
mais de uma raquete usando apenas um único objeto
usando esse formulário, certo? É por isso que eu queria mostrar que
você pode
criar uma placa de foguete. E olha, agora podemos
entender emprestado é igual a prancha de raquete, e acabamos de criar colchetes de
borda como este. Podemos criar mais deles. Você pode criar um
quadro para ficar entediado. Ou podemos até mesmo
usar o loop para toda a lista para criar mais quadros ao mesmo
tempo. Isso é legal, certo? Assim, podemos replicar esse código usando apenas
um único objeto. Mas isso não é tudo. Podemos melhorar a
placa de foguete para que possamos, por exemplo contar a distância de
um mercado a outro, mas faremos essas
coisas no futuro. Por enquanto. Eu gostaria de notar algumas coisas que
são muito importantes. Portanto, não pare com essa palestra. E observe que quando criamos um parafuso e queremos
acessar agora, por exemplo, raquete é de dentro. Então, quando fazemos algo
parecido com aquela placa que não
temos acesso a
foguetes que são criados em cubos. E por que isso? Então pare por um segundo e
tente resolver esse problema. Ok? A solução para esse problema é
adicionar o eu aqui. Porque eu realmente quero que
você diga isso de novo. Quando você está criando uma variável
como essa sem célula, ela será
uma variável local, então ela
existirá somente aqui. Ele vai desaparecer depois que
o método terminar, certo? Então, depois da linha 35. Então, se você quiser criar
um atributo de classe, você precisa usar sal, ok? Caso contrário,
não vai funcionar. Agora precisamos adicioná-lo aqui, aqui, aqui e aqui. E agora olha, podemos atuar como
Racket do tabuleiro. E podemos acessar, por exemplo,
a primeira raquete e obter a altitude assim. Quando trazemos, como você pode ver, a altitude da
primeira raquete tarifária é dois e a
imprimimos novamente aqui. Ótimo. Agora podemos acessá-lo
porque isso é um atributo. Agora temos um bom
atributo que está realmente listado e agora podemos
acessá-lo usando esse objeto aqui. Então isso é legal porque
agora podemos esperar, recriamos a aula. Onde um dos atributos é uma lista de instâncias da
classe raquete, certo? Isso é um pouco complicado, mas como você pode fazer
coisas assim,
isso é muito, muito legal. Vamos melhorar um pouco esse código. Observe que temos uma quantidade
predefinida de foguetes. Acho que devemos
defini-lo por meio de nossa
estrutura de custos, certo? Portanto, precisamos criar aqui
outro parâmetro como, por exemplo, em Mount of rockets. E vamos simplesmente colocá-lo aqui. Mas observe que agora nosso
código não funcionará porque não
colocamos aqui um argumento. Portanto, é uma boa ideia definir
um valor padrão como, por exemplo, cinco. Portanto, o código que foi escrito antes ainda
funcionará. Essa é a primeira coisa. A segunda coisa,
bem, talvez alguém queira usar apenas o valor
padrão, certo? Agora podemos criar o
tabuleiro assim ou podemos,
não, eu não vou querer apenas
foguetes e tudo bem. Existem apenas dois foguetes.
Eu quero mais de 22 foguetes, e haverá
muitos mais deles. Então, isso é muito
legal e você pode criar placas com diferentes
quantidades de foguetes. Observe que agora
temos
um módulo, duas classes. E desta vez é uma boa ideia
fazer isso dessa maneira, porque esses gases estão semanticamente conectados uns aos outros,
o que significa onde. Isso é sobre os foguetes e isso é sobre Racket, certo? Ambas as classes estão
conectadas umas às outras. Tematicamente. Se você tiver mais, se
quiser ter mais deles, ainda
poderá
colocá-los em um arquivo se estiverem de alguma forma conectados
ao tópico do foguete. No entanto, se essa cláusula fosse longa e
longa, por exemplo elas teriam mais de
100.200 linhas. Bem, isso pode significar um problema porque
precisamos pular aqui. Então, quando você tiver mais código, é uma boa ideia
separar arquivos como esse para que você
possa criar outro
phi e chamá-lo, por exemplo, Racket board BY renomear. E podemos fazer algo
assim, certo? Agora precisamos fazer
importações desse tipo. E também precisamos
importar a raquete porque esse arquivo não
conhece esse rosa, certo? Então, podemos fazer algo como
copiá-lo daqui. Agora, nosso código funciona bem. Bem, não precisamos
importar o foguete aqui. Porque bem, eles se encaixaram
para importar uma placa de raquete. Agora, você sabe exatamente que a raquete está aqui, corpos de
foguetes aqui. E você pode se
concentrar apenas na aula em que
está trabalhando, certo? Mas, para ser honesto, esses óculos são curtos e não há problema em mantê-los
em um arquivo como este. Mas agora precisamos
remover isso aqui. E precisamos remover
essa classe, esse modular. Então, para resumir, está
tudo bem para projetos maiores
com turmas maiores. É uma boa ideia separá-los. Ou você deve
separar as aulas quando elas não são sobre o
mesmo assunto, certo? Então, por exemplo, aqui temos uma
aula sobre raquete, então você também terá uma
aula sobre monitores. Você tem motivos em relação aos
teclados de lá, em relação às pessoas em
relação ao banco de dados. Não os coloque
no mesmo módulo porque mais tarde será difícil para você manter
o projeto dessa forma. Além disso, você
pode criar pastas. Você pode, por exemplo, criar
uma pasta, por exemplo Racket, classes de raquete. E coloque todas as
classes de raquete
conectadas umas às
outras em uma pasta. Então, mais tarde, quando você estiver
examinando o projeto aqui, você sabe que, ok, então agrupados em relação aos foguetes, os foguetes estão dentro da pasta de
colchetes, certo? A classe diz respeito
ao banco de dados que está dentro da pasta do banco de dados. É uma boa ideia criar pastas usando esse botão aqui quando seu produto
é maior, certo? Não para um projeto como esse. Onde temos
apenas duas aulas. Isso é só uma lição.
Muito obrigado.
115. __getitem__, __setitem__ - configurando e obtendo valores usando métodos do dunder: Olá. Hoje vamos
falar sobre como
tornar nosso código mais fácil de ler. Porque observe que agora, quando estamos acessando foguetes, precisamos primeiro chegar
ao objeto do tabuleiro, depois usar o ponto, depois entrar
nos foguetes e digitar o índice de Racket
que queremos acessar. O que, para ser honesto, em uma
situação como essa é uma
boa ideia
, porque não seria melhor
se fosse assim? E bem, o que acontecerá
quando executarmos nosso código, você notará
que usamos algo como objeto
Rocket Board
não está definido como programável. Subscrito, você significará
que não é um índice. Capaz. Significa que você pode
acessá-lo usando o índice. Porque bem, nós
não programamos isso. No entanto, podemos
mudar isso com bastante facilidade. Podemos implementá-lo usando
outro método dunder, que é invocado quando você
está fazendo isso, quando você está fazendo
algo específico. Então, estamos tentando acessar o
objeto usando o índice. Então, para fazer isso, precisamos definir a
função get item,
que, como o nome
sugere, nos permite obter um item específico. Aquele que vai ficar
aqui com esse k aqui, ok? E bem, quais parâmetros
temos aqui? Eu, que é obrigado a
se aposentar por todos os métodos. E há mais um parâmetro
aqui que é chamado de chave. E essa chave contém a
chave que é enviada aqui. Então, se retornarmos aqui
algo como, por exemplo ,
o que
quer que seja, isso será, o valor que
será retornado
para conceder a tau 20.000, certo? Se você agir como agora
o segundo elemento
, serão $20.000. Então, o NLM e você tenta acessar sempre
terão esse valor aqui. No entanto, podemos usar o fato de que temos coisas
boas aqui, ok? Então, podemos fazer
algo assim. Observe que agora a
chave é realmente o quê, na
verdade é sempre isso. Eu não salvei o arquivo
para o primeiro cara. Sempre aquele que
está aqui, certo? Então, como podemos usar esse fato? Observe que temos aqui dentro de
Racket que
podemos agir como se usássemos os itens de obtenção. Então fizemos algo assim, foguetes e
enviaremos aqui a chave. A chave que é enviada aqui. Podemos conseguir o item daquele foguete que
realmente queremos, certo? Agora, quando acessamos
o primeiro elemento, por exemplo ,
assim, você pode ver que o LTU atual
do Racket é oito. Esta é a primeira raquete
que imprimimos aqui. E também aqui, vimos toda
a mensagem disso. Porque observe que estamos
devolvendo a raquete, certo? E Racket é o que é um objeto que tem o
método dunder SDR que esses, todos, estão retornando
esses textos aqui. E é por isso que
temos aqui oito. Então, agora podemos acessar
qualquer elemento como esse. O que é muito legal
porque agora é um pouco mais fácil de ler. Ok, agora você, está tudo bem. Eu não salvei o arquivo. Como você pode ver, quando podemos
remover até mesmo essa coisa. Podemos acessar valores dessa forma, o que é muito legal. Observe que
também podemos alterar os valores. Então, podemos fazer algo
assim em que eu quero alterar o valor da
primeira raquete para, por exemplo, 50. E agora podemos imprimir uma placa de zero e ela se chama
Martin deve ser 50. Agora, precisamos acessar
a altitude, certo? Porque estamos mudando
a altitude. Caso contrário, se você quiser
alterar o valor dessa forma, precisará fazer
algo assim. Ok? Existe outro método chamado set
item que
permite definir o valor
da dissidência aqui. E, como você pode ver, ele
tem parâmetros gratuitos. Então, esse é invocado
quando você está tentando definir o valor usando esse
tipo de sintaxe, certo? Se você quiser apenas obter valor. Você apenas se
certifica implementar o método get
item dunder. Isso nos permite facilitar a leitura do
nosso código. Não precisamos agora estabelecer uma grande meta para mudar os
valores de que não precisamos
fazer algo assim,
barrando foguetes do zero e depois da altitude
e depois igual a 50. Acho que isso é bem mais
fácil de ler do que isso, certo? Podemos chamar isso de
tabuleiro de foguetes. Então, também é ainda mais fácil. Observe que, ok, então
este é um tabuleiro de foguetes e estamos acessando
o primeiro elemento agora, ok, e estamos alterando
o valor para 50. E você pode estar pensando por que preciso especificar
um método como esse? Porque seu computador não sabe exatamente o que
é esse objeto, esse objeto e o que exatamente
você deseja alterar aqui. Porque você é quem
está decidindo o que vai ser mudado aqui e como isso vai
ser mudado. Você pode até mesmo fazer a adição, por exemplo, 22. Cada valor atribuído aqui, que você pode ver, agora é 70 aqui, embora rotacionemos 50, estamos decidindo como programadores
o que está escrito aqui. Você pode mudar
uma coisa moderna
por dentro porque você poderia ter mais
atributos aqui. Outro atributo, por exemplo ,
25, e você pode acessar facilmente outro atributo aqui e
também alterá-lo para, por exemplo o valor que foi enviado aqui no meu novo valor
multiplicado pelo valor. Você, quem decide como será a aparência desse
código? Novamente, talvez vamos remover isso porque isso não é
o que precisamos. É assim que o item definido
e o item obtido funcionam. Temos um erro
em nosso código, pesado. Observe isso, observe que
aqui o valor é segurança, mas aqui de alguma forma recebemos a mensagem de que a altitude atual
da Racket é igual a três. Essa correspondência é impressa
porque Racket é um objeto que tem o método
dunder SCR aqui. Retornando esta mensagem, então por que temos
aqui apenas o valor 50. Por que não há
mensagem como essa, porque ouvimos o
valor atribuído a todo o objeto. Então isso significa que
mudamos o objeto. Agora mesmo. Board of Racket's, qual é o
tipo de placa de colchetes? Observe que é int. Nós realmente fizemos
algo assim. Se tivéssemos uma raquete
assim, certo? Nós já fizemos
algo assim. Então, isso não é uma boa
ideia porque
removemos nosso foguete dessa maneira. Portanto, precisamos dizer exatamente no item definido qual
valor queremos alterar. Papai é o motivo
pelo qual criamos esse item. Caso contrário, o compilador
poderia pensar em criar o item definido por
padrão e definir o valor aqui para
um dos atributos. Mas, para ser sincero, isso não seria uma
boa ideia porque sua escola deveria decidir se você quer mudar a altitude, se você quer mudar
a velocidade quando está fazendo algo
assim, ou mesmo você, queremos pegar outro
atributo ou você
quer apenas imprimir o valor
que é enviado aqui, certo? Porque, bem, você
poderia simplesmente imprimir o valor em vez de alterar
algo assim. Tudo bem, você pode fazer isso. Acabamos de imprimi-lo. Aqui. Devemos acessar a altitude. Se você quiser mudar a altitude, todo esse PD, queremos
mudar essa velocidade. E agora, como você pode ver, a aula é raquete. E quando imprimirmos o valor, será 50. Para a altitude. Nós podemos, se você quiser mudar
o mundo ou a velocidade, mudar
a velocidade. O valor do primeiro método, primeiro iraquiano, esses dois e
aqui também é para escrever, mas mudamos a velocidade. Você vai fazer algo assim. Então, agimos como o Espírito. Como você pode ver, a velocidade é
igual a 50 que acorrentamos, então decidimos o que deve ser
alterado dentro do item definido. Essa é apenas uma boa lição. Muito obrigado.
116. EXERCÍCIO: contando a distância entre foguetes: Olá, meu amigo. Hoje vamos praticar
criando um método que contará a distância
entre um foguete rodado e outro. Então, podemos verificar a
que distância está a outra raquete. Então imagine que você é
um capitão e está voando neste gráfico
aqui como uma raquete. Vamos ver. Você está
começando do ponto zero a zero e
está voando para, por exemplo, 0,6 e o segundo voo de
raquete para 0,10. A que distância dessa
raquete está essa raquete? Deveria ter quatro
pontos, certo? Para 4. Cm importa. Isso não importa. O resultado são quatro unidades, então eu preciso ir de quatro
unidades para ir de a para B. É assim
que funciona. Então você
só precisa subtrair lá, ser a altitude
dos oito dígitos. Se você subtrair o a de
b, então você tem o quê? Seis menos dez é menos quatro. Você não deveria ter um número positivo ou
negativo como
distância, certo? Assim, você pode usar o absoluto, um método que transformará o número negativo
em número positivo. Então, vamos programar isso. Queremos fazer algo
assim quando temos um
tabuleiro de foguetes e agimos como a primeira raquete e fazemos algo assim. Tenha essa sensação. Então, quando enviamos
do tabuleiro Racket's One, eu quero ter a
distância até aqui. Então, precisamos definir
esse método aqui. Então, vamos fazer isso, definir, chamá-lo, ter esse sentido. Precisamos ter aqui primeiro parâmetro
F que
é sempre chamado de self. Então, podemos acessar
a Racket atual, que é essa, certo? Mas o tabuleiro da Racket é de 0,2. Bem, precisamos ter
a segunda raquete que queremos contar a
distância para escrever. Então, raquete, só mais uma raquete. Raquete, certo? Então, precisamos contar
como contá-lo. Precisamos retornar a altitude do
foguete. Do quê? Do eu. Altitude. eu é exatamente o que
temos aqui, certo? Então o quadro de Racket's
of Zero está aqui agora, e o quadro de registros
de um está aqui agora. Então, quando os
subtraímos, obtemos o que podemos
contar até onde estão. Bem, quando executarmos nosso código, você notará que a
altitude atual, nós a arrastaremos. Aqui está 16. A primeira raquete é seis. Então, seis menos seis é dez. Então isso é bom, certo? Acabamos de contar a distância
entre esses dois foguetes. E quando executamos o código novamente, temos números aleatórios aqui. Então, por exemplo, desta vez temos
sem glúten e 12º. Então a distância é nove, certo? Mas obtivemos um número
negativo aqui. Precisamos alterá-lo
usando o método abs. Esses aplicativos, que
transformarão os números negativos
em números positivos. É assim que funciona. Então, da matemática, precisamos
importar um B S. Agora, quando executamos o
código e nenhum local. Ok, eu cometi um erro
porque o ABS é embutido. Portanto, você nem
precisa incluí-lo. Então, vamos executar o
código, como você pode ver agora, temos quatro menos oito e a distância é igual a 40 -14. Ok, então vamos executar
o código novamente. Um menos quatro sem risco. Tudo funciona bem. Agora sabemos como
contar a distância, mas somente se nossos foguetes estiverem se
movendo na mesma linha, estaremos todos
partindo do mesmo lugar. O que aconteceria se
tivéssemos uma raquete que, por exemplo, voasse para o número quatro. E a segunda
raquete, como a B1, começará do x
igual a quatro, certo? Então, ele voaria, por exemplo, dois aqui. Então, o que precisaremos fazer
para contá-lo, certo? Bem, a distância é igual
a quanto, quatro, certo? 12344 menos zero é quatro. Se fizéssemos algo
assim, por exemplo ,
assim, a distância é
igual a 68 menos dois é seis. Então, quando estamos nos mudando de
dois lugares diferentes, por exemplo, da zona chamada Michigan e da zona chamada
Chicago, por exemplo, dissemos que eles tentaram e estão enviando foguetes
com a mesma velocidade e, de alguma forma, conseguiram
estar na mesma altitude. Então também precisamos apenas subtrair esse número
desse número, ok, então contar a
distância no eixo x é o mesmo que se você estivesse
contando no eixo y. O que acontecerá se
você quiser contar, por exemplo a
distância de a a B. Se estiver assim. Isso é um problema, certo? Porque você pode simplesmente
subtrair seis menos dois. Isso não é, essa
coisa não é
definitivamente igual demais, certo? A distância de a a b, você pode verificar a que é igual
essa distância? É igual a 5,65, 6854. Ok, não é
assim que você pode escrever. Você precisa fazer
algo diferente. Você precisa criar
um ponto temporário que criaremos
aqui, um triângulo. E agora podemos ver que
poderíamos usar o
fato de termos algo chamado teorema de Pitágoras. Então, quando eu estiver digitando no Google, você notará que
você pode multiplicar, multiplicar a por si só, multiplicar b por si mesmo. E então, para
contar esse lado, certo, precisamos fazer o
quadrado de algumas
dessas duas expressões, certo? Então, a ao quadrado mais b ao quadrado
é igual a c ao quadrado, o que significa que se pudermos contar o comprimento AC e o comprimento BC, então podemos facilmente contar
essa parte aqui, certo? Então, quatro multiplicado por quatro
mais quatro multiplicado por quatro, e você eleva ao quadrado,
então você tem a distância aqui. Bem, podemos verificar isso, certo? Quatro multiplicado
por quatro mais quatro multiplicado por quatro é na verdade 32. E se você elevar ao quadrado, você vai ter 565,
algo assim. E você pode usar essa ferramenta de
medida aqui. E você notará que, sim, isso mesmo, é
assim que você conta. E podemos usar esse fato
em nosso exemplo. Em primeiro lugar, precisamos
definir o x, certo? Porque agora
estamos entrando em guerra. No eixo y, na altura, estamos nos movendo na altitude x. Então, vamos
atribuí-lo por padrão, por exemplo, zero. Alteraremos esse
valor posteriormente para algo como. Mas, para tornar esse exemplo
um pouco mais fácil por enquanto, faremos isso mais tarde. Por enquanto, vamos pensar como
podemos contar a distância agora? Primeiro, vai de alguma forma
obter o ponto inicial? Porque agora nós o temos
em a e B porque,
bem, observe que temos
um link para o Racket. Racket, vamos chamar isso de,
é entrar aqui nas celas e isso é como
uma raquete, certo? E a raquete de tabuleiro de um deles, que é esse cara. Neste momento, é como Racket, mas não temos
esse lugar aqui. Mas, para ser honesto, quando
você olha aqui, o que você faz, qual
número está aqui? Sempre, se você quiser usar de
alguma forma o teorema
de Pitágoras, observe que a raquete C foi criada temporariamente. Só quero que saibamos como
contar que a distância entre a e B está na
mesma altura de a, certo? Então, o y é igual a quatro e o que está no
mesmo eixo x de B. Então, podemos facilmente saber
onde está c com isso. E nós realmente precisamos
subtrair C de a, certo? Para contar a distância entre
a e C. E precisamos subtrair C de B para contar a distância de c
a b.
E quando temos a distância daqui e
daqui, podemos multiplicar a distância
a e C por si só, multiplicar b, c por si só. E então podemos obter a
contagem com alguns dos resultados. E então podemos contar o quadrado e temos
essa distância aqui. E para ser honesto, você não entende do
que estou falando. Use como programador. Não precisa saber muito de matemática. Talvez você só precise saber como pesquisar na internet
se digitar no Google. Para mim, quando ensinei fórmula
da distância
entre dois pontos
, você obtém o que
acabamos de inventar por conta própria. Então, para contar a
distância entre dois pontos, você precisa subtrair
um do outro multiplicado
por ele mesmo mais y. E então podemos simplesmente
copiar isso em nosso código. Então, precisamos realmente, não
precisamos do absoluto. Agora. Precisamos multiplicá-lo por dois. Precisamos nos multiplicar. Então, precisamos escrever
com a potência de dois. Agora, o resultado é esse, então precisamos adicionar o quê? A mesma coisa que fizemos aqui, mas no eixo x. Precisamos multiplicar
isso por si só. E precisamos
direcioná-la até a raiz dela. Portanto, isso é feito pelo método SQRT, que é da matemática. Dessa forma. Quando executamos o código. Nesta parte e nesta parte, observe que 24 menos dois é 22. Portanto, funciona bem
no nove menos um. Vamos ter certeza do que está
acontecendo aqui. Domínio matemático. Ok, cometemos um erro porque esse parêntese é
desconhecido, essa parte, certo? E funcionou bem porque
realmente entendemos a mudança de
altitude. Então, devemos fazer
algo assim. Como você pode ver, os programadores, mesmo que tenham
experiência, cometem erros. E esse erro
foi cometido porque eu tinha parênteses que não
removi, seja, eu não precisava deles. Vamos fazer isso dessa maneira. E agora está funcionando bem. Você pode até
melhorá-lo fazendo algo como se você
entendesse essa parte do código, você poderia chamar isso, por exemplo , a, b igual a algo
assim, ou talvez x, y. E você pode simplesmente digitar aqui x, y, e então podemos, por exemplo, Obrigado. Talvez ligando para DC AC,
algo assim. Ac, bc agora está
funcionando bem sempre. Mas o que acontecerá quando
fizermos algo assim? Digamos que essa raquete
do tabuleiro de colchetes, a primeira, tenha x igual
a, por exemplo três. Estamos partindo
de uma posição diferente. Agora, como você pode ver, o resultado aqui é estranho, certo? Não é o mesmo de antes. Então, vamos ver
como fica, na verdade, no exemplo, estamos usando a
calculadora gráfica. Então, nosso primeiro cara está em x igual a três
porque o definimos como três e y igual a dois. Então, temos uma raquete que
começa de graça, onde está aqui, e
ela salta para aqui. Então essa é a nossa raquete. E o segundo cara
tem x igual a zero porque
esse é um valor padrão. E ele correu até a dezena. Então, fazemos
algo do zero ao bronzeado, então precisamos, desculpe, vou
movê-lo um pouco assim. Agora temos muito
mais conteúdo do que o normal. Então nós temos isso,
algo assim. Então, nós realmente
contamos, realmente criamos
um cara assim. Contamos a distância
entre isso e isso, isso e isso. Multiplicamos a
distância entre C, D por si só, depois somos
vistos por si só, contamos a raiz dela. E contamos isso. Então, se eu fizer algo assim, comprimento da
distância, você
notará que o resultado é 854, algo assim. E é o mesmo aqui, certo? Então, é verdade.
Temos dois foguetes. Agora imagine que você é
um capitão e diz “Ei, você sabe o que? Eu gostaria de voar daqui. E eu te dou minha
posição para você e me digo o quão longe você
está e você está, tipo, eu não sei, mas eu
tenho a função. Eu tenho um computador
que pode contar isso para mim. Então me dê sua posição. Ok. Então ele está dando
a posição para seu computador e ele
obtém a distância. Agora, podemos até mesmo melhorar seu programa, porque
você pode, por exemplo verificar a quantidade de gasolina
que você tem dentro para que possamos criar gasolina em mente. Mas para os montes e, por exemplo , são 500, você pode verificar se consegue chegar lá
com sua velocidade do gene N. Dependendo de quanto desse
motor está consumindo gasolina por unidade de distância que você está percorrendo,
você pode contá-la. Isso é um pouco avançado, mas sim, você pode fazer
coisas assim. É assim que os jogos
são criados, certo? E então você pode simplesmente criar uma interface
gráfica de usuário
e importar o URL. Portanto, você não
poderia fazer nada
parecido com a autoimagem de Racket. Você pode colocá-lo dentro do
seu projeto e enviar o caminho do resort para a imagem
que está em seu projeto. Você pode mostrá-lo
em sua interface gráfica de
usuário sozinho, alguma forma mais simples, mas é um pouco mais avançado
e há muitas,
muitas coisas que você precisa
para selá-las, como, por exemplo interface
gráfica de usuário para ela. Agora você não sabe, mas
pelo menos quando eu te mostrei agora, a possibilidade é que
você possa dizer que programar usando programação
orientada a objetos pode ser útil, certo? Você pode ver até onde isso pode ir, como isso pode mudar no futuro. Observe que agora estamos
definindo o x aqui. Bem, poderíamos melhorar
nosso programa, por exemplo permitindo definir a altitude
como um dos principais argumentos. Então, por exemplo, podemos defini-lo
por padrão como zero e x definir para comer por
padrão como zero. Mas se alguém enviar. Então, precisamos fazer
isso assim agora, então isso será alterado. Ou quando agimos a
partir do código aqui, agora
podemos criar facilmente minha raquete e fazer
algo como Racket. E basta definir, por exemplo, a altitude para dois
e X2, por exemplo, para. Mas precisamos importar a
raquete também daqui. Porque agora importamos
a placa de raquete. E como você pode ver, podemos contar com o x assim. E quando pudemos até mesmo contar
a distância desse tabuleiro até a Racket, nem
mesmo dentro do tabuleiro. O que é estranho, você não acha? Mas nós permitimos fazer isso. Nós poderíamos fazer algo
assim . Minha raquete. Como você pode ver, podemos contar
a distância facilmente, por exemplo, para facilitar,
posso pegar isso sob o comando e simplesmente definir
a altitude para, por exemplo, gratuitamente. E como você pode ver, a distância 6-3 é 310,3. É sete porque dez
menos três é sete. Se definirmos x também, os resultados não
serão o valor normal, que é inteiro para
ser um número flutuante. Porque bem, é assim que você conta usando esses métodos de
obtenção de distância, certo? Isso é poderoso, certo? O que fizemos agora. Como eu disse, a uretra, você pode melhorar muito esse código. E para ser honesto, você não precisa entender tudo o que eu
disse nesta palestra. Você não precisa saber como
inventar uma fórmula
como essa. Você pode simplesmente usar o Google. Você é programador. Você não precisa saber
onde você pensa. Você pode simplesmente digitar as coisas certas no Google e encontrar uma solução
como essa, certo? Então você pode simplesmente
programá-lo
assim e ele não funcionará bem. Observe que agora, quando
criamos nossa placa de foguete, aqui estamos enviando o quê? O valor da velocidade, porque esse é o
primeiro argumento aqui. Não estamos definindo
altitude e x. Você pode facilmente criar valores
aleatórios para cada, para altitude e x para
cada raquete, se quiser, você pode tentar fazer isso como um exercício e então você
pode criar a bola de raquete e tentar contar uma ou a distância de uma raquete
para outra raquete. Como exercício, tente escrever
esse código sozinho. Isso está tudo nessa lição.
Muito obrigado.
117. É importante entender a matemática que foi usada na última palestra?: Olá, Depois da última aula,
você pode dizer : Oh meu Deus, há matemática aqui. Eu não entendi essa parte. Nosso cardio, o que posso fazer? Ainda posso ser programador? Se você não sabe
como essa parte do código funciona, não se preocupe. Porque você, como programador, não precisa necessariamente
programar esse tipo de código, ok? Outra pessoa pode fazer isso. Como programador,
talvez você só precise
projetar quais métodos e onde
esses métodos devem estar. Então, por exemplo, ok, então eu preciso projetar
foguetes que, ok, precisarei de um método para obter a distância
entre esses colchetes. Ok, então eu vou colocá-lo aqui e vou fazer
algo assim. Esse é outro programador que
o implementará. O cara que sabe como
otimizar coisas
assim, certo? Você não precisa se importar em
como fazer isso porque, bem, há muitos
programadores em uma equipe, certo? Derman e responsabilidades, é
claro, Alemanha, outros
motivos pelos quais você não precisa saber como funciona. Bem, suponha por um segundo que esse código foi escrito
por outra pessoa. Não foi escrito por mim ou por você. E se você os vendesse? Para ser honesto, você deve se
interessar apenas em saber se funciona, o que faz, não
como funciona. E você também já fez isso
antes muitas vezes. Quando você pode estar
se perguntando, por exemplo ,
quando você abriu fogo, havia uma função
chamada Abrir. E o que você quer saber como isso
aconteceu em segundo plano? Agora, você só sabia que
isso abria o arquivo. Você não teve tempo de usar esse método e ver como
alguém o programou. Outro exemplo, bem, você
não se pergunta como você processa dados
json no objeto Python usando algum tipo de método de decodificação
JSON. Isso só acontece em
segundo plano. Vocês, como programadores,
usam sua funcionalidade. Você nem sempre tem
tempo para verificar o que está em segundo
plano, ok? Não adianta reinventar
a roda toda vez. Lembre-se também de que você não
precisa necessariamente ser responsável pela mecânica do movimento
do foguete. Assim. Existem muitos programadores. Você pode ser um programador, os
aplicativos de design, fóruns. Não há matemática
alguma em programas como esse. A menos que você esteja fazendo
outro Photoshop. Você pode criar
sites usando Python. Você já viu matemática em sites? É muito raro, certo? Além disso, mesmo que você não
entenda essa parte da nuvem, mas
entenda a causa. Então, por exemplo você sabe que essa coisa é realmente algo que vai estar aqui. Essa coisa é algo que
vai estar aqui, ok? E isso vai
me devolver a boa distância. Então é assim que eu
obtenho a distância entre um
foguete e outro. Você sabe como
usar essa função. Se você sabe disso, isso é o suficiente. Ok? Você pode facilmente continuar as próximas palestras
sem problemas, mesmo que elas sejam
baseadas nesse problema, presume
que
seja assim, ok? Além disso, isso só me
permite obter a distância. Ok. Não me importa o que há nisso. Você fez isso antes.
Como eu disse anteriormente, até
fizemos isso na última
palestra usando o método abs. Observe que abs escreveu o
valor absoluto do argumento. Você não sabe como isso acontece. Você poderia
programá-lo sozinho,
mas, para ser honesto, por quê? Bem, você pode fazer isso para praticar sua habilidade de programação para
essa coisa, é uma boa ideia. Mas, para ser honesto, você não se importa, basta usar, ok, é assim que
você deve programar. Caso contrário, não
teremos tempo para programar. Então, a menos que você esteja
interessado em criar jogos como a física, certo? Quando você é
responsável pela física dos jogos
, não precisa se
importar, certo? Mas, no caso de criar física de jogos, lembre-se de
que o conhecimento de matemática também é uma
habilidade importante que você precisa adquirir. E isso vai ser dez
vezes mais difícil do que essa parte. Mas em outros casos, você não
precisa se importar e
ainda pode se divertir programando. Ninguém é perfeito. Ninguém precisa
saber tudo. Eu também não sou perfeito. Ninguém se lembra de que
eu também cometi muitos erros? Até eu os faço quando
faço os vídeos aqui, às vezes eu não os conserto. Eu não paro o vídeo
e depois penso neles. Eu apenas mostro que os
crio para garantir que você entenda que
somos apenas pessoas. E as pessoas cometem erros. E se você ver
algo assim, não ficará confuso ao
cometer um erro, certo? A primeira coisa que você
saberá como consertá-lo e a segunda coisa que você
entenderá é que é
normal cometer um erro. Eu sei que alguns
professores dizem: “
Ei, você cometeu um erro. Bom significa que você não é ruim. Para ser honesto, você nem
deveria se
preocupar em assistir a esta aula. Por que diabos você está aqui? Algumas pessoas são assim, mas não as escutam. Você quer ser
bom em alguma coisa. Você só precisa se ater a
isso e dedicar algum tempo e você será ainda
melhor do
que essas pessoas que falam mal do, ok. Isso é apenas o suficiente. Tudo isso é uma boa lição, então sempre
há
alguma dúvida, fique à vontade para perguntar.
118. Métodos estáticos: Olá, meu amigo. Hoje vamos falar
sobre métodos estáticos. O exemplo prático, olha, temos a imagem de
Racket de que você é um capitão
e pode obter uma distância até outro mapa de foguete
mostrando
o método, o nome da raquete, o objeto que você está
procurando, certo? E você diz, ok, então eu posso me esmagar e a raquete do universo como essa pode se distanciar deles
e então eu posso voar até eles. Bem, seria uma boa
ideia dar a ele também a posição
de outra raquete, certo? Porque a distância talvez
não seja suficiente para correr. Ei, sim, isso é legal. Que demos uma grande característica a alguém que sabe usar raquete. Então, provavelmente
será uma boa ideia mover isso para este lugar, certo? Bem, se estamos aqui agora, estamos acessando a nós mesmos. Temos celular, estamos
acessando o quadro. Não estamos acessando Racket, raquete da qual queremos contar
a distância, certo? Então, para ser honesto, precisamos que a Racket seja enviada
para cá agora. Então, coloque um suporte em
algo como a raquete, uma raquete para em vez
de si mesmo, certo? Agora não a estamos invocando
na raquete, raquete em si, mas
devemos invocá-la
no tabuleiro, certo? A distância que queremos obter,
a distância de um foguete
para outro. Então, estamos contando na
porta dos foguetes a distância entre a raquete número um e a número dois, assim, por exemplo, quando você executa o código, contamos apenas de
dez é dois, certo? Então está funcionando bem. E bem, movemos a lógica, então movemos o método, eles se
distanciam daqui até aqui quase adequadamente, porque
devemos pensar por um segundo, ele será usado em qualquer lugar
aqui neste método, eu. Não estamos usando selfie, certo? E porque, por que
devemos nos preocupar em usá-lo aqui? Obtivemos todas as informações desse parâmetro
e desse parâmetro. Portanto, este é um momento em
que você pode simplesmente especificar esse método como um método estático usando algo
chamado decorador. Então, para criar um método
estático, você escreve antes desse
método, algo assim. Isso mudou alguma coisa? Bem, sim, ao
executar nosso código, você notará que
algo não está funcionando. Por quê? Como falta a distância para obter um argumento posicional obrigatório acabamos de chamar de raquete. Neste momento, devemos enviar aqui neste lugar
um terceiro argumento. Por que isso? Então, como o eu agora
não existe realmente, poderíamos chamá-lo do
que ele viveu, por exemplo ,
qualquer coisa, ou outra
raquete e outra raquete. Para ser honesto, o
método estático remove sua capacidade de acessar o objeto atual em
que você está trabalhando. Ok? Portanto, você não é
capaz de fazer algo como agora se autopontar e acessar
foguetes
que estavam dentro da classe
Rocket Board. Em cada objeto criado usando a classe
Racket Board, você pode acessá-lo
agora mesmo porque esse é
um método estático. Isso é o que ele faz. método estático remove
a capacidade de você
acessar a propriedade própria, certo? Aqui pode estar se perguntando por que eu gostaria de
fazer algo assim? Isso só leva tempo
para pensar sobre isso. Existem algumas vantagens,
e também são vantagens. A primeira coisa é
que, no momento, você nem precisa
criar a placa do foguete. Estou farto de colchetes como esse. Para contar a distância
entre as raquetes agora, agora, você pode até fazer
algo assim. Minha raquete e outras
raquetes são iguais a essa. E você não usa aqui o Board of Rocket porque
ele não foi criado. Você pode usar a própria
classe de barcos Racket assim. E agora podemos mandar minha raquete para cá e
outra para cá. Ok? Então, porque podemos
acessar a nós mesmos, certo? Não existe aqui. Podemos acessar usando o
nome da classe get distance method. Ok, é por isso que podemos
fazer algo assim. Podemos acessá-lo a qualquer momento porque os métodos estáticos
são muito importantes. O que vou dizer é que ela
existe sempre, mesmo que
não criemos uma
instância dessa classe. Então, ainda não criamos nenhuma placa de
foguete, certo? Criamos dois foguetes, mas não
criamos o raquetebol. Ainda podemos contar
a distância entre os foguetes que enviamos
aqui como argumentos. Ok, então essa é a
primeira vantagem. A segunda vantagem é que ela não consome
tanta memória
agora como se tivéssemos
criado foguetes como antes. Quando tivemos a distância
contabilizada aqui, certo? Se tivéssemos criado, por exemplo uma lista de 500 ou cinco
milhares de foguetes. Precisaremos criar cinco milhares
desses métodos internamente. Como o Python precisa,
precisa criar aciona todos os métodos para criar uma
instância de classe, ele precisa vincular todos os métodos. E isso requer um pouco
de memória, certo? No caso de tê-lo aqui, estamos realmente tendo coisas boas. Bem, se tivéssemos
mais placas de raquete, ainda assim seria apenas um único método estático,
porque métodos estáticos não precisam ser replicados porque
não precisam acessar a si mesmos. Portanto, não precisamos acessar cada objeto que será
criado a partir da placa de raquete. Formulário, certo? Quando criamos a prancha de
raquete, assim, tabuleiro um, criamos
mais delas, certo? Temos apenas um método de
obtenção de distância, embora tenhamos criado
três deles. É por isso que consome menos
memória é mais rápido um pouco, certo? Então, agora
podemos acessá-lo usando
objetos como este, certo? Isso vai funcionar bem
porque você pode fazer isso. Mas, para ser sincero, não use sempre essa sintaxe. Se você estiver usando a métrica
estática e eles souberem que você está
usando o método estático, use o nome da classe porque
você está sinalizando que está dizendo a outros programadores
nesta parte do código, ok? Esse cara não está trabalhando
no objeto em si. Observe que os objetos
são iniciados com o quê, não com letras maiúsculas. Eles são iniciados
com caixas menores. O nome da classe
começa com letras maiúsculas. Então, dessa forma,
quando olhamos aqui, sabemos que a distância é o método estático e o
que a informação fornece? Bem, você sabe instantaneamente que não
vamos trabalhar dentro do método à distância
nessa parte do código. Porque, bem, se você
fizer algo assim, você pode estar pensando, ok, obter distância é de alguma forma fazer
algo no tabuleiro. Um por problema da Babilônia. Talvez, talvez sim, talvez não. Mas quando você faz assim,
ok, então esse é
um método estático, ele só funciona
nessas duas variáveis, certo? É assim que funciona. Portanto, isso consome menos memória e também é um pouco mais rápido
inicializar um objeto como esse. E só é inicializado
para uma única classe, certo? Você não precisa inicializar
as classes para usá-las. Essa é a diferença entre o método estático e o outro. E também, é claro,
você não pode acessar o objeto atual
porque
não há nenhum objeto que você possa acessar. O método estático sempre existe, então seria estúpido
se pudéssemos acessar objetos aqui. Você também pode estar se
perguntando por que não fazer isso dessa maneira. Porque o que chamamos, remova-o do escopo da
classe, certo? Quando fazemos assim, a boa distância
está realmente aqui. Agora, poderíamos realmente fazer
algo assim, obter distância e bem, poderíamos importar get distance. E também vai
funcionar bem. Então, por que não? Por que, por que, por que se preocupar em
fazer isso assim, como um método estático para tornar seu código um pouco
mais fácil de manter. Bem, fizemos isso de uma maneira boa
agora porque
colocamos o método da boa
distância dentro de um módulo que está
conectado ao Racket. Então, pelo menos, seremos
capazes de achar isso muito fácil, certo? Mas, para ser sincero, o método da distância está conectado
a uma bola de raquete, certo? Então, quando você está olhando para
essa parte do código, se, por exemplo,
fecharmos isso por um segundo, veja, estamos contando
a distância. Mas na água, contamos
esse lugar estranho e distante? Está sendo combatido? Certo? Você não conhece
essa parte do código. Vamos remover isso. E você diz, ok,
então o Twitter é Racket, raquete dois e estamos cortando distância de um para o outro. É tudo neste casaco. Provavelmente como você
pode estar pensando, mas quando você está fazendo
isso dessa maneira, certo? Que estamos contando
usando o nome da classe. Então, a prancha de raquete está nos
permitindo contar
a distância nela. Então isso é, isso está
contando com o foguete, certo? É um pouco melhor, acho que agora
faz a primeira coisa. A segunda coisa é que,
quando
clicamos nela, temos uma notícia que não temos
agora porque a removemos. Divida a conta e vamos
trazê-la de volta aqui, certo? Portanto, esse é um método estático como esse bloco recuado. Isso é
recuado erroneamente de cursos por mais tempo recuado assim. E agora, obter distância do
foguete não está funcionando bem, porque estamos
tentando inserir algo que não existe aqui. Agora. Bola de raquete que se distancia, temos uma dica que normalmente precisaríamos obter
de algo assim. Obtenha distância. É claro que obteremos uma dica da distância, da maneira como eles
fizeram isso, obteremos a distância. Mas imagine que você tenha milhares de
métodos e milhares de
coisas
boas em seu programa. Então, se você digitar o GI E e houver vários métodos aqui, será difícil encontrá-lo. É por isso que é uma boa ideia
usar apenas um método estático. Portanto, lembre-se de que não precisamos deles. Nós podemos simplesmente fazer
algo assim. Obtenha a distância entre
minha raquete e, em seguida, outra raquete realmente funciona bem. Dissolvendo essa lição.
Muito obrigado.
119. Definir tipo de variáveis usando anotações - Extensão do Pyright: Olá, meu amigo. Hoje vou mostrar como
descrever o tipo de variáveis. Portanto, forneça
informações adicionais para outros programadores aqui ao
lado da variável. Então, eles não. Que
tipo é essa variável? Porque agora, quando
você está vendo nome
do foguete, bem, você pode supor que provavelmente
é uma raquete aqui, mas poderíamos ter algo
como Space Shuttle. Pode haver muitos tipos
de foguetes e talvez devêssemos informar aos outros que
tipo de raquete está morto. Ou talvez devêssemos dizer aos outros o que será
retornado por esse método. Agora precisamos olhar aqui,
certo, para ver, ok, então esse é o retorno
da raiz de algum
tipo de coisa, certo? Mas, para ser sincero, você
precisa dar uma olhada aqui para saber
qual tipo será devolvido. Olhando aqui,
sabemos que, ok, vai
ser açoitado, certo? Mas poderíamos nos informar sobre isso, por exemplo, fazendo
algo assim. Então, podemos fazer uma
flecha como essa. Então, fazemos o traço
e o sinal. Em seguida, nós o conectamos. Então, temos uma seta aqui. Em seguida, digitamos o tipo que
será retornado aqui. E isso é apenas uma informação
adicional. Você é Não, você não tem
um requisito como este. Se você retornar,
por exemplo , pois isso é um número inteiro, esse código ainda
funcionará, certo? Temos aqui a
informação de que não
usamos um hemograma completo. É por isso que você cometeu um erro
de fiapo, certo? Você tem um aviso aqui, mas pode devolver até mesmo foguetes. Tudo depende de você. Você
pode fazer o que quiser. Isso é só uma dica, uma dica aí. Isso pode ser útil quando você está
fazendo coisas assim. Ok, então, tenho a informação aqui de que ele
retornará um carro alegórico. Como você pode ver, você também pode fornecer informações sobre
parâmetros. Então, podemos fazer algo
como Racket. Raquete. Então, para especificar
o tipo de variável, adicionamos a coluna
aqui e, em seguida, qual o tipo dessa variável, o objeto, deveria ser. Certo? Agora, quando fazemos
algo assim, obtemos distância, podemos ver, ok, então raquete é realmente uma
viagem de foguete aqui e podemos até mudar o nome agora para que não tenhamos
tantos foguetes aqui. Poderíamos chamá-lo, por exemplo, objeto. E o segundo
cara que poderíamos chamar objeto escrever isso, podemos fazer isso agora, porque isso ainda é autodescritivo. Podemos ver aqui que esse
objeto é realmente Racket. Prancha de raquete. Tenha a sensação que você pode ver. Ok, então os primeiros
objetos devem ser raquete, os segundos devem estar esfarrapados
e isso nos fará flutuar porque terão uma nota decente. Isso é o que devemos esperar
ao usar esse método. Agora até poderíamos fechar isso. Agora podemos obter essas coisas. Ok. Então,
eu sei que preciso enviá-la para foguetes e
vou conseguir fluxo. Você nem precisa
ter o arquivo do foguete aberto. E isso pode ajudá-lo. Essas são todas as vantagens
que obtemos? Não. Se você removê-lo, observe que agora, se
tentarmos acessar, por exemplo , o
objeto, não
temos nenhuma dica. No entanto, se dissermos
que isso é Racket, dizemos
exatamente que esse
objeto é Racket. Agora temos dicas que podem acelerar
seu trabalho, certo? Porque você não
precisa lembrar de cor todos os métodos e
propriedades dos objetos. Às vezes, pode ficar atolado, mas na maioria das vezes
vai funcionar. Não sei por
que está ficando um bug, talvez seja o problema
dessa versão. Mas na maioria das vezes, como você pode ver, você vai receber dicas agora
antes de não, você não receberia. Então, isso é muito
útil para isso. Você pode especificar qualquer variável, não apenas parâmetros, lagos, por exemplo criar o inteiro x, e tudo bem. E agora podemos atribuir a ele, por exemplo quatro e depois imprimir x. E quando eu imprimo,
ele imprimirá quatro. O que aconteceria se eu fizesse
algo como 45 pontos? Isso vai funcionar? Sim, vai funcionar porque isso é apenas uma dica, é
apenas uma anotação. Não há requisitos em relação à
especificação do tipo. Então, sim, você pode enviar para a distância de obtenção 4.5
e você não será informado, mesmo acima, o que pode estar em seu
editorial porque alguns editores podem usá-los em um tipo
de informação. No entanto, o código do Visual Studio
não faz isso por padrão. Se você quiser se informar, você precisa fazer o download
agora mesmo, chamaremos apenas a
pirita e a instalaremos. E agora observe que
seremos informados, certo? Ei, a expressão do tipo
não pode ser atribuída para declarar o tipo int
porque o declaramos como int. E float é
incompatível com ain't, certo, porque esse não
é o mesmo tipo. Mas você pode executar esse código e ele
funcionará corretamente. Isso não afetará seu programa. No entanto, você será informado
instantaneamente sobre o erro. Então, se fizermos algo como uma prancha de
raquete e, por exemplo,
fizermos algo assim, nos
distanciarmos e cometermos um erro. Então, eu não envio
raquete aqui, mas, por exemplo ,
4.5, e daí? Temos um erro aqui,
ok, você deveria ter
enviado o bolso, não o fim. Isso é muito útil, não é? E isso torna seu código
menos propenso a erros. Isso é muito importante para você. E se eu quisesse definir o valor padrão para o x
ou o valor inicial, certo? Eu não gostaria, eu não gostaria
de tê-lo em uma linha. O valor atribuído
à variável x. Bem, eu só estou fazendo
assim, ok? Então você pode fazer isso em uma linha, o que também significa que, sim, você pode fazer isso, você pode
especificar a velocidade, altitude e x aqui. Você pode fazer algo assim. A velocidade vai falhar, a altitude não pode ter falhas e o x vai ter falhas. Observe que nosso
formatador também garante que
ele tenha uma boa aparência. Portanto, há dois pontos nesse espaço, depois o defeito e, em seguida, o espaço
é igual a um. Isso é ótimo. Então especificamos
para raquete todos os parâmetros, como você pode ver, isso é ótimo, não é? Observe que, olhando agora aqui, podemos ver instantaneamente
o que devemos enviar. Eu realmente amo isso,
esse recurso. E há um problema
com esse recurso, pelo
menos na versão do
Python que estamos usando agora, que é 3.8 no momento. No futuro, isso
será corrigido. Observe que se fizermos
algo assim, vamos tornar esse
método estático, certo? Então, esse vai
ser o autoteorema. E observe que quando
tentamos executar o código, ele não está funcionando bem. Diz que a raquete não está definida. Por que isso? Então,
porque em Python, os métodos estão sendo
criados primeiramente, depois são adicionados, anexados à classe. Ok? Então, seu compilador, seu intérprete, diz: “Ok, vamos criar esse método, esse método, esse método”. E ele diz: “Ok,
vamos criar isso. Mas o que é Racket? Não sei o que é
isso aqui, certo? Ainda não foi criado. raquete ainda não foi criada, então ele não
sabe disso e você pode resolvê-la de algumas maneiras. A primeira, que
é a pior, é fazer algo assim. Porque, bem, se ele
vê cordas aqui, então ele pode simplesmente passar isso. E depois vai funcionar. Tudo vai
funcionar bem porque será preso a uma pedra e, em seguida, a corda
se transformará em justiça. Mas por que é a melhor solução? Porque, bem, você
pode fazer algo desse exemplo e
nem vai perceber isso, certo? Bem, nós, felizmente para nós, temos a pirita CSP
instalada e eles nos ajudam. No entanto, ainda não o use
porque ele simplesmente
não está olhando. Isto é, é
assim que deveria parecer. Mas como podemos usar esse
recurso com essa aparência? Precisamos importar para
todo o futuro a partir das versões futuras do Python, algo chamado anotações. E então vai funcionar. Não me lembro de que deveria ser a primeira importação em seu módulo. Caso contrário,
simplesmente não funcionaria. Então, em casos como esse, o foguete está
dentro da raquete, certo? Então, lembre-se de que você
precisa importar isso, talvez em futuras adições, você não precise fazer isso para adultos
ou mesmo um dedo sobre isso. Mas eu, como professora, deveria informar sobre isso porque senão
você dirá por que não está funcionando,
por que não está funcionando? Não está funcionando porque ainda não foi implementado
dessa forma. Então, talvez eu leve isso de
acordo com o comentário. Porque essa é a solução
que queremos, certo? Observe também que
agora, por exemplo, quando
retornamos float, certo? Assim. Então, quando fazemos algo assim, vamos supor
algo assim. O que acontece se
você fizer assim? Observe que, bem, float é
incompatível com n, certo? Então, precisamos fazer a nuvem. A nuvem é compatível com flutuadores, então precisamos ter o mesmo
tipo mesmo quando você a devolve. Mas se removermos a pirita, isso não vai nos
ajudar tanto. Ainda assim, é útil
por uma questão de legibilidade
do seu código quando você está
olhando agora à distância, você sabe exatamente agora que ok, o objeto realmente
será um objeto de foguete, certo? Exatamente. Conte isso olhando exatamente isso. Vai voltar a flutuar. Em palestras futuras. Podemos usá-lo às vezes, mas não o faremos com frequência
porque não
quero me concentrar em coisas assim. Cada palestra, tudo bem. Devemos nos concentrar em uma nova
sintaxe, em novos recursos. E as aulas seriam
muito longas se eu tivesse que
criar o tipo de cada
variável de matriz e dizer por
que deveria ser assim. cada palestra, seria simplesmente estúpido
perder tempo assim. No entanto, é altamente recomendável usar seus produtos mesa que, se você estiver
trabalhando com outras pessoas, pergunte se
elas querem usar. Porque esse recurso
é muito novo e algumas pessoas
podem não gostar dele. Esse é realmente um
recurso usado em outras
linguagens de programação, como, por exemplo, Java ou C plus plus. Eles são obrigados, como programadores,
a especificar o tipo. E quando você especificar o tipo, você não
conseguirá compilar o programa se os
tipos não forem os mesmos. Aqui, você
obterá informações adicionais
usando a extensão pyrite, mas ainda poderá compilar
sua execução do programa. Então, use se quiser. Não use se
você não gostar, eu
recomendo fortemente por pelo menos seis. Tornando seus métodos
um pouco mais difíceis, um pouco mais fáceis de entender. Só há a lição.
Muito obrigado.
120. __len__: Olá. Hoje, você
aprenderá sobre outro método dunder
que é invocado quando você usa o
método Len no objeto. Então, se você fizer
algo assim, eu quero ver o comprimento do tabuleiro e dos dedos,
segundos mais ou menos. O computador não sabe. O que você quer dizer com
comprimento do tabuleiro? Para ser honesto, você não sabe. Qual é o comprimento da prancha. É o tamanho da porta
ou talvez a quantidade de foguetes que estão dentro do
parafuso, seu próprio gibão. Então é você
quem está decidindo o que
ele vai devolver. É por isso que você precisa criar um método dunder
parecido com este. E você acabou de retornar
a reta numérica. Devolvemos cinco toda vez
que você pode fazer isso, certo? Agora, são sete aqui, mas retornarão cinco
, retornará
o que está aqui. Mas precisamos devolver a
quantidade de foguetes, certo? Então, vamos fazer algo assim. Foguetes automáticos. Então, agora estamos acessando a
lista de Racket e vou invocar terras
nela porque eu sou o mínimo
que podemos evocar comprimento. Já está
implementado,
alguém já programou
como vai funcionar. Agora, quando executamos o código, como você pode ver, são sete. Se mudarmos o número aqui, ele também mudará. Eu não salvei o arquivo.
É assim que funciona. Mas espere um segundo antes de
encerrarmos esta palestra, vamos pensar um segundo sobre como podemos
resolvê-la de outra maneira. Observe que podemos fazer
algo assim. Mas a Racket's, estamos
acessando. Racket está aqui agora. Podemos invocar terra nela. Isso também vai funcionar bem. Mas ainda não está implementado
no objeto, certo? Exatamente em qual terra de
algo você deseja acessar. E você pode até mesmo
limitar o acesso aos atributos sobre
os quais
não poderemos falar no futuro. Essa é a melhor
maneira de resolvê-lo. Essa é a primeira coisa. Como você pode resolver
isso. A segunda maneira é criar a função, por exemplo, vamos criar uma função. Então, assim, obtenha a
quantidade de foguetes. E você pode simplesmente devolver a mesma coisa que
voltou aqui, certo? E então você o invoca dessa forma. O que também é muito
bom, porque então fica mais
fácil ler o tabuleiro, ok, a bordo, eu vou pegar
a quantidade de foguetes. E o que mais? Observe que agora podemos fazer algo assim
quando colocamos um ponto aqui. Em seguida, obtemos as dicas e podemos encontrar a quantidade
de colchetes aqui. Outros programadores podem
não saber que você implementou o método
len dunder. Ok? Então, quando eles fazem
algo como esta terra, eles não sabem o quê. Eles podem até colocar a placa aqui, as placas de objetos aqui. Porque então, dar uma olhada
na descrição. Portanto, é uma boa ideia
ser honesto ao criar esses
dois métodos, Duan, para que você possa deixar assim, mas vamos melhorá-lo um pouco. Porque imagine que você precisa
contar o comprimento um pouco melhor. Como se você precisasse criar um pouco de Coty, faça algum código aqui, certo? necessário que haja um código aqui. Então, quando você estiver
vendo isso aqui, você também precisará
copiar isso aqui, certo? Portanto, não é uma boa ideia
repetir um código como esse. É melhor usar o
código que
já foi escrito em
sua classe. Você pode fazer isso
invocando uma boa quantidade
de colchetes como esse. Agora, tudo o que você colocar aqui também
envolverá veículos. Bem, ajuste a invocação
a partir do método de comprimento que obtém
a quantidade de foguetes. Então, é como quando alguém
envolve pousar a bordo, o computador pula aqui e ele está pulando
daqui para cá. Ele retorna o comprimento da raquete, e volta aqui, e devolve a
raquete de lentilhas aqui, certo? É assim que funciona. Portanto, acho que é uma
boa ideia fazer isso dessa
maneira, porque você permite que
outros programadores
escolham de que forma desejam contar a
quantidade de raquete. Se quiserem usar o
método de comprimento que não
precisam conhecer na situação
atual. Tudo o que eles podem usar
é apenas a quantidade de raquete. Você pode até mesmo contar a eles. Bem, você pode usar, você pode usar o método
Len, Len em vez deste. Você pode importá-los, certo? E eles saberão disso agora. Para que eles possam aprender como
sua classe funciona. Se eles não leem
porque são preguiçosos como todo programador, ele simplesmente usará seu método. Ok, isso está tudo nessa
lição. Muito obrigado.
121. variáveis classe / estáticas - criando usuário com ids exclusivos: Olá, meus amigos. Hoje você vai
falar sobre variáveis de classe em
outras linguagens. Eles são chamados de estáticos, o que significa que são compartilhados entre cada instância da classe,
portanto, entre cada objeto. Portanto, se você criar um valor
para uma variável estática
, esse valor será
compartilhado entre cada objeto. E vou mostrá-los em um exemplo
prático em que criamos o usuário da classe. E vamos, por exemplo, criar
aqui um nome e atribuir-lhe John. E agora precisamos de
usuário, importação, usuário. E podemos criar facilmente um
objeto usando o usuário, certo? Mas, para ser honesto,
não precisamos criá-lo. Porque eu minto para você um
pouco sobre essa linha, o início do curso, que eles iniciam esta seção,
aquela seção de programação orientada a objetos. Porque quando você cria
uma variável como essa
, você não a
cria usando o self. Você criou assim. Você está criando aqui uma variável de classe,
às vezes chamada de estática, o que significa que
ela existe sempre mesmo que não criemos
uma instância do usuário. Ok, então isso é muito parecido com o método estático sobre o qual
falamos, certo? Então, podemos acessá-lo, certo? Assim, user.name, fácil. Nós podemos fazer isso assim. Podemos
acessá-lo e ele vai funcionar. Temos aqui John, como você pode ver, não
criamos nenhuma instância. Você pode criar um como, por exemplo podemos fazer algo
assim e ser vistos. E observe que, bem, não muda nada
quem pode acessá-lo usando o usuário. E também podemos fazer
a mesma coisa. Quando fazemos assim. Podemos acessá-lo usando o objeto porque
isso é possível. É assim que você também pode fazer
com métodos estáticos, certo? Então, é um exemplo prático? No momento, ninguém vai
melhorar isso, não se preocupe. Mas, por enquanto, precisamos
aprender a sintaxe e qual é a diferença
entre as variáveis
normais e normais da instância. Então, os atributos,
atributos, estão sendo
criados dentro do que, dentro do nosso método init, certo? E está dentro do método
dunder init dentro do construtor
usando a célula. E observe que quando
criamos aqui esse
nome, por exemplo , e atribuímos
aqui o
nome, ele será enviado
daqui desta forma. O que vai acontecer? Em primeiro lugar, precisamos enviar
o nome aqui, como, por exemplo, agonistas. É assim que está
escrito. Graças a Deus. Bondade. Katie e, por exemplo ,
Jack, assim. Agora, quando executamos o código, observe que o nome de usuário
é igual a John. Então, o daqui, Bob, os outros valores
são iguais aos de Agnes, Kate e Jack. Por que isso? Então, o que aconteceu aqui? Nós temos aqui, nome
aqui, chamado Steven aqui. Agora, essas são três variáveis
diferentes. Ok? Este é um parâmetro
que realmente está aqui. Aqui. O que eu destaquei. Isso está aqui e esse é o valor que é
enviado aqui. Então o agonista pula aqui. E o agonista é designado para quê? Para um nome. Então, ele está realmente atribuído
a esse objeto que estamos definindo agora e
que estamos criando agora. Esse nome aqui é
uma variável de classe. É uma variável estática
que não alteramos que não é usada aqui. Ainda podemos fazer algo
parecido com esse nome de usuário posteriormente usando o
nome da classe, não o objeto. E como você pode ver, há Steel John dentro
do nome, certo? Porque essas são variáveis totalmente
diferentes que são compartilhadas entre cada objeto. Ok? E é claro que não
o usaríamos para compartilhar o nome porque o nome não é compartilhado
entre todos os usuários, certo? Mas há coisas que valem
a pena compartilhar, como, por exemplo ,
IV, que é a identificação,
identifica a pessoa. Certo? Podemos configurá-lo, por exemplo,
vamos começar, por exemplo, um. Agora, quando fizermos
algo assim, o ID do usuário, o ID do usuário, perceberemos que temos algo
bom
assim, 111 em um. Por que os escuros aqui? Porque, no momento, não
criamos uma identidade própria, certo? Nós temos a variável
de classe. É por isso que, quando
agimos como se usássemos o nome do objeto, também
acessamos a variável de
classe. Ok, mas se
fizermos algo como autoidentificação assim e fizermos
algo como 500 aqui. Então isso dará 500 aqui. Isso, isso, isso e
isso estão alinhados 12º e a ajuda
mostrará roubar um. Você precisa se lembrar de
que, usando self, estamos acessando o objeto
atual. Usando o nome da classe
que estamos acessando. O plasma é capaz de
estática variável que é compartilhada entre todos os homens. Agora podemos usar esse fato. E se eu quisesse
ver aqui um, id, two, id, free. Escreva algo assim. Para fazer isso, precisamos aumentar
esse valor aqui. Como podemos acessar esse
valor aqui a partir daqui? Bem, para fazer isso, precisamos escrever className,
que é user, e depois
acessar o ID a partir daqui. Agora podemos
aumentá-lo em um, certo? E podemos atribuir à
venda o ID de usuário de sexta-feira. Eu proponho fazer isso de forma mais leve. Então, na linha 11,
caso contrário, teremos o
valor aqui também neste momento, não um, porque
bem, aqui está um. Agora, quando executamos o código, como você pode ver, é legal. Temos um bom ID de usuário, que agora está definido como quatro porque o
aumentamos dentro do nosso construtor. No entanto, aqui para o, para o usuário chamado
id é igual a um. Algo assim que
poderíamos encontrar, oh, ótimo, não é? Nós realmente poderíamos fazer algo
como essa coluna, esse ID. Criaremos outro usuário. O próximo usuário de ID será igual ao formulário, certo? Então, se fizermos algo assim, vamos criar outro cara. Está tudo bem, certo? Porque esse cara tem
agora uma identificação igual a quatro. O que é incrível. Para ser sincero, acho que
devemos chamá-la de próxima ideia, será mais fácil ler agora.
Não precisamos pensar. Ok, então essa ideia é realmente tão senoidal quanto ao objeto, certo? Esse próximo id é realmente
atribuído à variável de classe. Podemos ver facilmente agora, se tivéssemos isso assim e você fosse colocar
o dedo em segundo lugar, assim. Ok. É um
nome diferente e também é uma variável de
classe um pouco mais autodescritiva, como você pode ver, compartilhada
entre cada objeto. Quando o aumentamos, assim, próximo id
do usuário mais é igual a um, estamos aumentando para
cada objeto, certo? E o valor atual
do próximo id do usuário, nós o atribuímos ao corpo celular. Foi assim que alcançamos
esses resultados aqui. Perceba o quão poderoso ele é. Vamos, por exemplo, atribuir
aqui um valor padrão. E em vez disso, vamos fazer
algo assim. Vamos criar usando a
compreensão do usuário. Poucos usuários. Então, para cada pessoa na faixa, por exemplo, vamos criar 20 usuários de
uma vez e
atribuí-los a usuários assim. Por que não? Agora, podemos fazer algo
assim para você, cada usuário dentro de nossos usuários Eu gostaria de imprimir os dados do usuário. E como você pode ver, acabamos de criar
20 guias e cada um
deles tem seu próprio ID, certo? Podemos identificar cada
cara por esse número. Incrível, certo? E agora podemos facilmente
fazer algo parecido com o quê? Imprima o próximo ID do usuário. Então eu saberei qual
será o ID do próximo cara. É 21. Tudo bem? Next id. Coisa
poderosa que nos
permite compartilhar a variável entre cada instância da classe. Bem, é claro que você pode
criar um próximo slide aqui. Eu também gosto disso. Também será compartilhado
entre todos os usuários, certo? Mas sim, ter uma
variável como essa aqui não
é uma boa ideia porque
a primeira coisa é que você não pode usar essa
sintaxe, certo? Então você não tem
um desejo e uma dica. E veja se você tem muitas
variáveis como essa. Imagine que você tenha aqui
como para duas variáveis, como Você não saberia
se a primeira variável está realmente conectada ao usuário
ou talvez a outra classe, certo? Você poderia ter
muitas classes aqui, muitas variáveis como essa, e isso seria confuso. É por isso que é melhor
colocar variáveis como essa. Dessa forma, eles agora estão conectados a cada classe,
traumaticamente, certo? Quando você está vendo
isso, você sabe que, ok, então o próximo slide está
realmente conectado a esse usuário porque ele é usado
para criar usuários. Queremos atribuir um
ID para cada usuário. Como exercício,
gostaria que você fizesse a mesma coisa com nossa raquete. Então, eu gostaria que você
criasse uma maneira atribuir identificações para cada
raquete e criar, por exemplo 20 iraquianos e, em seguida, imprimir o ID de
Racket Day , essa é uma lição
orientada. Muito obrigado.
122. EXERCÍCIO: conta bancária - retirada/depósito: Olá, meus amigos. É
hora de praticar um pouco. Hoje vamos criar uma classe que será
chamada de conta bancária. Portanto, essa classe
permitirá que você retire dinheiro da conta
deles ou deposite dinheiro. Então, isso permitirá que você
coloque dinheiro em conta. Você pode tentar fazer isso
sozinho ou acompanhar a palestra. Em primeiro lugar, precisamos
criar um novo arquivo. Vamos chamar isso de conta bancária. Vamos dividir o Editor para a direita, para que seja mais fácil editar ter mais espaço. Certo? Agora precisamos
criar uma classe. Então, vamos criar uma classe. Vamos chamá-la de
conta bancária, assim. E agora precisamos
definir nosso construtor. Então, os métodos de sublinhado, sublinhado
duplo estão nele e precisamos enviar você mesmo. Portanto, a conta bancária tem um
bom atributo. Acho que todo mundo
conhece aquele que detém o dinheiro, certo? Então, vamos chamá-lo de “Eu
sugiro saldo”, ok, então essa é a
quantia de dinheiro que é mantida na conta por padrão. Vamos defini-lo como zero. Isso nos permite agora criar
uma conta em nosso script. E vamos fazer
algo assim. Observe que o Visual Studio Code, quando clicarmos agora, insira aqui, importaremos a conta bancária do BankAccount
instantaneamente. Isso é legal. Certo? Agora precisamos apenas
adicionar aqui parênteses. E agora podemos agir
como está o equilíbrio. Você pode imprimi-lo assim. O que é zero? Poderíamos criar outro
método como, por exemplo, STR e jars returns. Então, equilibre. Lembre-se de que esse
é o método STR, que significa que, se
fizermos
isso agora, isso não funcionará
porque
acabamos de retornar aqui um número inteiro, mas ele deve retornar uma string, então precisamos transformar um
inteiro em uma string. Ok, o que vem a seguir? O próximo passo é fazer com que possamos
adicionar dinheiro novo,
depositar o dinheiro
em nossa conta,
caso façamos isso a partir da
conta exibida e, por exemplo,
saldar depositar o dinheiro
em nossa conta, caso façamos isso a partir da
conta exibida e, por exemplo, e adicionar $500, por exemplo , a
partir daqui, acho que não. Devemos criar um método
que faça isso por nós. Por que eu acho isso? Bem, observe que,
se fizermos algo assim, deposite, por exemplo, chamamos a
própria luz e, em seguida será necessária uma
quantia que deseja depositar e
aumentaremos o saldo
pelo valor enviado. Poderíamos fazer algumas verificações no dinheiro que foi enviado para cá. Ok. Poderíamos fazer algo
como verificar se o dinheiro enviado para o
método é legal, certo? Talvez alguém tenha fraudado algum dinheiro e
queira depositar
na conta bancária para que
possamos verificar isso usando algum tipo de senso ou algum tipo de perda ou qualquer outra coisa. Aqui, poderíamos invocar
um método que verifica se o dinheiro que
vem aqui é legal. E se for legal, então sim, você pode adicioná-lo ao saldo. Ok. Então, agora, podemos fazer depósito em conta
e enviar, por exemplo, 1000 dólares. Mas esses 1000 dólares
serão verificados pela coisa aqui e depois
serão adicionados. Se algo estiver errado, você pode chamar
a polícia de qualquer maneira. A
coisa mais importante que você pode fazer é verificar aqui. Portanto, é sempre uma boa
ideia criar um método que possa alterar os atributos
de dentro da classe, porque onde
você pode verificar as coisas, não precisa fazer
isso aqui todas as vezes. Isso ficará um pouco mais
visível quando criarmos, por exemplo, um método que
permitirá sua retirada. Então, tire dinheiro da conta. Observe que, bem, se
fizermos algo assim, equilibrados, irracionais e
iguais, bem, isso
não é bom porque alguém
poderia fazer algo assim. Vamos sacar da
nossa conta, por exemplo até milhares de dólares, certo? Bem, nós podemos fazer isso agora. O saldo da conta
será igual a quê? -1.000. Nós permitimos fazer isso. Alguém poderia
até falar muito
sobre modelagem e
vamos fugir, certo? Não devemos permitir
coisas assim, certo? Normalmente, se você estivesse
programando, você poderia fazer isso. Você pode verificar, por exemplo saldo da conta é
menor do que
o valor maior do que o valor que o cara
queria retirar da conta. Então, ele quer sacar, por exemplo, 5.000. Então, assim, retire cinco mil. Caso contrário, diga a ele que você não tem dinheiro
suficiente, certo? Mas não é uma boa ideia colocar algo assim aqui. Esse é um aspecto muito
importante. Então eu acho que é
uma boa ideia fazer assim. Então, se a bola cair
na sua conta for maior do
que a quantia que o cara quer receber, então sim, você pode sacar
o dinheiro agora mesmo. Ok. Aqui está um cólon. Executei o código. Como você pode ver, há uma vida
de 1000 dólares porque,
mesmo que coloquemos 5.000 aqui, simplesmente não podemos fazer isso direito, porque essa condição não
foi atendida. E, por exemplo,
colocamos aqui 500, certo? Então 1.000 min -500 é 500. Como você pode ver agora, o
saldo é 500 e podemos sacar novamente 100.400, certo? Mas se você quiser
sacar mais dinheiro do que
há uma variável
, isso simplesmente não vai funcionar. No entanto, não obtivemos
nenhuma informação sobre isso. Nós apenas invocamos o
método dessa forma. Para ser honesto, não
sabemos o que aconteceu. E devemos
informar de alguma forma que esse método não funcionou corretamente. Devemos dizer que você não quer que
algo dê errado. Para que pudéssemos imprimir
aqui alguma coisa. Mas há uma maneira melhor de
resolver problemas como esse. Mas é um assunto um pouco mais longo. Eu falarei sobre isso
na próxima palestra. Por enquanto, observe que
criamos uma classe simples que tem métodos
conectados ao atributo
que criamos aqui. E podemos facilmente depositar e sacar dinheiro de
nossa conta bancária. Isso é só nessa lição. Muito obrigado.
123. Como lidar com valores retornados adequadamente dos métodos?: Olá, meu amigo. Na última palestra, criamos método
chamado
saque e que nos permitiu retirar dinheiro da conta. Tudo funciona bem, certo? Exigimos e desenhamos. Mas o problema é
que, quando você tenta conseguir mais dinheiro do que
o disponível, para ser honesto, não
há inflamação. E você acha que
é uma boa ideia? Definitivamente, você não pode resolvê-lo. Você pode fazer algo
como se as linhas
de barras do conselho em uma onça de
handebol fossem o quê? Maior que a quantidade,
então podemos sacar. Retirada com, certo? Caso contrário, você pode
dizer instantaneamente, uh, você sabe, não é o suficiente
porque estamos tentando sacar o
valor de 700 para sacar. Portanto, é um pouco mais
fácil ver o que estamos fazendo para que
possamos fazer algo assim. Caso contrário, não, não é suficiente. Não é suficiente. Quando queremos sacar 200,
ele é retirado. Então, podemos informar,
ei, funciona. Uma solução como essa simplesmente não
é a melhor. Por que isso? Então, porque
agora, toda vez que alguém quer sacar dinheiro
da conta bancária, ele precisa escrever corretamente. Toda vez assim. Então, ele precisa criar
essa condição, ele precisa saber sobre isso. E se isso mudar, você precisará
alterar a condição. Em muitos lugares. Essa não é uma boa
solução, certo? Podemos melhorá-lo um pouco, por exemplo, retornando verdadeiro. Se tudo corresse bem. Caso contrário, poderíamos
retornar false. Dessa forma. É um pouco melhor porque
podemos fazer algo assim. Se uma contagem for retirada, então, ei, funciona. Caso contrário, não funcionará
corretamente com o código. Ei, funciona. É através do crânio. Não, não, Nina. Essa solução, para ser honesto, é muito boa para programas
simples. Mas não é o melhor. Se você quer ter
um programa maior, esse é um programa profissional, ok? Há algumas desvantagens nessa solução, sobre as quais
falamos antes, esse aviso de que estamos antes, esse aviso de que estamos
retornando aqui e aqui, retornando false se
algo der errado, você não precisa
escrever mais aqui. Por quê? Porque se essa
condição for atendida, retorno retornará ao local onde esse
método foi invocado. Então, dois monitores. Então, nesta linha 14, não
somos invocados de forma alguma porque, quando elas são
escritas, o blog é atendido. Outras instruções
não são invocadas na porta. Seja o que for. Isso mesmo. Algo parecido com isso. Como você pode ver, agora, tudo o que é falso estava envolvido
porque estamos tentando tirar muito dinheiro da conta. Não há o suficiente. Mas agora, tudo o que não foi invocado, está
escrito como falso. Nós recorremos ao nosso encontro e bombardeamos. Estamos voltando aqui. Então, isso é um pouco mais fácil de ler. Eu acho que é melhor
fazer isso dessa maneira. Ok, vamos melhorar
essa solução EBIT, não
vamos
voltar à realidade agora. Também queremos
retornar a mensagem. Você quer imprimir alguma coisa. E a maioria de vocês provavelmente
fará isso assim. Então você resolveria isso assim. Sim, ei, funciona. 700. Não, não o suficiente. Ok, mas e se eu quiser
mudar essa mensagem agora? Isso não é bom, certo? Bem, você poderia, por exemplo receber as mensagens, isso
será um argumento aqui, certo? Mensagem e mensagem personalizada, então você pode, por exemplo definir mensagem aqui e aqui. Mas o problema é que agora
você não teria duas mensagens para o
erro e não para o erro. E você precisará
passá-los daqui. Para
ser honesto, vimos esse complexo, para mim, eu não, não gosto dessa solução. Imprimir mensagem aqui não é uma boa ideia, porque
se você quiser alterá-la posteriormente para
algo lançado, ela não funcionará
bem para você. Você pode usá-lo se
quiser depurar seu código. Ok, isso é muito legal
porque você pode ver, ok, então o valor aqui é assim. Obviamente, você pode
usar o modo de depuração para uma depuração rápida.
Isso é muito bom. No entanto, eu não recomendo
ter uma mensagem como essa. Então, é verdade enviar um argumento
ou apenas imprimir aqui. É uma boa ideia mudar talvez o
nome do nosso método para, por exemplo, tentar a retirada. Porque agora, pelo
menos, você está informando a pessoa que
está invocando a retirada. Vai retornar
verdadeiro ou falso. Acho que é uma boa
ideia fazer isso. Mas também precisamos
retornar a mensagem agora, mensagem e talvez a quantidade
que também seja boa. Algum tipo de valor que poderíamos usar mais tarde para fazer isso. Bem, Python é muito legal
porque você pode colocá-lo aqui. Depois do coma. Podemos escrever que o cache
foi retirado, certo? Assim. Vamos lá. Não tenho dinheiro suficiente. E agora isso é muito legal porque podemos fazer
algo assim. Podemos atribuir a primeira coisa
que foi retornada à
variável, por exemplo , que
chamaremos de sucesso. O segundo, por exemplo, mensagem como esta. É muito interessante que possamos fazer
algo assim. Então, true
será atribuído a isso, mas essa mensagem será
atribuída a isso. Agora, quando imprimimos com sucesso, como você
pode ver, podemos imprimir
a mensagem padrão. Além disso, você pode, por exemplo usar ouvir a mensagem que é precisa para o idioma
alemão, para o idioma polonês, aumentar o idioma, o idioma
francês. Você pode ouvi-lo algum banco de dados,
dependendo do que a pessoa é, da pessoa que está usando, do idioma
que a
pessoa está usando. Isso também é legal, ok, você pode colocar, ouvir. Portanto, podemos imprimir a mensagem
padrão agora, mas não somos obrigados a fazer isso, então ninguém nos obriga a fazer isso. Nós, como pessoas que perguntam aos programadores que
implementam esse código, podemos decidir quando queremos
usar a mensagem padrão ou se você deseja usar a
mensagem que queremos usar, podemos verificar se é bem-sucedida. Oh, ok, então esse eixo proprietário e podemos imprimir
nossa mensagem aqui, certo? Izzy, todos
nós já resolvemos problemas. E essa é essa habilidade porque
permitimos a personalização. E se eu não fizer
algo assim? E se eu usar assim? Eu apenas digito resultado, resultado. Observe que quando
imprimimos o resultado, agora temos
aqui o que é uma tupla. Porque quando você não
adiciona o parêntese aqui, você está realmente retornando a tupla. É assim que funciona. E a tupla é, ok, mas não tão boa, porque se você quiser acessar o primeiro elemento ou
o segundo elemento, você precisa usar o índice 01. E isso definitivamente não é um código
autodescritivo. Você pode se lembrar
de cor que tudo bem, o primeiro vai me
devolver se
algo correr bem? O segundo valor vai me
dar uma mensagem. Mas, para ser sincero, isso é muito bom. Não, não, não, não, não. Isso não é legível. Mas você pode melhorá-lo.
Podemos fazer, por exemplo, um dicionário aqui assim. E podemos, por exemplo, fazer algo
assim, em setores. E aqui vamos
digitar mensagem. Então, criamos rótulos para
nossos valores aqui, pulsamos aqui, não temos dinheiro suficiente. Aqui temos um erro porque estamos tentando
acessar o índice zero, mas agora podemos fazer
algo assim. Certo? Essa mensagem. Hum, talvez eu tenha. Aqui, vamos ver. Ok. Aqui está um cólon. Execute o código. O dinheiro
tem sido uma síndrome, certo? Tudo funciona bem.
Temos um resultado, podemos acessá-lo. É um pouco mais legível. Ruim. Bem, poderíamos cometer
um erro como esse. Como você pode ver, erro de
chave, certo? Recebemos informações
aqui do CSP, da extensão, então
isso nos ajuda a licitar. Mas bem, podemos fazer
algo assim. Resultado que são setores, certo? Não temos nenhuma dica aqui. Isso é o que não
temos. Vai ser melhor. Recebemos uma dica aqui. Então, se quisermos ter uma dica, precisamos transformar um
dicionário em quê? Na classe de brilho. Então, vamos criar uma classe e não a chamaremos, por exemplo
, de result. E isso é criar os métodos que podemos adicionar como esse eu. E agora, por exemplo vamos criar um
eu que é sucesso. E vamos atribuir
ao seu sucesso que viemos aqui. Assim. Mensagem, mensagem é igual a mensagem. E tudo bem. E agora podemos fazer
algo assim. Resultado. Está tudo funcionando bem? Não, não precisamos de rótulos
agora porque você pode ver isso é chamado agora
porque podemos simplesmente enviar quais argumentos, certo? Assim, e
não precisamos nomeá-lo, então nosso código está um pouco
mais fácil de ler agora. Aqui, finalmente, podemos
fazer algo como esta é uma mensagem de sucesso. Temos dicas. Agora
isso é mais fácil de usar. É muito legível
e fácil de usar. Então, agora, estamos permitindo enviar mensagens personalizadas porque
podemos colocar a mensagem padrão
, temos Haynes. Também podemos simplesmente fazer
algo assim. Se o resultado for sucesso, então vamos decidir
o que fazer, o que fazer. E o legal é que
não precisamos verificar
a condição toda
vez aqui no código. Isso é muito legal, certo? Melhoramos nosso código. O que mais? Poderíamos
obter acréscimos e fornecer informações
adicionais
aqui, como, por exemplo poderíamos criar outro argumento como o valor da célula é igual a Ohio. Por padrão, poderíamos
vendê-lo para estudo, por exemplo, para ninguém. Portanto, ainda funciona
se não enviarmos um valor, mas você poderá enviar um valor, por exemplo, a quantia de dinheiro que
retiramos da conta. Então D mt é igual a isso, certo? Sim, ainda funciona. Podemos, por exemplo,
imprimir, mensagem de resultado e valor do
resultado assim. Se você quiser ver
quanto dinheiro foi retirado da
conta deles, certo? Eu acho isso muito legal. E agora podemos ver que
usamos classes em vez
de dicionário. Você viu que as aulas podem realmente descrever coisas
que são um pouco abstratas. Eles não descrevem apenas
coisas como contas bancárias, monitores,
coisas que você vê como resultado. E foi muito
útil. Por enquanto. Você pode perguntar:
eu realmente preciso escrever
um código como esse? Isso foi muito confuso. Criamos muitos códigos
e obtivemos o mesmo resultado que
quase o mesmo resultado, como no início. Acabamos de começar, apenas
retornamos verdadeiro ou falso. E, para ser sincero, resolvemos o problema. Por que precisamos nos
preocupar com coisas assim? Como eu disse, todos os anos,
para programas simples. Quando você quiser obter o
resultado o mais rápido possível, limite-se a
retornar verdadeiro e falso. Vai funcionar bem, ok? Você nem sempre precisa
escrever o melhor código possível. Mas isso é uma boa melhoria. Você poderia manter essa aula
em apenas outro arquivo. E importante quando você
deseja importá-lo. Isso não é como se você fosse
obrigado a usá-lo assim. Em equipes em que as pessoas
usam coisas assim, você pode usá-las
assim, caso contrário, você pode simplesmente retornar
verdadeiro e falso para programas
simples em que
você só quer obter o resultado
sempre que quisermos resolver o problema, onde
você deseja obter a solução o mais
rápido possível
, sem
precisar se preocupar com a aparência exata
do seu programa. E se tivermos
problemas mais tarde, certo? Mas apenas para programas simples
e rápidos. Se você quiser fazer
algo grande, coisas assim serão úteis. Ok? O engraçado é que poderíamos melhorar ainda mais esse código. Mas, para fazer isso, precisamos aprender sobre algo
chamado herança. Mas falaremos sobre isso no
futuro. Isso está nessa lição. Muito obrigado.
124. Herança e método de substituição - super(): Olá, meu amigo. Hoje vamos falar sobre algo bom que se
chama herança. Na vida real, você herda
coisas de seus pais, por exemplo, você pode herdar a
cor dos olhos, se não de seus pais, talvez de seus avós
ou bisavós, o que quer que você tenha
herdado deles. Muitos atributos, como, por exemplo, ocultar ou, por exemplo o potencial de que seu
QI, seja o que for, está certo. Para ser honesto, você está
apenas em algo parecido entre seus
pais e todos os seus ancestrais. É inalado o
tópico desta palestra. No entanto, isso é muito
semelhante à programação. Em programação, quando
você herda coisas, você herda atributos, você herda a forma como
algo funciona? Por exemplo, ações
representadas por métodos. Se você criar uma classe, outra, e decidir herdar
de outra classe, você simplesmente
copiaria tudo
desse lugar para outra
classe seria assim. Então, esse é o tópico
desta palestra. Você pode estar se perguntando sobre
alguns outros exemplos,
por exemplo você pode ter um monstro e pode ter ouvido
zumbi e esqueleto. Observe que o zumbi
é um monstro mais lento. Vamos colorir o tom. É o mais rápido? E o zumbi pode ter
mais HB e assim por diante, certo? Esse cara pode ter um ataque totalmente
diferente desse cara, mas eles têm algumas semelhanças. Todo monstro tem HP, certo? Pode ter algum tipo
de ponto de partida visto,
defesa, seja o que for.
Eles são parecidos. Então você os
herda do monstro da classe. É disso que trata
a herança. E vamos dar um exemplo
que não se trata, por exemplo jogos, em que você faz relações entre
classes como essa. Vamos voltar ao exemplo da conta
bancária. Observe que podemos
criar uma classe que chamaremos de conta de saldo
mínimo. Isso significa que essa
conta
terá semelhanças com
essa conta, certo? Ainda vai
ter um equilíbrio. Você ainda pode depositar lá. Você ainda pode obter o saldo
usando o nome do objeto. E você ainda pode se
retirar da balança novamente, mas precisamos mudar um pouco
o comportamento. Precisamos verificar antes de retirarmos o
dinheiro da conta, antes de retirá-lo. Se não ultrapassarmos algum
tipo de limite, certo? Porque se a aprovarmos, essa é uma conta de
títulos mínimos. Você pode fazer isso. Não podemos permitir. Então, normalmente, se
não tivermos herança, precisaremos fazer o quê? Precisaremos fazer a
mesma coisa que estamos aqui. Então, para ser honesto,
seria uma boa ideia copiar tudo
daqui para
cá, bater aqui mais rápido e agora adicionar coisas
que são usadas. Então, por exemplo, precisamos de um equilíbrio
mínimo que será definido por meio
do construtor, certo? A bola mínima cai. Mas muitos deles gostam disso. Bem, vamos usar essa média de
contagem de contas de saldo mínimo assim. Vamos criar uma
conta que tenha um bom saldo inicial, 1.500. E vamos definir o
limite em 1.000 para que não possamos sacar mais de 500
dessa conta, certo? Se a aprovarmos, devemos dizer
às pessoas que sabem que
você não pode fazer isso, certo? Ok. Talvez vamos definir os valores
padrão para 540 para aumentá-los. Então, o padrão que você fez, eu cometi um erro aqui. É uma boa ideia ter
todas essas extensões, certo? Porque eu digitei um erro aqui
e nos informamos sobre isso. E agora as outras coisas podem ser o mesmo
depósito de classificação e STR, mas aqui devemos
fazer algumas coisas diferentes. Precisamos verificar agora se o saldo
automático antes disso, antes de
pegarmos o dinheiro, precisamos verificar se saldo
próprio menos o
valor que queremos retirar da conta é maior que o
limite, certo? Caso contrário, podemos fazer isso. As coisas que acontecerão aqui porque
ultrapassaríamos 1.000 dólares, por exemplo, podemos permitir bem, podemos fazer com que seja
tão maior ou igual
do que se alguém quisesse do que se alguém quisesse tirar 500 da conta
e pudesse fazer isso, 1.000 é um limite, certo? Então, agora podemos fazer as mesmas coisas que
usamos para fazer isso, no
mínimo , tentamos sacar. Vamos sacar, por exemplo, $500,
então talvez 400 e imprimir a contagem: mensagem principal, resultado e mensagem. Execute o código.
O dinheiro foi retirado, certo? E funciona bem. Caso contrário, poderíamos economizar. Então, por exemplo, vamos retornar false. E digamos que você foi, tentou ultrapassar o limite. Algo parecido com isso. Quando fizemos algo assim. Então, queremos ganhar
mais dinheiro do que
existe uma variável até o limite, então você tenta ultrapassar
o limite, certo? Está tudo bem. E agora, para ser sincero, se tivéssemos mais
tipos de contas, precisaríamos fazer
sempre o mesmo trabalho. Não existem
muitos tipos de contas, mas no caso de monstros, imagine quantos monstros
você criou em algum tipo de jogo
como, por exemplo, o certo? Para cada modo, você precisará
criar tudo do zero. Seria horrível
fazer isso, certo? Acho que é melhor,
em casos como esse fazer coisas
como herança, herdar os atributos
da classe que está aqui. E quando você herda da
classe isso aqui, você chama essa classe de
classe parental e essa classe, classe
infantil, como na vida
real, certo? Você assume atributos
e comportamentos. Portanto, esse é um
comportamento trivial
da classe que é superclasse, uma classe mãe, é
assim que as chamamos. A classe infantil herda todos esses atributos
e métodos. Então, como fazer isso? Basta digitar aqui o nome das nuvens a partir das
quais você deseja se integrar. E isso é tudo. Agora nosso, tudo vai
funcionar da mesma forma, embora
tenhamos todas essas coisas aqui. Mas muitas coisas
mudaram porque podemos ignorar o comportamento
que herdamos. Então, nós apenas fazemos
algo assim. Imprimir Eu sou do poste ou da classe infantil,
por exemplo, fazendo isso. E você notará que,
quando
invocamos a política, precisamos invocá-la primeiro, os pólos, ela simplesmente
não deposita um pouco mais. Sou do menu da aula infantil e da conta do
Berlant, certo? Também podemos fazer
algo assim. Então, eu sou da conta bancária
da classe parental. E observe que ainda é, sou de colegas de classe experientes por conta de
botões porque
superamos o comportamento
de nossos pais. Como se pudéssemos mudar
nossos comportamentos, certo? Somos um pouco definidos pelo que nos
foi dado em nosso nascimento. Mas sim, podemos
mudar um pouco, certo? Então foi isso que
mudamos agora. No entanto, se não tivéssemos
mudado, certo, alguns comportamentos em nossa vida real
, quando executamos o código, como você pode ver, eu sou da conta bancária da classe
principal. Portanto, mesmo que não
tenhamos depósito aqui, escreva o método aqui, o método depósito aqui dentro
da conta de saldo mínimo. Ainda podemos invocá-lo usando a conta mean Object
porque herdamos. Então, nós realmente gostamos
dos direitos autorais, a parte do código
neste lugar. Aqui. É como aqui, está
aqui, mas não está aqui. Está aqui. É invisível. Imagine que está aqui. Portanto, também não precisamos dessa parte. E como você pode ver, agora, nossa
conta de saldo mínimo tem apenas diferenças entre
essa e essa classe. Podemos até
melhorá-lo e faremos isso. Então, observe agora que também podemos o que podemos obter na média de
contagem e o Eastern, nosso método, o método
dunder, não pode ser invocado daqui, é porque herdamos
isso, esse comportamento. Mas você ainda está se perguntando o que acontecerá se
mudarmos alguma coisa aqui. Imagine que
adicionamos aqui
alguns códigos, algum código novo. Isso significa que agora você
também precisa incluir esse código aqui. E também inclua todo esse código, cada classe que herda do desastre
do BankAccount. Felizmente para nós,
podemos mudar o comportamento da classe parental no ritmo acelerado. Simplesmente saiba
que podemos invocar o método que está
na superclasse. Isso é o que chamamos superclasse na classe principal. Para fazer isso. Bem, você tem duas maneiras. O primeiro que
vou mostrar que é um pouco mais fácil de
entender, é tornar seu código
mais difícil de manter. Então eu não recomendo. Mas vamos começar
comigo para que possamos digitar o nome dos carros a partir dos
quais queremos invocar o método. Em seguida, digitamos o método que queremos invocar
da classe principal, para que ele esteja nele. E vamos nos
enviar o eu, o objeto
em que trabalhamos e os argumentos. Então, no nosso caso, enviamos saldo. E agora, em vez de
como fizemos aqui, equilíbrio
pessoal e equilíbrio, estamos apenas usando
esse método aqui. Então, quando invocamos aqui, conta de saldo
mínimo, pulamos aqui. E nós pulamos daqui para aqui. Definimos os limites e
voltamos aqui para a linha 32, e construímos nosso
objeto. Estamos usando essa parte do código aqui. Não há muito
disso agora. Isso é apenas inicialização aqui e somente um
valor é inicializado. E então você pode estar pensando, oh meu Deus, isso parece ruim. Há muito
mais CO2 inteligente do que era antes
e parece mais difícil, sim, mas se você adicionar algo novo
aqui, o que quer que você adira, qualquer novo que seja adicionado aqui também
será adicionado aqui. Mas isso é só essa parte. E essa parte
aqui é um problema maior. Porque, para ser honesto, já
temos essa parte do
código aqui. Podemos usá-lo? Sim, nós podemos. Mas antes de entrarmos nisso, quero dar
outra solução para invocar a superclasse. E é chamado de supermétodo. Então, usamos os parênteses aqui. E estamos invocando o método da
superclasse desta forma. É por isso que se chama Super. E não precisamos nos enviar
agora para cá, ok, isso é muito legal porque é mais
fácil de ler agora e também está esverdeado agora. E você pode ver facilmente, ok, essa é a parte em que
invocamos coisas
da classe principal, da superclasse em
nosso filho para representar graficamente. Isso. Acho útil. Agora, quando executamos o código, tudo ainda funciona bem. Então, aqui, em vez dessa parte do código que
também é repetida aqui, temos o método de tentar retirar. Não vamos invocar apenas aquela super batata frita com
a quantidade que temos aqui. Fácil, não é? Isso é muito, muito fácil. Quando eu executo o código, o código será executado. Mas temos aqui um erro. Porque você deve
se lembrar desse código. Mesmo que funcione, mesmo que seja executado, isso não significa que esteja
devidamente reescrito o que aconteceu? E você pode estar se perguntando, por que você acha
que é nosso cartesiano. Vamos tornar isso um exemplo um pouco mais fácil
, como por exemplo 400. Você pode estar pensando em
tudo, estamos bem, certo? Então, vamos digitar a mensagem do resultado. Nem mesmo tenho dinheiro. Ei, ei, 1.500
menos 5400 são 1100s, então há dinheiro suficiente, certo? Ainda não ultrapassamos o limite. Então, o que está errado? Observe que quando
imprimimos aqui, por exemplo, é algo. Isso
vai ser invocado. Então, sim, chegamos de alguma forma
a essa parte do código. Vamos ver se vamos para
essa parte do código. Também chegamos a essa parte
do código. Então, o que aconteceu? Aconteceu, certo? Não devolvemos nada
após essa condição. É atendido. Portanto, ainda não
terminamos esse método. Isso significa que perguntamos, significa que essa parte
do código também será invocada na indentação adequada. Isso significa que
não devolvemos dinheiro suficiente. Mas se não devolvermos nada, isso será ainda pior porque o resultado não existe
mais aqui, certo? Então, isso significa que precisamos
retornar um resultado aqui. Mas como podemos devolvê-lo
se for devolvido aqui? O método
de retirada da classe principal. Bem, podemos devolver a devolução. Podemos simplesmente digitar em troca. Isso significa que vamos
invocar esse método. E quando o retorno acontece
dessa linha ou dessa linha, agora temos esse valor aqui. Imagine que isso seja
algum tipo de resultado, e também será
devolvido aqui e agora o gato
foi retirado. Isso funciona bem. Você tenta ultrapassar o limite. Tudo funciona bem. Então, melhoramos a forma como esses
métodos funcionam aqui sem precisar
pensar nessa parte do código. E isso é o que eu
chamo de uma coisa legal. E mesmo que eu mude um pouco essa
condição aqui, melhore-a para otimizá-la um pouco. É claro que não há
otimização nesse portão, mas imagine imaginação, imagine que poderíamos melhorar, otimizar um pouco esse método. Então, esse método aqui também
seria aprimorado. Não precisaríamos escrever
nada novo porque estamos reutilizando o conteúdo
desta aula. Nesta aula, estamos
reutilizando o comportamento. Ações. Os métodos são chamados de comportamentos. Então, a herança é realmente como, como eu disse anteriormente,
nós, por padrão, simplesmente a
copiamos
daqui para aqui. Mas você pode mudar tudo o
que herdou. Então, nós simplesmente não
precisávamos dessa parte. Não precisávamos que essa parte
dessa aula fosse escrita de forma diferente, então não a
fizemos porque não precisávamos dela. E precisávamos
melhorar nossas inicializações
e aprimorar nosso
método de retirada para esse tipo de aula. Esse é o poder da herança. Muito interessante,
muito poderoso, com muitos novos conhecimentos. Brinque com isso. Tente escrever o mesmo código que eu fiz nesta
palestra sozinho. Isso é crítico, muito
importante para melhorar. Você, melhore a si mesmo
como programador. Tudo isso é uma boa lição.
Muito obrigado.
125. EXERCÍCIO: herança por exemplo prático - resultado: Olá, meus amigos,
é hora de praticar a herança e o exemplo
prático. Observe que quando
estávamos usando resolvido, tínhamos que passar aqui
verdadeiro ou falso. O salário não é uma boa
ideia porque, bem, eu, como pessoa, posso fazer uma
boa denúncia e eles podem, por exemplo ,
dizer: Ei, eu vou transformá-lo em falso. Mas, para ser honesto, isso deve
ser verdade ou talvez bem, eu tenho que digitar
aqui amanhã, certo? Preciso me lembrar de passar
por aqui toda vez que recebo o resultado
devolvido. Podemos melhorá-lo
criando mais duas classes
e vamos chamá-las. Ok? Então, nesse caso, simplesmente não podemos voltar, ok? Ok, é como se
fôssemos devolver a flecha. E agora não vamos
enviar verdadeiro ou falso porque o nome da
classe que vamos
usar é Gana no formulário. Qual é o objetivo do sucesso? Porque entendemos que vai
defini-lo como verdadeiro ou falso. Em caso de retorno de resultados, vamos simplesmente
atribuir aqui nenhum. Então é assim que
queremos invocá-lo. Então, aqui também, há
um erro como esse. Agora, você, como programador, quando for
usá-lo no futuro, precisa se lembrar de
fazer todas essas coisas. Mas também podemos
alterar a assinatura do nosso método init porque, bem, não agora, somos
apenas dois argumentos e o valor também é opcional. Nós podemos enviá-lo. Não
precisamos enviá-lo, certo? E quando você
olha aqui todas essas
aulas gratuitas, o que aconteceu? Observe que isso é
bem parecido, certo? Por que devemos repetir isso? Poderíamos simplesmente
herdar o resultado aqui. Aqui, certo? Agora, para reutilizar
o código daqui. Mas mude alguma coisa aqui. Como se quiséssemos transformar
seu sucesso em verdadeiro. Precisamos invocá-lo. Como usar o supermétodo. Então super e eu
invoco o método init e
o remetente, o quê? Não precisamos de setores
aqui também agora, porque esse é apenas
um atributo criado dentro dessa classe. E enviamos uma mensagem
e o valor, certo? Não precisamos agora
fazer isso assim. Portanto, também podemos repetir
isso aqui. Aquelas desse tipo. Então, quando fazemos
algo como, por exemplo ,
ok, aqui estamos
enviando esse valor aqui. Esse valor aqui. Primeiro, invocamos o
superconstrutor, então pulamos aqui, definimos como
sucesso agora enviar dois valores de mensagem para o valor
que foi enviado aqui e aqui. E então voltamos à linha 11 e definimos seu
sucesso como verdadeiro. Então, mudamos isso
de nenhum para verdadeiro. Então, isso está funcionando bem. Vai funcionar bem, mas
podemos melhorá-lo ainda mais. Olha, agora podemos criar
métodos que
serão herdados por aprovação e erro. Isso vai ser uma
vida útil, por exemplo, é. Ok. E vamos voltar aqui. O eu é sucesso porque, ok, herda do resultado. O resultado é um pai para tudo
bem, ok, é um filho para o resultado. É realmente como se tivéssemos
esse método aqui e aqui. Não precisamos repetir isso. E agora podemos usá-lo. Nós podemos fazer algo assim. Se o resultado for, está tudo bem. Então, tudo bem, está tudo bem. Caso contrário, podemos imprimir
a mensagem padrão para, mas podemos dizer
algo de nós. Por exemplo, tudo está errado. O que você fez? O que você fez? Então encontre algo assim. E agora queremos executar o código. Tudo está errado. O que você fez quando
tentamos retirar 400? Portanto, não vamos
ultrapassar o limite. Quando executamos o código. Você pode ver que o dinheiro foi resacado. Essa é uma
mensagem padrão que está aqui. Também podemos adicionar, por exemplo, em mente e o que
queremos mostrar. Então, por exemplo, para transformá-lo em ICR porque o valor
é inteiro, certo? O valor não está definido. Ah, é claro que não está definido porque devemos fazer uma visão. E, para ser honesto, chamamos isso de montaria
aqui. Eu sou parte aqui. Nós o chamamos de valor que
devemos fazer assim. O dinheiro foi
revisado, foram lançados 400. Muito legal, meu. E o que mais? Observe que
agora podemos simplesmente cortar isso, criar um novo arquivo, chamá-lo, por exemplo result BY cole o código aqui. Agora, a partir do resultado,
importe , importe, ok, e importe
essa seta, certo? E podemos simplesmente usá-lo sem nenhum problema
em nosso código aqui. O que isso significa? Agora? Você não precisa criar uma classe
de aprovação e erro em
seus projetos futuros. Você não precisa criar o
resultado de seus projetos futuros. E também é mais fácil de usar porque agora não precisamos
enviar três argumentos. Podemos simplesmente enviar, podemos simplesmente criar um
objeto de aprovação ou erro. Quando ele queria mostrar um erro, criamos uma recuperação para
quando queremos mostrar, ok, criamos o objeto
sobre k e
podemos enviar
a mensagem padrão que pode ser usada pela pessoa
que usa nosso programa. E também podemos enviar
alguns valores que também podem ser usados pelo usuário aqui, isso é incrível porque você não precisa
escrever esse código novamente, se quiser usar sua biblioteca,
seu módulo, porque essa
é uma biblioteca simples, então você só precisa importá-la, e isso é tudo que você pode
usar em seu projeto. Você não precisa
escrever o portão, e essa é a coisa mais
importante sobre escrever código usando programação
orientada Você quer escrever
seu código para ter menos coisas
para fazer no futuro. Chamamos de deixar como
tínhamos feito no início, como resultado resolvido e depois
tivemos que enviar aqui falso. Mas, para ser sincero, agora é mais fácil de usar. Você não precisa se lembrar
de enviá-lo, certo? É mais fácil de ler. Você pode, até mesmo, para que seja mais
fácil manter seu projeto. Agora. Você não cometerá
um erro porque tudo bem, apenas diz exatamente. Está tudo bem.
Tudo correu bem. Você pode fazer por engano, fazer algo como resultado
do que areia aqui, por exemplo, falso. Você poderia fazer isso direito? Até alto. Essa é
uma situação boa. Você pode cometer um erro e
será difícil identificá-los. No entanto, quando você faz
assim, olha, estou enviando para o Reino Unido.
Está tudo bem. Código reutilizável. Você não precisa copiar
e colar. Está tudo bem. É por isso que usamos
a herança. Não precisamos reutilizar
essa parte do código. Isso é incrível.
126. EXERCÍCIO: brincando com cubo, quadrado e retângulo: Olá meu amigo, é
hora de se divertir. Vamos criar classes,
retângulos, quadrados e cubos gratuitos . E com base nisso, quero que você crie
construtores para cada um deles. E depois métodos em
que calculamos a área da superfície do
quadrado, retângulo e q. E também um método em que
calculamos o
volume do cubo. Considere como você pode usar a
herança para fazer isso
para não repetir o código, tente fazer isso sozinho. Eu realmente adoraria
que você fizesse isso sozinho. Isso vai melhorar muito você. Se você tiver problemas para
assistir ao vídeo. Se você quiser comparar o código, também qual é o vídeo, veja como eu crio uma
solução como essa. Ok? Então, a primeira coisa, quando você está fazendo
algum exercício, quando você está praticando, você deve ver
o que você precisa fazer. Três aulas, ok, então vamos começar de alguma coisa, certo? Porque, caso contrário,
você nunca vai começar. Vamos começar
criando coisas simples e
simples, como criar aulas, ok, isso é fácil, certo? Você é apenas a classe do tipo, nome da classe e a
conversão de cores é criada. Agora você pode, porque
você é, por exemplo preguiçoso como eu, fazer algo assim. Vamos copiar e colar os nomes. Ok, eu dei o primeiro passo. Estamos um passo à frente. Agora precisamos
criar construtores. Ok, vamos começar
do retângulo. Precisamos de qualquer método e há um parâmetro
próprio que deve
estar no método init. E então precisamos do que? Temos hidreto. Precisamos da largura e da altura do retângulo para contar
posteriormente a área da superfície. Vamos salvá-los. Assim. De altura. Altura. Nós criamos atributos. É hora de pensar no quadrado. O que é diferente no quadrado? retângulo tem
largura e altura. quadrado também tem
largura e altura. largura e a altura são iguais. Podemos usar de alguma forma esse fato? Precisamos fazer
algo assim? Precisamos nos repetir? Não, nós não temos. Bem, poderíamos simplesmente herdar
um retângulo como esse. Então é assim. construtor já está aqui. Nós poderíamos fazer algo assim. Poderíamos calcular o
comprimento do lado porque precisamos de apenas um lado para
contar a área quadrada da superfície. E poderíamos simplesmente invocar o método init
da classe mãe. Então, a partir do retângulo e
passe a largura e a altura, que é igual ao
comprimento do lado assim. E acabamos de reutilizar
essa parte do código, certo? Isso é legal. Agora, precisamos criar o
método init para o cubo. Mas nós realmente
precisamos fazer isso? Vamos ver. O que é um cubo? cubo é realmente
algo que
entrou então como base, o quadrado, certo,
há um quadrado aqui. Então, se há um quadrado aqui e também um quadrado
aqui ao lado, isso significa que a terra, essa largura e altura
são iguais entre si. Então,
pudemos ver que não precisamos fazer
nada de novo aqui, certo? Não precisamos criar
nenhum atributo novo porque temos essa terra
secundária e isso é o suficiente para sermos honestos. Observe que agora, quando quisermos
criar 99 cubos iguais a cubos,
podemos enviar aqui, por exemplo para saber o que acontecerá. Não funciona porque
não herdamos. E acho que precisamos
herdar o quadrado, certo? Porque o quadrado está
na base do cubo. que significa que agora, quando
fazemos algo como cubo que você pode ver, agora
temos acesso ao esconderijo, temos acesso à tecelagem porque realmente herdamos
tudo daqui. E a Square herdou
tudo daqui. Ok? Então, um cubo tem acesso a
tudo o que está aqui e aqui. E agora o zeta inicial, o construtor, parece aqui. Então, observe que quando
abrimos parênteses, ele está esperando pelo Seidman. Então, quando enviamos para você, por exemplo ,
dois, temos esse lado nenhum. E podemos imprimir
na fila com isso. Então você pode ver que sim. Igual a dois, agora é hora de calcular a área
da superfície do quadrado,
retângulo e cubo. Como fazer isso? Para fazer isso, precisamos criar um
método que será chamado de contagem da área de superfície. Precisamos apenas de um parâmetro próprio e podemos simplesmente nos multiplicar. Multiplicamos pela altura
e podemos devolvê-la. Nós contamos isso. Precisamos contar o quadrado? De novo? Precisamos
copiá-lo aqui? E fazer alguma coisa? Eu sei que temos
terras secundárias ou qualquer outra coisa. Não, não precisamos fazer isso. É verdade que esse método já está aqui e a largura e a altura
são iguais ao comprimento do lado. Eles são iguais, certo?
Para a praça. Então, quando fazemos algo
assim, quadrado, por exemplo, para quadrado, e
invocamos agora quadrado. Como você pode ver,
temos acesso
à área de superfície da conta
e a combatemos. É 164 multiplicado
por quatro é 16. Então, tudo funciona bem, certo? Isso é muito incrível. Não precisamos nos
repetir. E quanto ao cubo
na situação de guarda? Bem, definitivamente
precisamos ignorar esse método porque não
podemos a fase do câncer, não podemos saber se ele pode a área da superfície de uma maneira um pouco
diferente. Precisamos contar seis
vezes a área da superfície de cada lado do cubo. Cada lado do cubo
tem o quadrado. Então, precisamos multiplicar
essa coisa por seis. Mas precisamos
escrever assim. Acho que poderíamos simplesmente reutilizar
essa parte do código, certo? E para fazer isso, nós apenas agimos como classe parental. E pode a área da superfície, e nós apenas a multiplicamos por seis. Então, multiplicamos por seis, a área da superfície da raiz quadrada, e tudo funcionará bem. Olha, agora podemos
mudá-lo para cubo. E, por exemplo
, multiplicá-lo por dois é 44 multiplicado por seis é 24, e tudo funciona bem. Contamos a
área da superfície de cada figura. Agora é hora de
contar o volume. Então, conte o volume sozinho. E agora precisamos devolver o quê? A base do
cubo é o quadrado. E precisamos
multiplicá-lo pela altura. Então, precisamos multiplicá-lo por
altura ou por qualquer outra coisa, porque haverá honestidade. Neste momento, temos largura, altura e comprimento,
largura e altura. Eles são todos iguais. Para o cubo. Podemos multiplicá-lo
por, por exemplo, altura. E vai funcionar se
multiplicarmos pela largura, também funcionará. Então, agora podemos contar
o volume em vez disso. Ainda multiplicamos por dois,
multiplicamos por dois, o que
é igual a oito. Então esse é o volume. É assim que usamos
a herança para resolver o problema. Só existe essa lição.
Muito obrigado.
127. Herança vs associação - quando usar qual?: Olá, meus amigos. Hoje
vamos falar sobre o tópico avançado da licitação. Vamos falar sobre como
estabelecer relações adequadas. Então, como uma classe
se relaciona com outra? Porque eu cometi um erro
muito grande. Como se eu tivesse feito uma herança aqui. Cubo, quadrado herdado. Por que isso é um erro? Quando executo o código,
tudo funciona bem. Bem, isso é legal,
funciona bem, mas não é assim que decodificação do código promocional
deve ser. Por que eu acho isso? Porque quando observamos como o
quadrado se relaciona com o retângulo, podemos notar que o quadrado
é um subtipo de retângulo. Podemos chamar o quadrado
de retângulo, certo? Podemos fazer isso com facilidade. É por isso que é uma boa ideia
usar aqui uma herança. No entanto, em casos como aqui, quando temos um cubo
e esse quadrado, isso
significa que o
cubo é um quadrado? Não, não podemos chamar a Praça de
Cuba, certo? Quando acessamos a conta bancária, podemos ligar para uma conta de
saldo mínimo? Uma conta bancária, sim, é verdade. Então, sim, este é um momento
em que você usa a herança. Mas em casos como este, devemos usar algo
chamado associação. Associação significa que algo pertence a outra coisa, como a conta bancária tem usuários
, tem usuários, eles fazem parte
da conta bancária, certo? E no caso do cubo, quando você pensa por um segundo, cubo tem seis quadrados, certo? É composto por seis quadrados. E é aí que você
deve usar algo, o que se chama associação, o que significa que pertencer a ela
é um dos componentes. É parte de algo. Portanto, não devemos
fazer assim. Devemos criar aqui a
definição do nosso construtor. E agora devemos fazer o quê? Devemos usar o quadrado
como argumento. Poderíamos até dizer exatamente o tipo de
coisa que vem aqui. A figura que está vindo aqui vai ser quadrada, certo? Podemos informar sobre isso. E então atribuímos dois
quadrados, quadrados assim. Ok? Então, agora isso é
parte desse objeto. Dessa forma, podemos reutilizar o código do quadrado que
herda do retângulo. , como podemos fazer isso assim. Podemos acessar facilmente o quadrado
próprio e depois contar a era da superfície e depois a área
da superfície, certo? No entanto, agora não temos
acesso à altura do ponto automático. Esse não é o problema. Podemos facilmente fazer
algo assim,
calculando essa altura ao quadrado. Certo? Izzy. Portanto, ainda podemos reutilizar
o código como fizemos antes. No entanto, isso agora
é um atributo. Qual é a vantagem de
escrever um código como esse? Olha, agora, não enviamos aqui na ferramenta que, quando
você está vendo isso,
número dois, você não sabe exatamente o que eu
enviei aqui, certo? Agora. Observe que
essa doença parental espera de nós um quadrado. Então isso significa que podemos
digitar algo assim. Ok, então estou enviando um
quadrado de comprimento lateral. Agora temos o valor bom no quadrado,
que é a base do nosso cubo. E podemos então multiplicá-lo por seis para
contar a área da superfície ou o volume contando a área da superfície
multiplicada pela altura. Certo? Isso é legal, não é? momento, quando você
está analisando essas diferenças, essas diferenças podem
parecer
que não há diferença, mas acredite em mim, mas acredite em mim, quando você está criando
um código como esse. Seu código seria
mais fácil de expandir. Observe que poderíamos realmente criar uma classe que
seria chamada, por exemplo cuboide, certo? Cuboid é
algo parecido. Então, temos
coisas retangulares ao redor, como na base temos
diferentes no lado direito, lado
esquerdo
diferente de cima em
um dos lados diferente . Então, seja o que for. Há, dois aqui, dois aqui e aqui. E o cubóide é
algo parecido com isso. Então, ele consiste em seis
retângulos, certo? Dois deles são
diferentes da base, cima e para baixo, para a esquerda e para a direita, e o que está atrás
e à nossa frente. Eles são parecidos, certo? Então é assim que o
cubóide se parece. E se tivéssemos adotado a abordagem da
herança, como por exemplo herdaríamos o
retângulo, o retângulo. Ainda seria difícil para nós
escrever o código porque
teríamos apenas o
retângulo base, certo? Então, para ser honesto, precisaremos usar 1233 retângulos
diferentes como argumento ou precisaremos fazer
algumas coisas estranhas para
contar a área da superfície. Então, a razão pela qual aqui, é melhor usar como um cubóide, a associação é que podemos fazer
algo assim. Podemos, por si só, descobrir, podemos pedir a altura porque precisamos disso, agora
precisamos ser especificados. E como base, vamos atribuir figuras. Agora podemos enviar aqui
o retângulo ou, por exemplo quadrado, certo? Altura própria é igual a altura. É disso que precisamos. E agora temos o que
precisamos contar, por exemplo, contagem automática de volumes definidos
por volume. E agora podemos fazer o
autobanco de dados, contar a área da superfície multiplicada pela altura do ponto próprio
e retornar. Certo? Agora. Podemos contar o
volume assim. Estamos usando a base
que será enviada aqui. Assim, podemos pegar cada
quadrado ou até mesmo em cubo. Então, para ser honesto, se você
pensar por um segundo, cubo é apenas algum
tipo de cubóide. Então, poderíamos usá-lo para
fazer uma herança, certo? Então você não perde tempo. Nós poderíamos fazer algo assim. Estou entendendo o comentário. Observe que herdamos o cubóide. E aqui, o que? Nós apenas terminamos com a figura aqui
e enviamos a altura. E sim, isso é suficiente. Nós simplesmente não podemos reutilizar
essa parte do código. Porque o cubóide é,
na verdade, um subtipo de cubo. É assim que você pode
melhorar seu código. Você também pode fazer uma definição para contar
a área da superfície, certo? No entanto, isso não é tão fácil. Agora, não vai ser tão fácil porque quando você olha para o
cubóide, temos o que é bom? Duas vezes? A base. Precisamos decifrar
umas duas vezes, vender essa área de
superfície de contagem de pontos de Bayes, certo? Temos um retângulo duas vezes
diferente aqui e aqui na lateral. E observe que esse
retângulo na lateral tem uma palavra que a profundidade multiplicada
pela altura, certo? Então, podemos fazer algo como mais dois
multiplicado por ela mesma, aquela base, aquela
onda, que é, por exemplo o f multiplicado pela
altura própria mais dois multiplicado. No topo,
temos a palavra cujo comprimento multiplicado pelo comprimento
multiplicado pela morte, certo? Aqui temos a altura
multiplicada pela morte. Portanto, salve a altura da base
multiplicada por ela mesma. Altura. Assim. Eu cometi um erro aqui. É assim que você conta
a área da superfície. Poderíamos simplesmente
incluir isso no comentário e usar essa parte do código. Graça. Porque o cubo é um subtipo
de cubóide, certo? É quando usamos a herança. No entanto, o cubóide
tem como parte dele, algo bom é chamado
de figura, como, por exemplo, retângulo ou quadrado. É quando usamos associação. Seria uma péssima ideia
fazer algo como um retângulo aqui, porque
isso simplesmente não é bom. Ok? Agora você pode estar pensando que
há algo bom chamado agregação
e composição. O que é isso? Olha. No momento,
usamos a agregação. Agregação significa
combinar, concatenar, acumular e criar
um objeto componente. Foi o que fizemos aqui. E
é realmente Associação. A agregação e a composição são um subtipo de associação. Isso é realmente que você pode chamar
isso e essa associação. No entanto, algumas pessoas querem que você saiba a diferença entre agregação
e composição. Acredite em mim, estamos
contando para você. Você não precisa saber
a diferença, então você
pode simplesmente parar o vídeo. No entanto, se você obrigado a saber que alguém
exige isso de você, então você precisa entender
a diferença e qual é a agregação de
um objeto como esse, porque é a figura como quadrado e um retângulo
pode existir sem o cubóide. Podemos fazer coisas em
quadrados e retângulos. Temos uma composição cubóide
igual à segregação, mas tem uma condição. O objeto que atribuímos
não pode existir sem a classe à qual esse objeto está
atribuído. O que isso significa? Bem, imagine uma
pessoa como, por exemplo, eu. Eu tenho um coração, certo? Quando meu coração parou de bater. Eu parei de existir. Bem, quando eu morro, meu coração também para, certo? Então, eles estão bem
conectados um ao outro. Bem, também há algo chamado de
transplantes do coração, então talvez eles não morram, mas isso muda
dependendo do conteúdo, dos contextos. O que, o que, o que, como dizemos. É por isso que a composição e a diferença de agregação
são muito difíceis de detectar. É por isso que, para ser honesto, a
maneira mais fácil é chamar cada vez de agregação e composição apenas
associação, ok? O que significa que você
está apenas criando um objeto dentro de outra classe como um atributo que é
tudo Associação. E quando usar herança
ou associação. Se o objeto for parte de outro objeto, você
usa associação. Então você cria um tributo e designa para
comer outro objeto. Se o objeto for um subtipo de outro objeto, você
usa herança. Observe que já usamos associação sem nem mesmo
saber que fizemos isso. Quando criamos a placa de raquete e dentro das placas de foguete, depois o barco de raquete,
havia foguetes. Já fizemos algo
assim. Esta raquete é apenas
parte do tabuleiro de raquete. Há muitas
raquetes dentro dela. É por isso que usamos associação. Não usávamos herança, nem
sabíamos
sobre herança. Então. É quando
você usa associação. Isso quando você usa herança. E isso é realmente
o que você precisa lembrar desta palestra. Quando usar,
você não precisa saber exatamente como
ligar um para o outro. Eu realmente não gosto de como nós, como pessoas, perdemos nosso
precioso tempo para descobrir e sempre lembrar a diferença
entre pensamentos assim. Só que isso simplesmente não melhora você como pessoa
ou programador. Você, como programador, deve
saber quando deve
usar qual tipo de
relação e os Gs a usam. Você não precisa saber como
chamar isso de agregação adequada. Talvez isso seja realmente
composição. Isso é apenas perda de
tempo, pelo menos para mim. Eu tinha que te contar todas
essas coisas, certo? O que é agregação
com essa composição? Porque alguns professores
podem exigir isso de você. Então, infelizmente, você
precisa passar algum tempo e brincar com alguns exemplos. Tente digitar
agregação versus composição do Google. Você encontrará muitos
outros exemplos. Se o que eu
lhe dei não for suficiente,
no entanto, espero que tudo tenha sido
explicado bem o suficiente. Lembre-se de que, se
tiver alguma dúvida, fique à vontade para perguntar. Estou sempre aqui para apoiá-lo.