Ex23 Why use print_line function in main function before defining it?

Why use print_line function in main function before defining it? And pls I don’t understand the parameters this encode and decode methods take. Thus the encoding / decoding and the errors

In Python you don’t have to define a function before you use it. For the parameters it takes, I have instructions in the exercise that gives you a handy way to remember it. Did you read it?