Generally, internet service providers "lease" you a temporary IP address, and the next time you reboot your computer, you may be assigned a different IP address. If you want a permanent IP address for your home computer, you would have to pay a substantial fee for that to the internet service provider (if they even allow it). However, there are proxy services that can be set up to find out what your IP address is today (your computer will need to contact the proxy each time it boots up and let the proxy database the latest IP address), and people can thus always find out (when working remotely) what the latest IP address of their home machine is.
It used to be that my home PC would at least get an IP address in the same subnet each time it rebooted, but even that is no longer the case. Since I use some remote services at a university, they put firewall restrictions in place, and those differ depending on which internet provider I am using. So at the university, they have to track and know which address ranges Verizon or Comcast typically assign so that they can at a minimum double-check that I am connecting from one of those services.
At workplaces, IT departments sometimes assign a permanent IP address for each machine in a database, so that each time the machine requests an IP address, it gets the same one. But even then, you can't count on having the same IP all the time unless you have requested that from whomever provides the internet.
It is possible to rent a hosted computer from a service such as GoDaddy (I happen to use DiscountASP.NET as my host), and they will provide your hosted server with a permanent IP address (or the equivalent of one) so that you can have your own web server, just for example. It will cost you something, however.