domingo, 31 de maio de 2020

O que são sets em Python?

O que são sets em Python?

O que é um set?

Um set é um monte não ordenado e não indexado de valores únicos.
Um único set pode conter valores de qualquer tipo de dados imutável, o que significa que os valores não podem ser alterados. Um conjunto em si é um objeto mutável, ou seja, um objeto que pode ser alterado após ser criado, mas não os seus elementos.

Criando um conjunto

Vamos aprender como criar um conjunto.

Exemplo
a_set = {'alpha', 'bravo', 'charlie'}
print(a_set)

#Um set também pode ser criado usando a função built-in set()
#set() recebe uma lista de elementos e converte num set

my_set = set([1, 2, 3, 4, 5])
print(my_set)

Acessando itens

Os sets não são indexados, portanto, você não pode acessar itens em um conjunto consultando um índice. O que você pode fazer é percorrer o conjunto para obter um valor específico.

Exemplo
a_set = {'alpha', 'bravo', 'charlie'}
for item in a_set:
  print(item)

Nota: Os set não são ordenados, portanto os itens aparecerão em uma ordem aleatória.

Métodos

O Python possui um conjunto de métodos internos que você pode usar em sets. Alguns deles estão especificados abaixo:

  • Adicionar itens: depois que um conjunto é criado, você não pode alterá-los, mas pode adicionar novos itens. Para adicionar um item a um conjunto, use o método add() e para adicionar mais de um item a um conjunto, use o método update().
  • Remover itens: para remover um item de um conjunto, use o método remove(). Você também pode usar o método discard() para remover.
Exemplo
a_set = {'alpha', 'bravo', 'charlie'}
print("Adicionando valor ao set")
a_set.add('jenny')
print(a_set)
a_set.update(['matty', 'johny'])
print("Adicionando valores ao set com update")
print(a_set)
print("Removendo valores do set")
a_set.remove('matty') #se o valor não existir um erro será lançado
print(a_set)
print("Retirando valores do set")
a_set.discard('johny') #se o valor não existir nenhum erro será lançado
print(a_set)
  • Comprimento do set: o método len() pode ser usado para determinar a contagem de itens em um conjunto.
  • Limpar conjunto: o método clear() esvazia o conjunto.
Exemplo
a_set = {'alpha', 'bravo', 'charlie'}
print("O número de itens é: ", (len(a_set)))
a_set.clear()
print("set esvaziado")
print(a_set)

Fonte: What are sets in Python?
Licença: Creative Commons -Attribution -ShareAlike 4.0 (CC-BY-SA 4.0)

O que são arrays em Python?

O que são arrays em Python?

Arrays são uma coleção de itens semelhantes. No Python, a maioria das pessoas usa listas em vez de arrays. Um usuário pode tratar listas como arrays, mas não pode restringir o tipo de dados de valores armazenados em uma lista. Somente o mesmo tipo de dados pode ser armazenado em arrays. Uma representação pictórica de arrays é mostrada abaixo:

  • O comprimento dessa matriz é 5.
  • O tipo de dados dos valores armazenados nessa matriz é inteiro.

Definindo matrizes em Python

Para criar matrizes em Python, precisamos importar o módulo de matriz para criar matrizes. Um exemplo disso mostrado abaixo:

Exemplo
import array as arr # importa o módulo array
a = arr.array('i', [1, 3, 5, 2, 4]) # define uma array do tipo inteiro com 5 elementos

'i' é o código do tipo para o tipo de dados dos valores da matriz. Nesse caso, o tipo de matriz é int.

Acessando valores de matriz

Os valores das matrizes são acessados usando os índices da matriz:

Exemplo
nomeArray[index]
  • O índice de matrizes em Python começa em 0.

Por exemplo:

Suponha que desejamos acessar o valor no terceiro índice da matriz. A ilustração e o trecho de código abaixo mostram como isso é feito.

Exemplo
import array as arr
a = arr.array('i',[1, 3, 5, 2, 4])
print("O valor no index 3 é: ")
print(a[3])

Fonte: What are arrays in Python?
Licença: Creative Commons -Attribution -ShareAlike 4.0 (CC-BY-SA 4.0)

sábado, 30 de maio de 2020

Códigos de tipos em Python

Códigos de tipos em Python

As arrays em python se comportam muito semelhantes às listas, mas elas têm o mesmo tipo de dados armazenados nela. O tipo de dados é especificado no momento da criação da matriz, usando um único caractere chamado código de tipo.
Abaixo está a tabela para códigos de tipo, usados para definir matrizes em python, e seu tipo de dados correspondente em C++.

Código de tipo Tipo C++ Tipo Python Tamanho mínimo em bytes
'c' char Carácter 1
'b' signed char int 1
'B' unsigned char int 1
'u' Py_UNICODE Carácter unicode 2
'h' signed short int 2
'H' unsigned short int 2
'i' signed int int 2
'I' unsigned int long 2
'l' signed long int 4
'L' unsigned long long 4
'f' float float 4
'd' double float 8

Abaixo está um exemplo de uma matriz, do tipo char em C ++ e caractere em python.

C++
#include <iostream>
using namespace std;

int main() {
  char a[5] = {'a','e','i','o','u'}; // define uma array do tipo char para 5 elementos

  for (int i = 0; i < 5; i++){
    cout << a[i] << " "; // mostra na tela
  }

}
Python
import array as arr # importando o módulo array

a = arr.array('c',['a','e','i','o','u']) # cria uma array
print(a) # mostra na tela

Fonte: Type codes in Python
Licença: Creative Commons -Attribution -ShareAlike 4.0 (CC-BY-SA 4.0)

Python vs. Java

Python vs. Java

Java

Java é uma linguagem orientada a objetos com uma sintaxe semelhante à do C/C ++, tornando-o familiar para muitos programadores. Ela é vinculada dinamicamente, permitindo que o novo código seja baixado e executado, mas não é dinamicamente tipada.

Python

Python é uma linguagem de alto nível eficiente, legível e poderosa com gerenciamento automático de memória.

Em termos de velocidade, o Java é mais rápido que o Python, pois é uma linguagem compilada. Leva menos tempo para executar o código.
Python é uma linguagem interpretada e determina o tipo de dados em tempo de execução, tornando-o comparativamente mais lento.

Java Vs Python

Java é muito detalhado, pois são necessárias 10 linhas de código para ler um arquivo em Java, em comparação com o Python.
Para ler um arquivo, são necessárias apenas duas linhas de código no Python.
Java não está mais na moda como costumava ser, mas ainda é a linguagem de programação mais popular em praticamente qualquer medida.
Python cresceu em popularidade nos últimos anos. Isso ocorre por razões que incluem produtividade do desenvolvedor, suporte de biblioteca, suporte da comunidade, flexibilidade de idiomas e facilidade de aprendizado.
Java é mais popular para dispositivos móveis, android, aplicativos de desktop e aplicativos da web.
O Python é considerado a linguagem mais favorável para Machine Learning, Inteligência Artificial, IoT e muito mais.

Java é usado em Mobile, Android e Desenvolvimento Web

Python é usado em Inteligência Artificial e Machine Learning

Java é estaticamente tipado.

Python é dinamicamente tipado.

Fonte: Python vs. Java
Licença: Creative Commons -Attribution -ShareAlike 4.0 (CC-BY-SA 4.0)

sexta-feira, 29 de maio de 2020

O que é a declaração pass no Python?

O que é a declaração pass no Python?

No Python, pass é uma declaração nula. O intérprete não ignora uma declaração pass, mas nada acontece e a declaração resulta em nenhuma operação.
A declaração pass é útil quando você não escreve a implementação de uma função, mas deseja implementá-la no futuro.
Portanto, para evitar erros de compilação, você pode usar a declaração pass.

Sintaxe

A sintaxe da declaração de passe é:

Exemplo
pass

Exemplo

Escrevendo uma função sem corpo

A função addition() não tem implementação:

Exemplo
def addition(num1, num2):
  # a implementação vai aqui
  pass # declaração pass

addition(2, 2)

Ignorando uma Implementação de Instrução If

Se a instrução não tiver implementação:

Exemplo
# Essa função imprime o número na tela se não for o número 2
def display(number):
  if number is 2:
    pass # Pass statement
  else:
    print("Number: ", number)

display(2)
display(3)

Fonte: What is pass statement in Python?
Licença: Creative Commons -Attribution -ShareAlike 4.0 (CC-BY-SA 4.0)

Quais são as funções aleatórias do Python?

Quais são as funções aleatórias do Python?

Existem várias funções no Python que fornecem a capacidade de gerar números aleatórios. Todas essas funções estão presentes no módulo random que pode ser importado import random.
As três funções principais usadas para geração de números aleatórios são:

  • random()
  • randint()
  • uniform()

random()

Esta função retorna um valor aleatório de ponto flutuante entre 0 e 1.

Exemplo
import random

# Um número entre 0 e 1
num = random.random()
print(num)

# Um número entre 0 e 100
num = random.random() * 100
print(num)

# Um número entre -50 e 50
num = random.random() * 100 - 50
print(num)

randint()

A função randint aceita um intervalo e produz um número inteiro entre esse intervalo.

Exemplo
import random

# Gera um número aleatório entre 1 e 40
num = random.randint(1, 40)
print(num)

uniform()

Assim como a função randint gera um número inteiro dentro de um determinado intervalo, o método uniform faz o mesmo para números de ponto flutuante.

Exemplo
import random

# Um número de ponto flutuante entre 1 e 50
num = random.uniform(1, 50)
print(num)

Fonte: What are the Python random functions?
Licença: Creative Commons -Attribution -ShareAlike 4.0 (CC-BY-SA 4.0)

O que é uma função lambda do Python?

O que é uma função lambda do Python?

Uma função lambda é uma pequena função anônima que retorna um objeto.
O objeto retornado pela função lambda geralmente é atribuído a uma variável ou usado como parte de outras funções maiores.
Em vez da palavra-chave def convencional usada para criar funções, uma função lambda é definida usando a palavra-chave lambda. A estrutura das funções lambdas pode ser vista abaixo:

Exemplos de lambdas simples

Aqui estão alguns exemplos de lambdas em ação:

Uma função quadrática
# Uma função lambda quadrada
square = lambda n : n * n
num = square(5)
print(num)
Uma função de subtração
# Uma função lambda de subtração com vários argumentos
sub = lambda x, y : x-y
print(sub(5, 3))

O objetivo das funções lambdas

Um lambda é muito mais legível do que uma função completa, pois pode ser escrito em linha. Portanto, é uma boa prática usar lambdas quando a expressão da função é pequena.
A beleza das funções lambda reside no fato de que elas retornam objetos de função. Isso as torna úteis quando usadas com funções como a map ou filter, que exigem objetos de função como argumentos.

Função map com lambda

Lambda torna a função map mais concisa.

Função lambda
myList = [10, 25, 17, 9, 30, -5]
# Dobrar o valor de cada elemento
myList2 = map(lambda n : n*2, myList)
print(myList2)
Função normal
# O código é mais longo

def double(n):
  return n * 2

myList = [10, 25, 17, 9, 30, -5]

myList2 = map(double, myList)
print(myList2)

Filter com lambda

Semelhante à função map, a função filter pode ser simplificada com lambda.

Função lambda
myList = [10, 25, 17, 9, 30, -5]
# Filtra os elementos que não são múltiplos de 5
myList2 = filter(lambda n : n%5 == 0, myList)
print(myList2)
Função normal
def multipleOf5(n):
  if(n % 5 == 0):
    return n

myList = [10, 25, 17, 9, 30, -5]

myList2 = filter(multipleOf5, myList)
print(myList2)

Fonte: What is a Python lambda function?
Licença: Creative Commons -Attribution -ShareAlike 4.0 (CC-BY-SA 4.0)