I have to send my 2001 Pontiac Grand prix to a mechanic to fix some stuff. What do u recommend to change the oil before or after that
If you are having engine work done (where it has to be torn down or taken apart) have the shop do the oil change in conjunction with the maintenance. I suggest this because they may get contaminants into the oil from the work, such as antifreeze or gasket residue. If it is just other maintenance being done, such as suspension work, it really doesn't make a difference. Get it done when it's most convenient for you, or have the shop do it for you while the other work is getting done. This is more of a preference thing than anything else. If you do have the shop do the work, ensure you give them specifications for oil and filter (brand) if this matters to you.
If they are going to take the engine apart, they're probably going to drain the oil. A good shop won't put the same oil back that they drained out unless it's obviously fresh and clean. With that in mind, it's better to wait until they've done their work before you change the oil. Or actually, it's better to give them your jug of oil and ask them to do it while they're busy. If they're really nice, they won't charge you.
I had this very issue last week. I changed my Subaru Forester's oil, sump washer and filter on Saturday, just to find out I had a blown head gasket, so I had to take the engine to the shop to have it inspected. This means they'll have to tear the engine apart and drain the oil anyway. Unless the oil is spotless and obviously brand new, they're going to throw it away and put in a fresh jug.