# Pythonprogram som illustrarar att funktioner kan skickas som argument till
# andra funktioner. Funktioner är objekt och hanteras med refrenser.
def shout(text): 
    return text.upper() 
  
def whisper(text): 
    return text.lower() # kommer att ge lower letters i ex nedan även utan -lower(). 

# A function as parameter:
def greet(func):  # storing the function in a variable 
    greeting = func("Hi, I am created by a function passed as an argument.") 
    print(greeting)
    
print(shout('HÖR du mej?'))
print(whisper('Skrik INTE!'))
 
# greet(shout) # func i funktionen greet refererar till shout
# greet(whisper) # func i funktionen greet refererar till wisper
# # # 
# yell = shout # assign the function to a variable. It doesn’t call the function
# print(yell('Hello')) # call yell, i.e. shout
# # # 
# silence = whisper
# print(silence('HI there!'))