Data Science Academy - Python Fundamentos - Capítulo 3

Download: http://github.com/dsacademybr


In [1]:
# Versão da Linguagem Python
from platform import python_version
print('Versão da Linguagem Python Usada Neste Jupyter Notebook:', python_version())


Versão da Linguagem Python Usada Neste Jupyter Notebook: 3.7.6

Funções


In [2]:
# Definindo uma função
def primeiraFunc():
    print('Hello World')

In [3]:
primeiraFunc()


Hello World

In [4]:
# Definindo uma função com parâmetro
def primeiraFunc(nome):
    print('Hello %s' %(nome))

In [5]:
primeiraFunc('Aluno')


Hello Aluno

In [6]:
def funcLeitura():
    for i in range(0, 5):
        print("Número " + str(i))

In [7]:
funcLeitura()


Número 0
Número 1
Número 2
Número 3
Número 4

In [8]:
# Função para somar números
def addNum(firstnum, secondnum):
    print("Primeiro número: " + str(firstnum))
    print("Segundo número: " + str(secondnum))
    print("Soma: ", firstnum + secondnum)

In [9]:
# Chamando a função e passando parâmetros
addNum(45, 3)


Primeiro número: 45
Segundo número: 3
Soma:  48

Variáveis locais e globais


In [10]:
# Variável Global
var_global = 10  # Esta é uma variável global

def multiply(num1, num2):
    var_global = num1 * num2  # Esta é uma variável local
    print(var_global)

In [11]:
multiply(5, 25)


125

In [12]:
print(var_global)


10

In [13]:
# Variável Local
var_global = 10  # Esta é uma variável global
def multiply(num1, num2):
    var_local = num1 * num2   # Esta é uma variável local
    print(var_local)

In [14]:
multiply(5, 25)


125

In [15]:
print(var_local)


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-15-0a9f1c3cecf1> in <module>
----> 1 print(var_local)

NameError: name 'var_local' is not defined

Funções Built-in


In [16]:
abs(-56)


Out[16]:
56

In [17]:
abs(23)


Out[17]:
23

In [18]:
bool(0)


Out[18]:
False

In [19]:
bool(1)


Out[19]:
True

Funções str, int, float


In [20]:
# Erro ao executar por causa da conversão
idade = input("Digite sua idade: ")
if idade > 13:
  print("Você pode acessar o Facebook")


Digite sua idade: 28
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-20-f21b3dafa64b> in <module>
      1 # Erro ao executar por causa da conversão
      2 idade = input("Digite sua idade: ")
----> 3 if idade > 13:
      4   print("Você pode acessar o Facebook")

TypeError: '>' not supported between instances of 'str' and 'int'

In [21]:
# Usando a função int para converter o valor digitado
idade = int(input("Digite sua idade: "))
if idade > 13:
  print("Você pode acessar o Facebook")


Digite sua idade: 28
Você pode acessar o Facebook

In [22]:
int("26")


Out[22]:
26

In [23]:
float("123.345")


Out[23]:
123.345

In [24]:
str(14)


Out[24]:
'14'

In [25]:
len([23,34,45,46])


Out[25]:
4

In [26]:
array = ['a', 'b', 'c']

In [27]:
max(array)


Out[27]:
'c'

In [28]:
min(array)


Out[28]:
'a'

In [29]:
array = ['a', 'b', 'c', 'd', 'A', 'B', 'C', 'D']

In [30]:
array


Out[30]:
['a', 'b', 'c', 'd', 'A', 'B', 'C', 'D']

In [31]:
max(array)


Out[31]:
'd'

In [32]:
min(array)


Out[32]:
'A'

In [33]:
list1 = [23, 23, 34, 45]

In [34]:
sum(list1)


Out[34]:
125

Criando funções usando outras funções


In [35]:
import math

def numPrimo(num):
    '''
    Verificando se um número 
    é primo. 
    '''
    if (num % 2) == 0 and num > 2: 
        return "Este número não é primo"
    for i in range(3, int(math.sqrt(num)) + 1, 2):
        if (num % i) == 0:
            return "Este número não é primo"
    return "Este número é primo"

In [36]:
numPrimo(541)


Out[36]:
'Este número é primo'

Fazendo split dos dados


In [37]:
# Fazendo split dos dados
def split_string(text):
    return text.split(" ")

In [38]:
texto = "Esta função será bastante útil para separar grandes volumes de dados."

In [39]:
# Isso divide a string em uma lista.
print(split_string(texto))


['Esta', 'função', 'será', 'bastante', 'útil', 'para', 'separar', 'grandes', 'volumes', 'de', 'dados.']

In [40]:
# Podemos atribuir o output de uma função, para uma variável
token = split_string(texto)

In [41]:
token


Out[41]:
['Esta',
 'função',
 'será',
 'bastante',
 'útil',
 'para',
 'separar',
 'grandes',
 'volumes',
 'de',
 'dados.']

In [42]:
caixa_baixa = "Este Texto Deveria Estar Todo Em LowerCase"

In [43]:
def lowercase(text):
    return text.lower()

In [44]:
lowercased_string = lowercase(caixa_baixa)

In [45]:
lowercased_string


Out[45]:
'este texto deveria estar todo em lowercase'

In [46]:
# Funções com número variável de argumentos
def printVarInfo( arg1, *vartuple ):
   # Imprimindo o valor do primeiro argumento
    print ("O parâmetro passado foi: ", arg1)
   
   # Imprimindo o valor do segundo argumento 
    for item in vartuple:
        print ("O parâmetro passado foi: ", item)
    return;

In [47]:
# Fazendo chamada à função usando apenas 1 argumento
printVarInfo(10)


O parâmetro passado foi:  10

In [48]:
printVarInfo('Chocolate', 'Morango', 'Banana')


O parâmetro passado foi:  Chocolate
O parâmetro passado foi:  Morango
O parâmetro passado foi:  Banana

Fim

Obrigado - Data Science Academy - facebook.com/dsacademybr