Question: I am new to OOP, and my question is trivial, but I have to know it.

Basically, I have done some experiments in Python language. I have conducted 5 experiments, each experiment contain multiple functions such as:

```
def exp1():
    func 1
    func 2
    func 3

def exp2():
    func 1
    func 2
    func 3

...

```

and so on.

The question would be correct to make each large function like exp1 and exp2 as a separate class for instance exp1 turn to be class exp1, and exp2 turn to be class exp2?

As you can see from the example, some of the functions' names may repeat but usually, it contains some minor changes.

Thank you!

Answer: 
No. Classes are not a (only) way to group functions together. It can happen but is not the most common use.

Classes normally appear from the analysis and conception steps **before** starting the code. Said differently, the good question to ask is not to wonder about existing functions, but to wonder about what kinds of real world things your program is about. For example, for a library management program, you should find books and readers along with a library objet. Possible actions would then be *borrow a book* and *bring back a book*. Depending on the requirements of the application, you could also have *shelves* to store the books and register on what shelf a book should be stored. You could optionally want to search a book.

Well we now have 4 classes (book, library, shelf, user). The next step is to find their attributes. For example a book will have at least a title and probably an author. You will certainly mangage its shelf and its position on the shelf. You will like to know which user is currently having it (or `None`). Lastly the methods represents possible actions for those *objects*: borrow or bring back a book. 

Going deeper would certainly be interesting, but far beyond what a SO answer can be...
Whether you define them as saperate classes really depends on your problem. As a side note if you even implement OOPS, you can define a Base Class where you can implement the repeated functions and override them in the respective classes.