Now that you've decided that you'd like to embark on a Flask development experience, we first have to set up our environment. Depending on where you watch your tutorial, many people might have you first make a local development environment. I do not really see the use in this, as it only creates a lot of headache for you down the road. Moving from a local environment, especially if you were operating in Windows, to a remote environment, which will be Linux most likely, is just plain a massive pain!
So, first we're going to need a domain name and a hosting plan somewhere that gives us root access to the server (this means no shared hosting places like GoDaddy... etc).
At the time of my writing this, I think these three options can be good choices. I've personally used all of these extensively. They all get ~$100 a month from me:
Second best host in my opinion. Could be the best, but recently the pricing models switched compared to Linode, where you basically get half of what you could get at Linode. I've also had more down-times with Digital Ocean. That said, they have a $5/mo option, which I absolutely love, and I host five different smaller websites on there, as well as a few servers.
These guys can be a great choice as well. You can host your Flask app here for absolutely free. They'll give you a subdomain, which is your name.pythonanywhere.com. I put them as #3 for a few reasons. First, I think it is better to have full control of your server. You will not get that here. It will be far easier to quickly set up your Flask environment, but there is certainly a cost there. Second, I do not think PythonAnywhere is a good place just yet to actually host a website. They have greatly improved over the years that I've been with them, but they do have their issues. I have some strange script freezing glitch that has been ongoing for a while, and they do shutdown for maintenance fairly frequently. All of that said, it's a great place to check out.