






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Uma introdução abrangente à programação em python, cobrindo conceitos essenciais como variáveis, tipos de dados, operadores, estruturas de controle e interpolação de strings. Através de exemplos práticos e explicações claras, o documento guia o leitor na compreensão dos fundamentos da linguagem python, preparando-o para a construção de programas mais complexos.
Tipologia: Notas de estudo
1 / 12
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Este documento é apenas uma revisão básica, criado para manter um histórico e facilitar a resolução de dúvidas futuras. Todas as informações relacionadas à programação, independentemente da linguagem, serão incluídas aqui sempre que forem relevantes.
Tipo de Quebra de Linha
Então porque existe uma diferenciação? Sinceramente eu não to afim de escrever toda a explicação pra isso então se quiser olhar tá Aqui.Mas o Importante é
\r = CR (Carriage Return) // Usado como quebra de linha no Mac OS anterior à versão X. \n = LF (Line Feed) // Usado como quebra de linha Unix/Mac OS superior à versão X. \r\n = CR + LF // Usado como quebra de linha no Windows.
Observação importante: o interpretador do código sempre vai ler o código da esquerda para direita e de cima para baixo.
Em Arquivos com a extensão .py para comentar no código utilizamos o caractere # más somente uma linha. Utilizando """ (três aspas duplas) é possível comentar mais de uma linha de código, porém é necessário informar que o interpretador vai ler as linhas pois isto é uma DocString. Ao selecionar mais de uma linha dentro do código e apertar o atalho CTRL+/ todas as linhas selecionadas serão automaticamente comentadas.
print(): Imprime no Terminal uma mensagem/valor de variável. é possível passar mais de um argumento separando eles utilizando uma , (Virgula). para passar um valor que seja um texto, é necessário colocar o texto dentro de "texto" (aspas duplas) ou 'texto' (aspas simples). No Visual Studio Code a quebra de linha é feita automaticamente. É possível passar o argumento " end=' ' " e passar o tipo de quebra de linha que será passada ao final do print() ou escrever um texto especifico ao final da linha. print("Banana",Maçã", end='?') (^) #Saida : Banana Maçã? ´ quando separamos um argumento utilizando virgulas(,) o próprio interpretador vai utilizar um espaço para separar os argumentos. porém se usarmos o argumento sep='' podemos escolher o caractere que vai separar os argumentos.
print("Banana",Maçã", sep='-') #Saida : Banana-Maçã´
\n = O argumento \n ou "new line\line-feed" que quando chamado irá quebrar a linha do texto. \r = O argumento \r ou "carriage return" faz a exata mesma coisa que o "\n".
type() = primeiramente type não é uma função. porém é possível utilizar type como um argumente dentro de um print para se descobrir o tipo do argumento que está sendo demonstrado na tela. apenas utilizando type(). print(type("Ricardo")) = <class 'str'>
Sendo que esse 'str' é onde é demonstrado o tipo do argumento passado. no caso "Ricardo" seria uma string então o argumento demonstrado é 'str'.
F-string{} = Uma F-string é um ==modo de adicionar valores de variáveis em meio uma string ==sem ter que fechar e adicionar uma virgula para fazer a separação de argumentos.
Mostrar Nome = "Seu Nome é" nome <- Exemplo sem utilizar a Fstring. Mostrar Nome = f"Seu Nome é {nome}" <- Exemplo com Fstring.
É possível notar que ao utilizar o "f" antes do seu valor string, você está habilitando a possibilidade de utilizar variáveis em meio a string. para chamar o valor da variável basta envolver o nome da variável em chaves("{ }").
Se o valor dá variável que você deseja colocar seja um número quebrado, é possível diminuir o tamanho do número apenas adicionando dois pontos dentro dos colchetes e colocando o numero de casas decimais que devem aparecer com um ponto antes do número. f"Sua Altura é {altura:.3}.
Ao utilizar a sintaxe de fatiamento (^) [: :] , podemos extrair diferentes partes de uma string, e até mesmo toda a cadeia de caracteres de uma vez. O fatiamento em Python utiliza três argumentos: (^) início , (^) fim e (^) passo , que permitem especificar quais caracteres queremos acessar.
Esses três argumentos nos oferecem uma grande flexibilidade ao trabalhar com strings em Python.
Se ao chamarmos uma variável utilizando uma f-string e colocarmos ao lado do valor da variável um sinal de igual("=") o valor demonstrado será o nome da variável e o valor armazenado nela. (^) print(f"Sua Altura é {altura=}) = "Sua altura é altura=1.80" . Input() = É uma função para se coletar dados do usuário. quando passamos a função input() podemos exibir um texto no terminal para que o usuário veja, logo depois disso o usuário receberá a permissão de digitar algo no terminal. input("Digite seu nome: ") = Digite seu nome: é importante dizer que quando a função input é executada, a leitura do código será pausada na linha onde está a função até que o usuário digite algo.
Normalmente utilizamos esta função para coletar dados digitados pelo usuário para dentro de variáveis, é importante reforçar que qualquer dado "inputado" pelo usuário e armazenado em uma variável será tratado como do tipo "String" então a correção de tipos se faz necessária. Id() = A função id() retorna um identificador único para um objeto na memória. O que ele faz é fornecer um valor que pode ser usado para identificar o objeto durante a execução do programa. Esse identificador é único enquanto o objeto existir na memória. Fatiamento [: :] : O fatiamento em Python é uma técnica utilizada para extrair uma parte específica de uma string, ou seja, para acessar uma subsequência de caracteres de uma string. Como as strings são iteráveis em Python, podemos acessar os caracteres diretamente utilizando seus índices.
variavel = "Olá Mundo" print(variavel[5])
O primeiro argumento é o índice de início.
variavel = "Olá Mundo" print(variavel[5:])
#AQUI JÁ QUE PASSAMOS APENAS 1 ARGUMENTO E LOGO DEPOIS COLOCAMOS OS DOIS PONTOS ESTAMOS PASSANDO APENAS ONDE O FATIAMENTO DEVE SER INICIADO. ENTÃO AQUI O VALOR RETORNADO SERIA "UNDO".
O segundo argumento é o índice final (não incluso).
variavel = "Olá Mundo" print(variavel[:8])
VALOR RETORNADO SERIA "OLÁ MUND".
#É IMPORTANTE DIZER QUE O FATIAMENTO OCORRERÁ APENAS ATÉ O CARACTERE ANTERIOR AO NÚMERO DE FINALIZAÇÃO.
O terceiro argumento é o passo, que indica a frequência dos caracteres a serem selecionados.
variavel = "Olá Mundo" print(variavel[0:9:2])
O INTERPRETADOR VAI PEGAR 1 CARACTERE E PULAR O PRÓXIMO. ENTÃO O VALOR RETORNADO SERIA "OÁMNO".
Len() = A função len() retorna a quantidade de caracteres presentes em uma string. Por exemplo, no código print(len('olá mundo')) , o valor retornado seria 9 , pois a função conta todos os caracteres da string, incluindo o espaço entre as palavras.
Exemplos Métodos List
Exemplos Concatenando e Estendendo List
List/Array = O tipo list/array é um tipo de dado que armazena várias informações em formato de lista. Em Python, uma das maneiras de criar uma list é utilizando a função list() , embora essa não seja a forma mais comum. A forma mais usual de criar uma lista é utilizando colchetes ( [] ), como em lista = ['banana', 'maçã', 'uva']. Dentro das listas, é possível armazenar valores de tipos de dados diversos, ou seja, elas não ficam restritas a armazenar apenas um tipo de dado. Por exemplo: lista = ['banana', 2.0, True].
lista = ['roberto','carlos',3.9,True]
print(lista[2]) # AQUI O VALOR RETORNADO SERIA 3.
lista[1] = 'ricardo' print(lista) # AQUI O VALOR RETORNADO SERIA ['roberto','ricardo', 3.9, True]
del lista[0] print(lista) # AQUI O VALOR RETORNADO SERIA ['ricardo', 3.9, True]
DESEJADO AO FINAL DA LISTA
lista.append('jonas') print(lista) # AQUI O VALOR RETORNADO SERIA ['ricardo', 3.9, True,'jonas']
lista.pop() print(lista) # AQUI O VALOR RETORNADO SERIA ['ricardo', 3.9, True]
lista.insert(0,'mike maluco') print(lista) # AQUI O VALOR RETORNADO SERIA ['mike maluco','ricardo', 3.9, True]
lista.clear() print(lista)
lista_1 = [1,2,3] lista_2 = [4,5,6] lista_3 = lista_1 + lista_ print(lista_3) # O VALOR RETORNADO SERIA [1,2,3,4,5,6]
UMA NOVA LISTA. MAS SIM ALTERA A LISTA ORIGINAL.
lista_1.extend(lista_2) print(lista_1) # O VALOR RETORNADO SERIA [1,2,3,4,5,6]
Type Convertion ou Conversão de Tipos é o ato de converter um tipo em outro. Em linguagens de programação de tipagem "Forte" a conversão de tipos não é feita automaticamente durante a execução do código como por exemplo (^) print( 1 + "1") ao digitar este código em um arquivo de uma linguagem de programação de tipagem forte como python por exemplo. seria retornado um erro! então é necessário fazer a conversão dos tipos.
Algumas dessas "funções" para se fazer a conversão de dados de tipos primitivos são:
Existem dois tipos principais de tipagem em linguagens de programação, que podem ser combinados de diferentes formas:
Variáveis são utilizadas para salvar informações na memoria do computador. Segundo a PEP8 devemos iniciar variáveis com letra minúscula e podemos utilizar números e underline " _ " após essa primeira letra. O Sina de igual " = " é utilizado para atribuir um valor a variáveis. nome_variavel = 1
Toda vez que chamamos uma variável estamos nos referindo ao valor que está armazenado a ela. então se definimos uma variável como nome_completo = "Igor Felix" e chamamos ela em uma função print por exemplo. print(nome_completo) o valor que iremos receber é o valor armazenado dentro da variável.
Dentro de variáveis é possível se transmitir qualquer tipo de dados que for desejado inclusive é possível passar expressões dentro de variáveis, como por exemplo: soma_2_2 = 2 + 2 e quando utilizarmos essa variável o valor retornado será o resultado da expressão. print(soma_2_2) == 4
Constantes são um tipo de variável em que o valor atribuído a ela nunca será alterado. em python não existe o conceito de variável constante porém normalmente os programadores atribuem os nomes de variáveis constantes sendo totalmente em maiúsculo.
Exemplo Utilizando Variáveis Constantes
Int = int("1") == 1 Float = float("1") == 1. String = string(1) = "1" Bool = (^) bool(' ') = true Vale a pena destacar que esses argumentos não são "funções" de verdade, mas sim classes. no futuro explicarei melhor o motivo disso.
Quanto ao momento da verificação: Tipagem Estática: O tipo das variáveis é definido em tempo de compilação e não pode mudar. Tipagem Dinâmica: O tipo das variáveis é definido em tempo de execução e pode mudar. Quanto à rigidez das regras de tipos: Tipagem Forte: Impede operações inválidas entre tipos, exigindo conversões explícitas. Tipagem Fraca: Permite conversões automáticas entre tipos, às vezes causando comportamentos inesperados.
EM UM RADAR.
vel_carro = 60 #Variável que contem a velocidade do veiculo. local_carro = 90 #Variável que contem o local onde o veiculo se encontra.
RADAR_1 = 61 #Variável constante que armazena a velocidade maxima do radar. LOCAL_RADAR_1 = 100 #Variável Constante que armazena o local onde o radar está RANGE_RADAR_1 = 1 # #Variável Constante que armazena o range de detecção do radar.
velocidade_carro_passou_radar = vel_carro > RADAR_
carro_pass_radar = local_carro >= (LOCAL_RADAR_1 - RANGE_RADAR_1) and local_carro <= (LOCAL_RADAR_1 + RANGE_RADAR_1)
É importante afirmar que em casos que existam 2 ou mais argumentos que estão na mesma ordem de procedência eles serão executados da esquerda para a direita. e a ordem de execução dos parênteses é sempre do interno para o externo.
Os Operadores Condicionais são tipos de operadores que questionam ou checam informações dentro do nosso código como: variáveis, inputs, resultados de cálculos. com eles nós podemos mudar o fluxo de execução do nosso código, fazendo assim o interpretador ler certas linhas e pular outras caso necessário.
É importante destacar alguns pontos sobre os operadores if, elif e else:
conta = (1 + 1) ** (5 + 5) print(conta)
IF() = O if é, basicamente, uma estrutura condicional que faz uma pergunta ou verifica uma condição no código, retornando diferentes resultados com base na resposta. Por padrão, todo if é acompanhado de uma condição ou questionamento, mas a forma como isso é implementado varia entre linguagens de programação.
No Python, para declarar um if , é necessário definir a condição a ser avaliada. O que diferencia o Python de outras linguagens é a maneira de organizar o que pertence a cada bloco de código. No Python, utilizamos a identação (tabulação ou espaços) para estruturar o código, enquanto em outras linguagens, como C ou Java, o código que pertence ao bloco condicional geralmente é delimitado por chaves {}. Exemplo
entrada = input("deseja '1-entrar' ou '2-sair'?: ") if entrada == '1' print("Você Entrou!")
ELIF() = O elif , ou "else if", é usado para realizar verificações adicionais dentro de uma estrutura condicional. Basicamente, ele funciona como uma forma de dizer: "Se a verificação anterior não foi verdadeira (True), tente esta condição."
É importante destacar que um elif só pode existir se houver um if previamente declarado. Ele serve para adicionar condições alternativas sem a necessidade de encadear múltiplos if separados, tornando o código mais organizado e eficiente. Exemplo
entrada = input("deseja '1-entrar' ou '2-sair'?: ") if entrada == '1': print("Você Entrou!") elif entrada == '2': print("Você Saiu!")
ELSE() = O else é uma estrutura condicional utilizada como uma alternativa final, executada caso nenhuma das condições anteriores seja verdadeira. Ele funciona como o "desfecho" do bloco de código if , garantindo que alguma ação seja realizada mesmo quando todas as verificações anteriores falharem. Exemplo
entrada = input("deseja '1-entrar' ou '2-sair'?: ") if entrada == '1': print("Você Entrou!") elif entrada == '2': print("Você Saiu!") else: print("Você não digitou uma opção existente!")
Utilizamos os operadores de comparação para comparar valores dentro do nosso código e retornar valores booleanos com base no resultado dessa comparação. Eles são extremamente importantes para definir se certas operações devem ser realizadas ou não no código. Aqui estão eles:
Os Operadores Lógicos são fundamentais para adicionar mais complexidade e controle às operações dentro dos blocos de código, permitindo combinar condições de forma eficiente. Eles possibilitam que diferentes expressões sejam avaliadas juntas, criando lógica mais avançada em programas. Com o uso desses operadores, é possível tomar decisões mais precisas e realizar comparações mais detalhadas, de acordo com o comportamento esperado. A seguir, estão os principais operadores lógicos utilizados em programação:
Exemplo AND
Exemplo OR
1 - Exemplo NOT
Maior(>) = 2 > 1 = True Maior ou Igual(>=) = 2 >= 2 = True Menor(<) = 2 < 3^ = True Menor ou Igual(<=) = (^) 3 <= 3 = True Igual( == ) = "A" == "A" = True Diferente(!=) = "A" != "B" = True
and( e ) = Quando utilizamos o operador lógico and , estamos incluindo múltiplas condições que precisam ser verificadas dentro do bloco de código. Isso significa que, ao usar o and , estamos verificando se todas as condições envolvidas são verdadeiras. Somente se todas as condições forem atendidas, a execução do código continuará. Em outras palavras, o and garante que todas as expressões sejam verdadeiras antes de prosseguir com a execução.
#CRIAR UM SISTEMA PARA VERIFICAR SE O EMAIL É IGUAL A "IGOR@EMAIL" E A SENHA É "1234"
email = input('digite seu email') senha = input('digite sua senha') if email == "Igor@email" and senha == "1234": print('você entrou') else: print('email ou senha incorretos')
or( ou ) = O operador lógico or^ avalia se pelo menos uma das condições verificadas é verdadeira. Se isso ocorrer, o código será executado normalmente. Caso nenhuma das condições seja verdadeira, o operador or^ continuará avaliando o restante das condições no código. Em resumo, a execução do código seguirá adiante se qualquer condição for verdadeira, caso contrário, ele pulará a execução e verificará as demais condições.
#CRIAR UM SISTEMA PARA RODAR O CÓDIGO INDEPENDENTE SE O VALOR DIGITADO SEJA MAIÚSCULO OU MINÚSCULO.
opcao_escolhida = input('digite "E" para entrar ou "S" para sair')
if opcao_escolhida == "E" or opcao_escolhida == "e": print('você entrou') elif opcao_escolhida == "S" or opcao_escolhida == "s": print('você saiu') else: print('digite uma opção existente')
not( não ) = O operador lógico not é utilizado para inverter o valor de uma expressão dentro do bloco de código. Quando usamos not True , o resultado será False , pois o not inverte o valor lógico de True para False. Da mesma forma, ao usar not False , o resultado será True , pois o not inverte o valor lógico de False para True. Em resumo, o operador not inverte o valor booleano da expressão que ele está aplicando.
Exemplo
Exemplo
Interpolação de strings é uma técnica utilizada na programação para inserir valores de variáveis dentro de uma string. Em algumas linguagens, como Python e C, pode-se usar diferentes formas de interpolação. Uma delas é a formatação de strings com o operador de porcentagem (%), onde se coloca um marcador de posição (%) e uma especificação de tipo de dado (como (^) %d para inteiros ou (^) %s para strings). Em seguida, colocamos as variáveis a serem inseridas na string, na ordem correspondente aos marcadores.
Porém, em linguagens mais recentes, como o Python moderno, a forma mais comum de interpolação é utilizando f-strings , que permitem inserir diretamente variáveis dentro das strings com a sintaxe (^) f"Texto {variável}".
O try e o except em Python desempenham funções semelhantes ao try e catch em outras linguagens de programação. Utilizamos o try para tentar executar um bloco de código, e se ocorrer alguma exceção (erro), o except é responsável por tratá-la, permitindo que o programa continue a execução de forma controlada.
A principal diferença é que, em Python, o try e except não são apenas "equivalentes" ao try e catch , mas sim a parte fundamental da estrutura de tratamento de exceções. Além disso, o except não "captura o erro" de maneira genérica, mas sim as exceções que ocorrem
O QUE SINALIZA QUE O BLOCO DE CÓDIGO IF FOI EXECUTADO. DEPOIS, VERIFICAMOS O VALOR DE VARIAVEL_PASSOU_IF PARA SABER SE A CONDIÇÃO FOI ATENDIDA. O USO DE UMA FLAG OCORRE QUANDO ALTERAMOS O VALOR DE UMA VARIÁVEL EM RESPOSTA A UMA CONDIÇÃO E, POSTERIORMENTE, VERIFICAMOS ESSE VALOR PARA DETERMINAR O QUE FAZER NO RESTANTE DO CÓDIGO.
None = None é um valor especial em Python que representa a ausência de um valor ou a inexistência de um objeto. Utilizamos None quando não queremos ou ainda não atribuiremos um valor a uma variável ou quando desejamos indicar que um objeto ou função não tem um valor definido.
variavel = none print(variavel) # AQUI O VALOR RETORNADO SERIA "NONE"
Is e Is not = is e is not são operadores usados para verificar se dois objetos são o mesmo, ou seja, se têm a mesma identidade na memória. Eles retornam valores opostos entre si: is retorna True se os objetos forem idênticos, enquanto is not retorna True se os objetos forem diferentes.
variavel = none print(variavel, variavel is None) # AQUI O VALOR RETORNADO SERIA "NONE TRUE" print(variavel, variavel is not None) # AQUI O VALOR RETORNADO SERIA "NONE FALSE"
nome = "josé" preco = 100
variavel = "olá %s! o preço do produto é R$%i" % (nome,preco) print(variavel)
#CASO O VALOR SEJA UM NÚMERO QUEBRADO, É POSSÍVEL ABREVIAR O VALOR UTILIZANDO UM PONTO E O NÚMERO DAS CASAS DECIMAIS ANTES DO TIPO DO VALOR.
nome2 = "joão" preco2 = 100.
variavel2 = "olá %s! o preço do produto é R$%.2f" % (nome2,preco2) print(variavel2)
valor = 100
variavel3 = "O valor %i em hexadecimal é %x " % (valor,valor) print(variavel3)
durante a execução do bloco (^) try.
Exemplo Try & Except
Existem diversas abordagens para implementar estruturas de repetição nas linguagens de programação. Essas estruturas são fundamentais para a execução de tarefas repetitivas de forma eficiente e flexível. Aqui estão algumas maneiras de se fazer:
Exemplo While & Break
DOBRAR ESSE VALOR.
numero_str = input('Digite um número para ser dobrado: ')
print('Utilizando o IF') if numero_str.isdigit(): numero_float = float(numero_str) print(f'O dobro de {numero_str} é {numero_float * 2}') else: print('isso não é um numero inteiro')
A UM VALOR VERDADEIRO, ENTÃO TEMOS QUE UTILIZAR UM MÉTODO PARA GARANTIR QUE ESTAMOS DIGITANDO UM VALOR NÚMERICO INTEIRO. CASO CONTRÁRIO, O CÓDIGO NÃO SERÁ EXECUTADO.
ERRO. ENTÃO O CÁLCULO IRÁ OCORRER MESMO COM NÚMEROS QUEBRADOS. PORÉM, SE O USUÁRIO DIGITAR ALGO QUE NÃO SEJA UM NÚMERO, PODEMOS DAR UMA RESPOSTA A ISSO. print('==' * 15)
print('Utilizando Try & Except') try: numero_float2 = float(numero_str) print(f'O dobro de {numero_str} é {numero_float2 * 2}') except: print('isso não é um numero!')
CÓDIGO E RAPIDAMENTE NOS DEU UMA RESPOSTA A ESSE ERRO.
FAZENDO DESTA FORMA PARA DEIXAR MAIS NÍTIDO A DIFERENÇA ENTRE UTILIZAR O TRY&EXCEPT E O IF.
while() & break() = Utilizamos o while() para criar um laço de repetição condicionado a uma expressão booleana. O bloco de código será executado enquanto a condição for verdadeira, e a repetição será interrompida assim que a condição deixar de ser atendida. Por outro lado, o comando break() é usado para interromper o laço de repetição de forma antecipada. Assim, a repetição pode ser encerrada tanto quando a condição definida não for mais verdadeira, quando o break() for executado, forçando a saída do laço antes que a condição seja reavaliada.
ATINGIR 10.
contador = 0
while contador <= 10: print(contador) contador = contador + 1 print('Acabou!')