Web development

What tools do I need to create websites that function perfectly?
How do I give the website that a built for a client to a client?


This is a pretty vast question.
A site that works perfectly is not as much a matter of tool as it is a matter of good software design and quality. You can make site that function terribly on the known to be more stable technologies out there.

Anyways you need to know technologies related to the web. They are basically HTML, CSS, JavaScript and I hear Python may replace JS someday.

As for giving the website to the client, you need a server to host that either on premise or more likely from a service on the internet.