leostella97 / pythonconceitos

Conceitos da linguagem Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python Conceitos

Acesse o Overview completo

História do Python

Python nasceu em 1989 como um hobby do programador Guido Van Rossum, matemático e programador de computadores holandês. A ideia inicial era dar continuidade a linguagem ABC que era desenvolvida no Centro de Pesquisa Holandês(CWI).
Python foi influenciado por ABC que era uma linguagem pensada para iniciantes devido a sua facilidade de aprendizagem e utilização.

• Os objetivos de Van Rossum para a linguagem Python era
- Ser uma linguagem fácil e intuitiva
- Código aberto para que todos possam contribuir
- Código tão inteligível quando o inglês
- Adequada para tarefas diárias e produtiva

Em 1989 é iniciado o desenvolvimento e só em fevereiro de 1991 é lançada a primeira versão pública 0.9.0
Python só não é bom para aplicativos mobile, mesmo sendo possível a criação, não se iguala a ferramentas próprias como Android Studio, Swift er=ntre outros

• Python é uma escolha muito versátil
- Tipagem dinâmica e forte
- Multiplataforma e multiparadigma
- Comunidade gigante e ativa
- Curva de aprendizado baixa
A extensão de arquivos python é .py
para exibir um texto no console, o comando utilizado é print("texto"), não é necessário utilizar ponto e vírgula
Para concatenar strings em python, pode utilizar o sinal de adição, como por exemplo "mensagem um" + "mensagem 2"
Os tipos servem para definir as características e comportamentos de um valor(objeto) para um interpretador

TIPOS DE VALORES
texto | str
numérico | int, float, complex (complex não é muito usado)
sequência | list, tuple, range
mapa | dict
coleção | set, frozenset
booleano | bool
binário | bytes, bytearray, memoryview

mapa é chave e valor, como nome = chave, por exemplo leonardo = valor
sequência é algo como 1, 2, 3, ..., n; até mesmo textos como hakuna matata é uma sequência de letras
coleção é parecido com a lista, porém, não deixa elementos repetidos
modo interativo permite que escreva o código e veja o resultado na hora
existe dois modos de iniciar o código, pode escrever python no terminal ou executar o script com a tag flag -i (por exemplo "python -i app.py") • dir sem argumentos retorna a lista de nomes no escopo local atual, com um argumento retorna uma lista de atributos válidos para o objeto, por exemplo
dir() e dir (100)
help invoca o sistema de ajuda integrado. É possível fazer buscas em modo interativo ou informar por parâmetro qual o nome do módulo, função, classe, método ou variável que deseja saber, por exemplo:
help() help(100)
caso a lista for muito grande, basta apertar a tecla "q" que levará ao final
concatenação, a melhor maneira de concatenar string e int utiliza chaves e fica dentro das aspas, por exemplo
nome = "Leonardo Stella"
idade = 26
eu = {f"Olá, meu nome é {nome} e tenho {idade} anos de idade."}
Em Python, também é possível declarar várias variáveis em apenas uma linha, algo semelhante ao INSERT INTO do SQL, por exemplo age, name = (26, "Leonardo") NÃO podemos criar uma variável sem atribuir um valor
Python não usa constantes, mas usa convenção para indicar que a variável não pode ser alterada

BOAS PRÁTICAS
• o padrão de nomes deve ser em snakecase, as palavras são separadas com underline( _ )
• escolher nomes sugestivos, nomes que você se lembrará após um tempo sem ter contato com o código
• nome de constantes tem que ficar em maiúsculo por exemplo CPF: 123-456-789-00
para concatenar variáveis e, somente variáveis usando o print pode usar a vírgula, por exemplo print(nome, idade) #é mostrado Leonardo Stella 26


CONVERTENDO TIPOS
Em alguns momentos é necessário converter o tipo de uma variável para manipular de forma diferente, por exemplo:
Variáveis do tipo string, que armazena números e precisamos fazer alguma operação matemática com esse(s) valor(es)
preco = 10 #definindo o valor 10 à variável
print(preco) #resulta 10 na tela
preco = float(preco) #convertendo para tipo float
print(preco) #agora, mostrando o valor da variável 'preco' no tipo float
preco = 10/2 #operação com a variável convertida
print(preco) #mostrar o resultado da operação na variável
Para converter número para string é um pouco diferente, se usa o comando print(str(preco)), em resumo, tanto a variável quando o str precisa de parenteses
Na concatenação, o uso do f concatena textos com variáveis, ela mais ou menos "diz" que vai ser inserido variáveis dentro dessa string criada, por exemplo:
print(f"idade {idade} preco {preco})

ENTRADA E SAÍDA
Lendo valores com a função input => A função built-in input é utilizada quando queremos valores da entrada padrão (teclado). Ela recebe um argumento do tipo string, que é exibido para o usuário na saída de tela padrão (tela/monitor). A função lê a entrada, converte para string e retorna o valor, por exemplo:
nome = input("Informe seu nome: ")
Exibindo valores com a função print => A função built-in print é utilizada quando queremos exibir dados na saída padrão (tela). Ela recebe um argumento do tipo var args de objeto e 4 argumentos opcionais(sep, end, le e flush). Todos os objetos são convertidos para string, separados por sep e terminados por end. A string final é exibida para o usuário
nome = "Leonardo"
sobrenome = "Stella"
print(nome, sobrenome, eld="...\n")
print(nome, sobrenome, sep="#")

>Leonardo Stela
>Leonardo Stella... *aqui tem a quebra de linha representada pelo \n no final*
>Leonardo#Stella *o sep representa o separador, então toda separação de string vai ter o #*
• Em resumo, neste código é apresentado o end e sep, são colocados no final, end é o que vai ter quando termina e sep é colcoado quando separa

RECEBER VALORES
• bem simples, para receber valores usa o método input, como no exemplo abaixo
nome = input("Digite seu nome: ")
idade = input("Digite sua idade: ")

OPERADORES ARITMÉTICOS
• Eles executam operações matemáticas, como adição, subtração, etc com os operandos, por exemplo
print(1+1) >adição, resulta em 2 print(10-2) >subtração, resulta em 8 print(4*3) >multiplica~ção, resulta em 12
• Para retornar divisão em inteiro mesmo resultando em número real, usa barra dupla (//), por exemplo
print(3//2) >resulta em 1
exponenciação é respresentado por **
• Na matemática existe uma regra que indica quais operações podem ser executadas primeiro. Isso é bastante útil pois ao analisar uma expressão, a depender da ordem das operações o valor pode ser diferente, por exemplo
x=10-5*2 e x=(10-5)*2
• A definição indica a seguinte ordem como correta:
• parentesis
• expoentes
• Multiplicações e divisões(da esquerda para a direita)
• Somas e subtrações(também da esquerda para a direita)
Os operadores de comparação, como o próprio nome já diz, serve para comparar dois valores, por exemplo
x = 450
y = 200
print(x == y)
>retorna False por ser diferente
Mas também existe o diferente representado por != como no exemplo abaixo
print(x != y) >retorna True por ser diferente

OPERADORES DE ATRIBUIÇÃO
• Eles são utilizados para definir o valor inicial ou sobrescrever o valor de uma variável
saldo = 500 #atribuição simples
print(saldo) #exibir o valor da variável saldo
saldo += 200 #incrementa 200 na variável saldo
saldo -= 100 #decrementa 100 na variável saldo
saldo *= 2 # multiplica por 2 com a variável saldo

OPERADORES LÓGICOS
• São operadores utilizados em conjunto com os operadores de comparação para montar uma expressão lógica. Quando um operador de comparação é utilizado, o resultado retornado é booleano true ou false, dessa forma podemos combinar operadores de comparação com lógicos, por exemplo:
op_comparacao + op_logico + op_comparacao ... n ...
O operador and representa junção, por exemplo saldo >= saque and saque <= limite #só funciona se ambas forem verdadeiras
O operador or representa ou, resulta em true se pelo menos um for verdadeiro O operador not representa a negação, o inverso da condição, por exemplo
saldo not saque #nesse código fala que o valor de saldo não é o valor de saque
• É recomendado pelas boas práticas no Python utilizar parenteses para ter uma melhor visualização, mesmo que não altere na operação, por exemplo
saldo >= saque and saque <= limite) or (conta_especial and saldo >= saque)

OPERADORES DE IDENTIDADE
• Eles são utilizados para comparar se os dois objetos testados ocupam a mesma posição na memória, por exemplo
nome_curso = curso
curso is nome_curso
#resulta em true por terem sido definidos iguais
curso is not nome_curso #resulta em false, acima foram definidos como iguais OPERADORES DE ASSOCIAÇÃO • São operadores utilizados para verificar se um objeto está presente em uma sequéncia, por exemplo
curso = "Python"
frutas = ["laranja", "uva", "limão"]
saques = [1500, 100]
"Python" in curso
# Retorna true por estar na variável curso
"maçã" in frutas # Retorna false pois maçã não está no array frutas 200 in saques # Retorna false pos 200 não está em saques, os valores de saques que estão são apenas 1500

A estética, identar o código é uma forma de manter o código fonte mais legível e manutenível. Mas em Python ela exerce um segundo papel, através da identação o intepretador consegue determinar onde um bloco de comando inicia e onde ele termina.

Bloco de comando = As linguagens de programação costumam utilizar caracteres e palavras reservadas para terminar o início e fim do bloco. Em Java e C por exemplo, utilizamos chaves ({}), segue abaixo um exemplo em Java:

void sacar(double valor){ if(this.saldo>=valor){ this.saldo = valor; } // fim do bloco if } fim do bloco método Utilizando espaços = Existe uma convenção em Python, que define as Boas Práticas para escrita de código na linguagem. Nesse documento é indicado utilizar 4 espaços em branco por nível de identação, segue abaixo um código em Python:

def sacar (self, valor: float) -> None: # Início do bloco método if self.saldo >= valor: # Início do bloco if self.valor = valor # Fim do bloco if # Fim do bloco método

* IMPORTANTE: CASO NÃO IDENTAR NO PYTHON, O BLOCO NÃO VAI FUNCIONAR


def é a palavra reservada do Python para definir uma função, exemplo:
def nome_da_funcao(argumentos): # Código

A palavra "def" é seguida pelo nome da função, seguido, por parenteses que contém zero ou mais argumentos (o primeiro sempre é o self) separados por vírgula.

A definição da função é terminada com dois pontos (o que indica o inicio dela após os quatro espaços) e o corpo da função é escrito em uma ou mais linhas, identadas para a direita.

A estrutura condicional premite o desvio de fluxo de controle quando determinadas expressões lógicas são atendidas.

O comando "if" cria uma estrutura condicional simples, composta por um único desvio, podemos utilizar a palavra reservada if. O comando irá testar a expressão lógica e, em caso de retorno verdadeiro as ações presentes no bloco de código do if serão executadas, segue um exemplo abaixo:

saldo = 2000.00 saque = float(input("Informe o valor desejado do saque: ")) if saldo >= saque: print ("Realizando saque...") if saldo < saque: print ("Saldo insuficiente.")

• if/else: para criar uma estrutura condicional com dois desvios, podemos utilizar as palavras reservadas if e else. Como sabemos que a expressão lógica testada no if retorna verdadeiro, então o bloco do if será executado. Caso contrário, será executado o bloco else, representado pelo false.

• if/elif/else: em alguns cenários queremos mais de dois desvios, para isso podemos utilizar a palavra reservada elif. O elif é composto por uma nova expressão lógica que será testada caso o retorne verdadeiro, por exemplo if falso e elif verdadeiro.

NÃO EXISTE LIMITE PARA USO DE ELIF, porém evite criar grandes estruturas condicionais, pois elas aumentam a complexidade do código.

* No Python não se usa else if como em outras linguagens, o correto é elif

if aninhado: podemos criar estruturas condicionais aninhadas, para isso basta adicionar estruturas if/elif/else dentro do bloco de código.

if ternário: permite escrever uma condição em uma única linha. Ele é composto por três pares, a primeira parte é o retorno caso a expressão retorne verdadeiro, a segunda parte é a expressão lógica e a terceira parte é o retorno caso a expressão não seja atendida, por exemplo:
status = "Sucesso" if saldo >= saque else "Falha" print (f"{status} ao realizar o saque!"")

About

Conceitos da linguagem Python