Free website is great way to learn about website development. We can find many free hosting providers that gives free cPanel web hosting. Similarly Freenom also provides free domain name like .ml, .cf, .gq, .tk etc. However some hosting providers may provide free sub domain name also.
My recommendation is to use DigitalBerg for free hosting as it gives premium like feature in free plan. But it only gives you 1 GB of space which is not a big problem. Another is using ByetHost it gives free and unlimited space but it don’t give you premium like feature.