With regards to the examples. As Petter mentioned, the first script you mentioned sonosshell.py, you must have found from somewhere else (an older version of SoCo). That was an examples of how to program a commandline shell for soco, so that you could type commands like "play" in a shell. That script ended up seeing so much interest that it was spun of into its own project.
With regards to discover.py, there you seem to have simply found a bug. When all the other python files was made python 3 compatible, this one seems to have been forgotten. You are welcome to open an issue for it at
https://github.com/SoCo/SoCo/issues or if you do not wish to make a github account I can do it for you.
With regards to gettings started, there is a very minimal example in the tutorial in the documentation:
http://soco.readthedocs.org/en/latest/index.html (which actually also seems to be slightly outdated but will work). The more correct way is, if you want to know which units you have:
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import soco
>>> units = soco.discover()
>>> units
{SoCo("192.168.0.16"), SoCo("192.168.0.30"), SoCo("192.168.0.17")}
from here you can get to one of the units out by
>>> a_unit = units.pop()
>>> a_unit
SoCo("192.168.0.10")
If you already know the IP's of your units and don't expect them to change you can also skip this step and just instantiate the SoCo object with the IP-adress directly like so:
>>> import soco
>>> a_unit = soco.SoCo('192.168.0.10')
>>> a_unit
SoCo("192.168.0.10")
I hope this gets you going.
Regards Kenneth