A ball python would be a good choice to start with but you must do a lot of research first. Check the internet for care sheets and look at as many sites you can find. Care sheets by Melissa Kaplan are excellent. Getting a book would also be a good idea.
As for the price, I haven't personally seen them as low as 20$ but you never know? Usually, they are in the 75$-150$ price range. Be sure to get a captive born (CB) or even better captive breed and born (CBB). These snakes make better pets, acclimate better to artificial environments and have less medical problems such as internal parasites, etc.
The big thing is to expect to spend more on the snake set up than the actual snake. A 30 or 33gal tank is supposedly sufficient for an adult ball and that will run you at least 100$ new with screen top if not more around 120-140$. Even if you luck out getting one second hand or building your own terrarium you have to factor in heating, UTH's are usually most commonly used, hides, lighting, water dish, substrate, thermometer, hygrometer, starter stock of food... Some of these things don't cost much but when you add it all together setting up a snake usually costs twice as much as the snake if not more.
So, just be prepared for a big expense at first but once set up the costs become minimal. Feeding a ball python rarely costs more than 10$ a month and unless there is a problem, vet visits are pretty rare. Also, take the time to set up your snake's home before you purchase it. I've seen so many people go out and get a snake, come home and then start figuring out where to put it and how to care for it.
Obviously you don't seem to be one of those types as you're researching first which is the best thing you could do to start
So do some searches on ball pythons and don't be shy to ask us questions to help you along