Skip to content

Latest commit

 

History

History
92 lines (57 loc) · 2.14 KB

c3.md

File metadata and controls

92 lines (57 loc) · 2.14 KB

Capítulo 3 - Funções

Chamada de função

int('32')
int('Hello') # Value error: invalid literal
int(3.666)
int(-2.3)

Módulo: coleção de funções, necessita de importação

Funções Matemáticas

import math
print(math)

Acesso a funções e variáveis de módulo é feito pela notação de ponto.

import math

graus = 45
radianos = graus / 180.0 * math.pi
print(math.sin(radianos))

# para validar, comparar com a raiz quadrada de 2, dividida por 2

math.sqrt(2) / 2.0

Composição

O lado esquerdo de uma atribuição TEM que ser o nome da variável (há apenas uma exceção), qualquer outra expressão resultará em erro de sintaxe.

def repeat_lyrics():
    print_lyrics()
    print_lyrics()


def print_lyrics():
    #print("I'm a lumberjack, and I'm okay.")
    print("I sleep all night, and work all day.")



repeat_lyrics()

Acrescentando funções

    def print_lyrics(): # essa linha é o 'cabeçalho', tudo abaixo dela é o 'corpo'
        print("I'm a lumberjack, and I'm okay.")
        print("I sleep all night and I work all day.")

def é uma palavra chave, indica a definição de uma função print_lyrics, o cabeçalho precisa terminar em dois pontos ':' e o corpo precisa ser endentado.

pro-tip: por convenção, a endentação é de 4 (quatro) espaços, não utilize tabs.

A definição de uma funçao cria um objeto de função, do tipo function. Funções recebem argumentos, que são atribuídos a parâmetros (variáveis).

Quando você cria uma variável fora de qualquer função, ela pertence à __main__. Se ocorrer um erro durante a chamada, o Python exibe onome da função, quem a chamou e assim por diante, voltando até __main__. Isto é chamado de traceback.

def print_twice(bruce):
    print(bruce)
    print(bruce)
    #print(cat) # descomentar gera o erro e mostra a pilha de resolução

def cat_twice(part1, part2):
    cat = part1 + part2
    print_twice(cat)


result = print_twice('Chris')
print(result)
print(type(result))

Caso tente atribuir o resultado de uma função nula a uma variável, irá receber um NoneType.