Not top posting cause Tuna is mean :P
While Google (and others) develop the Android O/S, the carriers make all the decisions about how open the phone is. The G1 is a *T-Mobile* phone, not a Google Phone.
Because Android is mostly Apache licensed, the carriers are free to modify it however they like for "their" phones, and they do exactly that.
The T-Mobile G1, like any other T-Mobile Phone, is a locked phone, and you can only run the apps that T-Mobile permits. Google wrote the software open-source, but T-Mobile locked down the phone environment.
Even the Freerunner is difficult to get service with in the US, our carriers mostly still have Ma-Bell Monopoly envy, and want to lock you into their network so they don't have to actually compete.
There are supposed to be several more Android-based phones (and a couple netbooks) released in the next 3-6 months, so if you can wait a little bit, that might be good.
You can develop for the Android environment without a phone using the development SDK, it's a qemu-based virtual machine, so it works just like a real phone from a development perspective.
Android applications are Java applications written for the Dalvik environment. While it's possible to write a Python app for Android, you'll find it extremely hard to get it on the phone (you have to create a custom build of the O/S and reflash the phone), and your battery life will likely suffer greatly due to Python's higher overhead compared to Dalvik.
The better approach in this case would be to write the code that will run in the phone in Java (standard Java 5), because the Dalvik environment (and it's unusual lifecycle management) is needed to maintain good battery life when apps are running. You can still write the netbook code in Python, or you can use Java there as well.