<jupyter_start><jupyter_text>FunctionsFunções são blocos de código que podem ser chamados multiplas vezes, podem possuir um _nome_, _parâmetros_ e _retorno_.<jupyter_code>def calc_square(integer = 0):
    '''
    Esta docstring serve para
    documentar a função que
    calcula, printa e retorna
    o quadrado da entrada.
    '''
    result = integer ** 2
    print(f'{integer} ** 2 = {result}')
    return result
calc_square(3)
# Colocar ? após uma variável ou função e executar a célula revelará mais detalhes sobre a variável ou função
calc_square?<jupyter_output>[0;31mSignature:[0m [0mcalc_square[0m[0;34m([0m[0minteger[0m[0;34m=[0m[0;36m0[0m[0;34m)[0m[0;34m[0m[0;34m[0m[0m
[0;31mDocstring:[0m
Esta docstring serve para
documentar a função que
calcula, printa e retorna
o quadrado da entrada.
[0;31mFile:[0m      ~/Desktop/repo/Data-Science/python/01-crash-course/<ipython-input-1-1140d277c5da>
[0;31mType:[0m      function<jupyter_text>Lambda expressionsSão uma forma mais reduzida de escrever funções mais simples. Como não possui um nome em sua assinatura, é uma função anônima.<jupyter_code># Sem lambda expression
def double1(num):
    return num * 2

# Com lambda expression
lambda num: num * 2

p = lambda param: print(param)
p('lambda')
p<jupyter_output>lambda<jupyter_text>Map and FilterSão funções da biblioteca padrão que recebem uma função e um objeto que suporte iteração (como uma lista ou tupla). MapAplica a função para cada elemento da lista e retona um objeto com o resultado de cada elemento<jupyter_code>x = range(5)

y = map(double1, x)

y, list(y)
map?<jupyter_output>[0;31mInit signature:[0m [0mmap[0m[0;34m([0m[0mself[0m[0;34m,[0m [0;34m/[0m[0;34m,[0m [0;34m*[0m[0margs[0m[0;34m,[0m [0;34m**[0m[0mkwargs[0m[0;34m)[0m[0;34m[0m[0;34m[0m[0m
[0;31mDocstring:[0m     
map(func, *iterables) --> map object

Make an iterator that computes the function using arguments from
each of the iterables.  Stops when the shortest iterable is exhausted.
[0;31mType:[0m           type
[0;31mSubclasses:[0m<jupyter_text>FilterRecebe uma função que retorna verdadeiro ou falso e uma sequência e retornará apenas os elementos que fizeram a função retornar `True`.<jupyter_code>x = range(5)

f = filter(lambda num: (num % 2) == 0, x)

f, list(f)
filter?<jupyter_output>[0;31mInit signature:[0m [0mfilter[0m[0;34m([0m[0mself[0m[0;34m,[0m [0;34m/[0m[0;34m,[0m [0;34m*[0m[0margs[0m[0;34m,[0m [0;34m**[0m[0mkwargs[0m[0;34m)[0m[0;34m[0m[0;34m[0m[0m
[0;31mDocstring:[0m     
filter(function or None, iterable) --> filter object

Return an iterator yielding those items of iterable for which function(item)
is true. If function is None, return the items that are true.
[0;31mType:[0m           type
[0;31mSubclasses:[0m
{'fraction_non_alphanumeric': 0.14858156028368794, 'fraction_numerical': 0.07056737588652483, 'mean_word_length': 5.748803827751196, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 16, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '392906', 'license': 'MIT', 'n_tokens_mistral': 1311, 'n_tokens_neox': 1155, 'n_words': 277, 'path': 'python/01-crash-course/005-functions_lambda_maps.ipynb', 'repo_name': 'newtmagalhaes/Data-Science', 'size': '2820'}