How can I use self and understand it better?

I know that self sometimes means the table, or the first argument, but I don’t understand it aswell and wonder what is the point of using it, and also why do people use self as a variable when you can literally use anything else? Wouldn’t it clash with the other self?

People use the self keyword when dealing with OOP. If you don’t know what that is, or don’t have much experience regarding it, you can always take a look at this tutorial explaining everything about OOP.