# -*- coding: utf-8 -*-
"""functions.ipynb

Automatically generated by Colaboratory.

Original file is located at
    https://colab.research.google.com/drive/1HulSXz7WC5dwEEwHfJd7YyFuHphiFu8M
"""

apples = 5

def ukazkova_fce():
    print(apples)

ukazkova_fce()

global apples
apples = 5

def ukazkova_fce():
    print(apples)

ukazkova_fce()

apples = 5

def ukazkova_fce():
    return apples + 1

print(ukazkova_fce())
print(apples)

apples = 5

def ukazkova_fce():
    apples = 5
    return apples + 1

print(ukazkova_fce())
print(apples)

global apples
apples = 5

def ukazkova_fce():
    apples += 1

print(apples)

# Preferovano
apples = 5

def ukazkova_fce(apples):
    apples += 1
    return apples

print(apples)
print(ukazkova_fce(apples))

# Bububu, nepekne
apples = 5

def ukazkova_fce():
    return apples + 1

print(apples)
print(ukazkova_fce())

"""# vychozi hodnoty"""

def fce_s_vychozimi(a='a', b):
    print(a)
    print(b)

# poradi: vychozi az za temi bez vychozich
def fce_s_vychozimi(b, a='a'):
    print(a)
    print(b)

fce_s_vychozimi("d")

fce_s_vychozimi("b misto a", "c misto b")

"""# \*ARGS a \*\*KWARGS"""

def fce_s_args(*params):
    for i in params:
        print(i)

fce_s_args('a', 'b', 'c')

def fce_s_args(var_a, var_b="b", *params):
    print(var_a)
    print(var_b)
    for i in params:
        print(i)

fce_s_args('a_misto_a')

fce_s_args('a_misto_a', 'neco_misto_b')

def fce_s_kwargs(**kwargs):
    for i in kwargs:
        print(i)
    print(type(kwargs))

fce_s_kwargs(klic_a='hodnota_a', klic_c='hodnota_c')

def fce_s_defaulty(a='a', b='b', c='c'):
    print(a, b, c)

fce_s_defaulty()

# volam s presne danou hodnotou
fce_s_defaulty(c='misto_c')

