Variáveis

Em Python definimos variáveis atribuindo um valor a elas. O tipo é dado pelo tipo de dados do literal:


In [1]:
a = 5 # isso é um comentário
print('Variável a:',a)
print('Tipo de dados:',type(a))


Variável a: 5
Tipo de dados: <class 'int'>

In [2]:
'''
Isso é um comentário 
de múltiplas linhas
'''
b = 0.77 # variável contínua
c = True # variável booleana (True / False)
print('Tipo de b:',type(b),'tipo de c:',type(c))


Tipo de b: <class 'float'> tipo de c: <class 'bool'>

In [3]:
nome = 'Teste'
print(nome,type(nome))


Teste <class 'str'>

Variáveis multivaloradas


In [5]:
# Listas
notas = [6.5, 4.0, 7.0, 6.5, 7.5, 8.0, 9.5, 10.0]
print(notas)
for nota in notas:
    print('Nota:',nota)


[6.5, 4.0, 7.0, 6.5, 7.5, 8.0, 9.5, 10.0]
Nota: 6.5
Nota: 4.0
Nota: 7.0
Nota: 6.5
Nota: 7.5
Nota: 8.0
Nota: 9.5
Nota: 10.0

In [6]:
# Indexando (o índice começa em zero!)
print(notas[0])


6.5

In [9]:
# Particionando
# [<índice inicial>:<índice final - exclusive>]
print(notas[2:4]) # Mostra as notas da terceira inclusive até a quinta exclusive


[7.0, 6.5]

In [10]:
# Particionando
# Do início as 3 primeiras 
print(notas[:3])


[6.5, 4.0, 7.0]

In [11]:
# Particionando
# Pule as duas primeiras notas e me mostre o resto, até o fim
print(notas[2:])


[7.0, 6.5, 7.5, 8.0, 9.5, 10.0]

In [15]:
# Particionando
# Se i índice for negativo, significa que deve ser contado do fim da lista
# Mostre as duas últimas notas
print(notas[-2:])


[9.5, 10.0]

In [16]:
# Particionando
# Se i índice for negativo, significa que deve ser contado do fim da lista
# Tudo menos a última nota
print(notas[:-1])


[6.5, 4.0, 7.0, 6.5, 7.5, 8.0, 9.5]

Expressões


In [19]:
a = 5
b = 7
c = 2
d = 3
resultado = (b - a) * c / d
print(resultado)


1.3333333333333333

In [20]:
# Resto da divisão
print(5 % 2)


1

In [21]:
# Exponenciação
print(2**3)


8

Tuplas


In [22]:
aluno1 = ('Fulano','Rua x numero 5')
aluno2 = ('Beltrano','Rua a numero 1')
alunos = [aluno1,aluno2]
print(alunos)


[('Fulano', 'Rua x numero 5'), ('Beltrano', 'Rua a numero 1')]

In [23]:
a = ['banana',5,True]

In [24]:
print(a)


['banana', 5, True]

Dicionários


In [29]:
produto1 = {'codigo' : 34, 'descricao': 'Parafuso', 'qtde' : 100}
produto2 = {'codigo' : 35, 'descricao': 'Prego', 'qtde' : 80}
produto3 = {'codigo' : 36, 'descricao': 'Serrote', 'qtde' : 20}

In [30]:
print(produto1)


{'codigo': 34, 'descricao': 'Parafuso', 'qtde': 100}

In [31]:
print(produto1['descricao'])


Parafuso

In [32]:
produtos = [produto1,produto2,produto3]

In [33]:
print(produtos[1]['descricao']) # pega a descrição do segundo produto


Prego

Expressões lógicas


In [2]:
a = True
b = False
print(a and b)
print(a or b)
print(not (a and b))


False
True
True

In [4]:
n = 5
z = 6
print(n == z)
print(not (n == z))
print(n != z)
print(n <= z)
print(z > n)


False
True
True
True
True

Controle de fluxo


In [7]:
# while
x = 0
while x<5:
    x += 1
    print(x)


1
2
3
4
5

In [9]:
# for
for x in range(1,6):
    print(x)


1
2
3
4
5

In [2]:
import numpy as np

In [17]:
x = np.linspace(1,10,num=20)
print('Tamanho:',len(x))
print('Tipo:',type(x))
for numero in x:
    print(numero)
print(type(numero))


Tamanho: 20
Tipo: <class 'numpy.ndarray'>
1.0
1.47368421053
1.94736842105
2.42105263158
2.89473684211
3.36842105263
3.84210526316
4.31578947368
4.78947368421
5.26315789474
5.73684210526
6.21052631579
6.68421052632
7.15789473684
7.63157894737
8.10526315789
8.57894736842
9.05263157895
9.52631578947
10.0
<class 'numpy.float64'>

In [19]:
print(range(1,6))


range(1, 6)

In [22]:
# if
a = 7
b = 5
c = False

if a == 7 and b < 10:
    print('a==7 e b <10')
else:
    print('Contrário')
        
if c:
    print('c é True')
elif not c:
        print('c é False')


a==7 e b <10
c é False

Programação funcional


In [29]:
# Generator
palavras = ['Este','é','um','texto']
palavras_iterator = (palavra for palavra in palavras)
primeira = next(palavras_iterator)
print('Texto:',primeira)
for x in palavras_iterator:
    print(x)


Texto: Este
é
um
texto

In [31]:
# List comprehension
lista = [x for x in range(1,5)]
print(lista)
texto = "Minha terra tem palmeiras onde canta o sabiá"
lista2 = [palavra for palavra in texto.split(' ')]
print(lista2)


[1, 2, 3, 4]
['Minha', 'terra', 'tem', 'palmeiras', 'onde', 'canta', 'o', 'sabiá']

In [33]:
# Lambda
delta = lambda a,b,c: b**2 - 4*a*c
# x² - 5x + 6 = 0 
print(delta(1,-5,6))


1

Variância e desvio padrão

População


In [20]:
import math
X = np.linspace(1,10,num=20)
print('X',X)


X [  1.           1.47368421   1.94736842   2.42105263   2.89473684
   3.36842105   3.84210526   4.31578947   4.78947368   5.26315789
   5.73684211   6.21052632   6.68421053   7.15789474   7.63157895
   8.10526316   8.57894737   9.05263158   9.52631579  10.        ]

In [21]:
vac = 0.0
media = X.mean()
n = len(X)
print('n',n)
for el in X:
    vac = vac + ((el - media)**2)
variancia = vac / n # No caso da população, dividimos por "n"
print('variância',variancia) # variância calculada manualmente
print('var func',X.var()) # variância do método
desvio = math.sqrt(variancia)
print('desvio',desvio)
print('desvio func',X.std())


n 20
variância 7.46052631579
var func 7.46052631579
desvio 2.7313964040009777
desvio func 2.731396404

Amostra


In [22]:
vac = 0.0
media = X.mean()
n = len(X)
print('n',n)
for el in X:
    vac = vac + ((el - media)**2)
variancia = vac / (n - 1) # No caso da amostra, dividimos por "n"
print('variância',variancia) # variância calculada manualmente
print('var func',X.var(ddof=1)) # variância do método (delta degrees of freedom = 1: n - 1
desvio = math.sqrt(variancia)
print('desvio',desvio)
print('desvio func',X.std(ddof=1))


n 20
variância 7.85318559557
var func 7.85318559557
desvio 2.802353581468239
desvio func 2.80235358147

In [ ]: