Python 3: programação com Python para iniciantes | Arkadiusz Włodarczyk | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


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

Python 3: programação com Python para iniciantes

teacher avatar Arkadiusz Włodarczyk, Professional teacher

Assista a este curso e milhares de outros

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

Assista a este curso e milhares de outros

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

Aulas neste curso

    • 1.

      O que você saberá após este curso?

      3:10

    • 2.

      O que é o Python? Instalação e primeira execução

      8:47

    • 3.

      Variáveis, criação e execução de redações externas e Shell interativo

      14:06

    • 4.

      Comentários

      3:17

    • 5.

      Tipos de variáveis

      8:59

    • 6.

      Operadores de matemática

      10:12

    • 7.

      Exercício: adição de IVA aos produtos

      8:12

    • 8.

      Semicolon e ENTER - atribuindo vários valores a variáveis de uma só vez

      4:30

    • 9.

      Operadores de atribuição

      2:18

    • 10.

      Brincando com cordas (cortando, adicionando e se divertir)

      10:01

    • 11.

      Importando bibliotecas - noções básicas

      10:51

    • 12.

      ATENÇÃO - palestra importante sobre erro comum em relação às funções

      5:22

    • 13.

      Tirando dados de conversão de usuário e tipo (fundição)

      11:52

    • 14.

      Operadores de comparação (relacionais)

      5:10

    • 15.

      Instrução 'se' por que a INDENTAÇÃO é IMPORTANTE no Python | não caiba!

      10:50

    • 16.

      Exercício de calculadora

      11:05

    • 17.

      Valores diferentes do zero

      3:04

    • 18.

      Operadores lógicos

      9:58

    • 19.

      Loop

      6:06

    • 20.

      EXERCÍCIO: números somando

      8:08

    • 21.

      Loop para

      6:12

    • 22.

      Quebrar e continuar

      11:20

    • 23.

      EXERCÍCIO: número de adivinhação

      8:34

    • 24.

      O que são Listas? Operações básicas em listas

      9:36

    • 25.

      Verificar se o elemento está 'dentro' ou 'não' na lista

      2:41

    • 26.

      Operando em listas com funções

      13:34

    • 27.

      Tulipas - o que significa imutável?

      5:20

    • 28.

      Dicionário

      10:08

    • 29.

      Conjuntos

      7:12

    • 30.

      Operações em conjuntos

      7:32

    • 31.

      Tipos aninhados

      12:49

    • 32.

      Processando tipos aninhados usando loops

      3:28

    • 33.

      Dicionário dentro do dicionário, dicionário dentro da lista - quando escolher qual?

      8:37

    • 34.

      Extraindo registros de dicionários aninhados

      19:33

    • 35.

      EXERCÍCIO: dicionário dinâmico com definições

      12:20

    • 36.

      Compreensões de lista

      10:14

    • 37.

      Expressões de gerador de Python

      11:29

    • 38.

      Compreensões de dicionário

      14:04

    • 39.

      Definir a compreensão

      2:51

    • 40.

      EXERCÍCIO: encontrando números que são divisíveis por 7, mas não são divisíveis por 5

      10:25

    • 41.

      Como criar uma função? Que funções de problema resolve?

      10:25

    • 42.

      Passando mais de um argumento, função com vários parâmetros

      4:46

    • 43.

      Valores de retorno 'retorno'

      12:26

    • 44.

      Seus próprios módulos importados

      9:52

    • 45.

      enum - o que é e por que você deve usá-lo?

      13:01

    • 46.

      EXERCÍCIO: sequência aritmética, somando números até número introduzido

      13:49

    • 47.

      Medir o desempenho do código | Quão bem (rápido) alguma parte do código funciona

      15:06

    • 48.

      Função como argumento de outra função | Como medir o desempenho do func

      7:19

    • 49.

      Argumentos padrão

      7:21

    • 50.

      Palavras-chave e argumentos posicionais

      8:31

    • 51.

      EXERCÍCIO - verificando se o valor está no recipiente

      6:48

    • 52.

      Argumento de comprimento variável

      11:45

    • 53.

      Variáveis locais vs globais - escopo - vida útil de variáveis

      9:12

    • 54.

      Objetos imutáveis vs mutáveis

      20:56

    • 55.

      Cópia rasa vs profunda do objeto

      14:08

    • 56.

      Funções anônimas do Lambda | - o que elas? quando você deve usá-los?

      11:49

    • 57.

      Desenhando números aleatórios - criando um programa que verifica se você bateu no monstro

      14:47

    • 58.

      Eventos aleatórios - função de escolha vs escolhas

      9:04

    • 59.

      shuffle - baralhando cartas em jogo 'guerra'

      3:04

    • 60.

      EXERCÍCIO: elementos de desenho sem rePETIÇÃO - jogo de loteria - 6 números de 49

      12:46

    • 61.

      EXERCÍCIO | GAME - Desenho de cores de baús aleatórias com recompensas aleatórias

      25:02

    • 62.

      EXERCÍCIO | GAME - desenho de valores aproximados de um determinado valor

      8:05

    • 63.

      O que é um arquivo? Como criá-lo? Por que precisamos para FECHÁ-lo? Como salvar dados?

      10:09

    • 64.

      Excepções, tentem, finalmente bloqueie o exemplo prático

      4:22

    • 65.

      Abrir o arquivo usando: com..:

      3:01

    • 66.

      Ler o conteúdo do arquivo - lido vs readlines, linhas divididas, codificação

      7:29

    • 67.

      procurar e dizer - mudando e lendo a posição da última operação no arquivo

      5:04

    • 68.

      append texto no final do arquivo

      2:21

    • 69.

      a+, r+, w+ - dois modos de abertura de arquivos de função

      6:34

    • 70.

      Palavra-chave, exceto - exceções captura - EXERCÍCIO - carregamento de nomes e sobrenomes

      12:29

    • 71.

      Funções do gerador - palavra-chave do rendimento

      13:30

    • 72.

      EXERCÍCIO: Gere uma quantidade infinita de números multiplicados por si mesmos

      6:19

    • 73.

      Enviar método em funções do gerador

      11:54

    • 74.

      O que é o JSON? Por que o usamos? Quais problemas o JSON resolve?

      5:55

    • 75.

      Criando e salvando dados do Python no formato JSON para arquivo e String

      9:55

    • 76.

      Pretty Printer - carregando/economizando JSON bonita e ordenada

      7:38

    • 77.

      Carregando dados do arquivo JSON para o Python

      3:59

    • 78.

      O que é pip e PyPi? Instalar e jogar com pacote externo - pedido

      11:29

    • 79.

      Carregando dados do servidor do arquivo JSON - prefácio para o próximo EXERCÍCIO

      10:16

    • 80.

      Processando dados do JSON, | extraindo valores superiores da lista de dicionários

      18:28

    • 81.

      Refactoring - tornando nosso código mais fácil de manter com base em palestras anteriores

      14:09

    • 82.

      SOLUÇÃO 1: Recuperando alguns usuários do servidor ao mesmo tempo

      7:06

    • 83.

      SOLUÇÃO 2: Recuperando alguns usuários do servidor ao mesmo tempo

      4:53

    • 84.

      SOLUÇÃO 3: Recuperando alguns usuários do servidor ao mesmo tempo

      12:05

    • 85.

      defaultdict fornecendo valores ausentes do dicionário ao acessar elemento vazio

      6:03

    • 86.

      O que é API pública? Onde encontrá-los? stackoverflow API

      12:50

    • 87.

      Obtendo o JSON do stackoverflow.com -> obtendo perguntas principais da semana passada

      10:17

    • 88.

      Abertura de sites a partir do código Python - módulo do navegador

      4:35

    • 89.

      Obtendo registros da semana passada - módulo datetime

      10:15

    • 90.

      EXERCÍCIO: sistema CAT - introdução

      12:37

    • 91.

      POST - adicionando um gato à lista favorita

      6:57

    • 92.

      DELETE - removendo um gato da lista favorita

      15:25

    • 93.

      VSC - download e instalação

      3:19

    • 94.

      Configurando o espaço de trabalho no VSC e instalando extensões básicas

      8:03

    • 95.

      Linho - o que está linting - como usá-lo, configurações no .vscode

      10:28

    • 96.

      Corredor de código | atalhos personalizados | de outros editores, shell interativo

      11:25

    • 97.

      Tema de ícones

      2:14

    • 98.

      Colorizer com suporte para pares - melhorando a legibilidade do seu código

      2:22

    • 99.

      Python Preview - assistindo a execução de código ao escrevê-lo

      6:39

    • 100.

      Python Quick Print

      1:02

    • 101.

      Verificador de ortografia com código

      2:49

    • 102.

      Auto Save - certificando-se de que seu arquivo é salvo após cada mudança

      1:13

    • 103.

      Snippets e palavras-chave passe

      6:26

    • 104.

      Formatação de código automática

      2:43

    • 105.

      Modo de depuração - como depurar seu código profissionalmente?

      15:56

    • 106.

      Ligatures - fonte personalizada criada especialmente para programadores - Código Fira

      6:50

    • 107.

      O que é a programação orientada a objetos?

      4:20

    • 108.

      O que são objetos e aulas? Como criar um objeto e um curso simples ?

      13:45

    • 109.

      Criando seu primeiro método - o que é "eu"?

      14:31

    • 110.

      __init__ - enviando argumentos para o curso para inicialização

      7:57

    • 111.

      EXERCÍCIO: crie foguetes que possam subir

      11:01

    • 112.

      Corda de documentos - docstring

      5:34

    • 113.

      __str__ - método dunder que representa o texto do objeto

      4:45

    • 114.

      EXERCÍCIO: organizando mais de um curso - placa de foguete

      10:06

    • 115.

      __getitem__, __setitem__ - configurando e obtendo valores usando métodos do dunder

      10:02

    • 116.

      EXERCÍCIO: contando a distância entre foguetes

      20:58

    • 117.

      É importante entender a matemática que foi usada na última palestra?

      5:58

    • 118.

      Métodos estáticos

      12:17

    • 119.

      Definir tipo de variáveis usando anotações - Extensão do Pyright

      12:15

    • 120.

      __len__

      5:28

    • 121.

      variáveis classe / estáticas - criando usuário com ids exclusivos

      11:22

    • 122.

      EXERCÍCIO: conta bancária - retirada/depósito

      7:27

    • 123.

      Como lidar com valores retornados adequadamente dos métodos?

      16:19

    • 124.

      Herança e método de substituição - super()

      19:05

    • 125.

      EXERCÍCIO: herança por exemplo prático - resultado

      8:02

    • 126.

      EXERCÍCIO: brincando com cubo, quadrado e retângulo

      9:15

    • 127.

      Herança vs associação - quando usar qual?

      16:23

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

Gerado pela comunidade

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

7.968

Estudantes

32

Projetos

Sobre este curso

Economize seu tempo precioso comprando este curso de Python. Você aprenderá a programar em Python de uma maneira rápida e fácil!

Se você quiser aprender uma língua que pode ser usada em todas as circunstâncias e ganhar bom dinheiro, então você está no lugar certo!

Tudo isso é apresentado por um jovem que compartilha seu conhecimento, para que a linguagem usada possa ser facilmente compreendida por todos.

O curso é projetado para aqueles que não têm nenhum conhecimento prévio sobre programação. Não importa se você nunca escreveu nenhum programa ou não tem ideia sobre programação... Depois de meu curso tudo isso vai mudar. Você vai busto o mito de que a programação é uma coisa difícil apenas para alguns!

Python é:

  • fácil de aprender e ler,
  • rápido
  • universal (toneladas de bibliotecas úteis disponíveis)

Python é usado por:

  • Google (Youtube)
  • Facebook
  • Dropbox
  • Yahoo
  • NASA
  • IBM
  • Mozilla
  • Reddit

Depois deste curso de Python, você saberá:

  • como importar e usar bibliotecas básicas de Python

  • Quais são as funções e como usá-las

  • como os operadores aritméticos, lógicos e relacionais funcionam

  • como operar em Strings :-)

  • como criar condições com a ajuda de declarações condicionais

  • o que eles são e quando usar listas, coleções, tuplas

  • como criar expressões avançadas para gerar, listas, dicionários e conjuntos.

  • como loops funcionam

  • como lidar com arquivos

  • como criar eventos aleatórios em um mini-jogo.

  • como suportar o formato JSON em um exemplo prático - solicitando conteúdo de servidores de API

  • como instalar pacotes PyPi externos

  • como lidar com o Visual Studio Code em Python

Isso não é tudo!

O curso de Python tem um monte de exercícios práticos.

Python é frequentemente usado por programadores profissionais. Mesmo que eles usam outros idiomas diários eles ainda usam Python para resolver problemas complexos.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Acredito que todos têm a capacidade de desenvolver software se forem ensinados adequadamente. Incluindo você. Vou dar-lhe o contexto de cada novo conceito que eu te ensino. Depois do meu curso, você finalmente entenderá tudo o que codificou.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Se você tiver alguma dúvida sobre os tópicos cobertos neste curso de Python, não hesite em perguntar. Estou sempre feliz em ajudar aqueles que querem aprender!

JUNTE-SE AGORA e torne-se especialista em Python

Conheça seu professor

Teacher Profile Image

Arkadiusz Włodarczyk

Professional teacher

Professor

I am the author of 27 very popular video courses about programming, web-development and math in Poland. I've also created 7 video courses in English. Over 340,000 people enrolled in my courses. I put all my heart into creation of courses. I always try to explain everything the easiest possible way. I'm sure that my courses will help you in your programming and web development adventure :)

I believe that everyone has the ability to develop software if they are taught properly. Including you. I'm going to give you the context of each new concept I teach you. After my course, you will finally understand everything that you code.

I've been developing websites for over 15 years, and i've been programming for over 10 years. I have enormous experience in that matter, and I want t... Visualizar o perfil completo

Level: Beginner

Nota do curso

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

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

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

Transcrições

1. 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.