Mesh Materials in Python

Ok try as I might I have not been able to find where I can access this data on a mesh. What I mean is IF the mesh has multiple materials not just one material. I have found out how I find out the uv texture info. But that I not what I mean. Where can I obtain IN PYTHON:

#1 If the mesh has multiple materials applied.

#2 What are the rgb values of those materials

#3 what materials are on which faces and vertices.

These are standard materials not vertex colors

I hope this is clear

Thanks.

NMesh objects have a list of materials which they contain

NMFace objects have a property which is an index in that list for which material they have applied

NMVert objects don’t have materials directly applied to them, it is only through faces that materials are applied.

Material colors are stored in the material objects, the api for which I do not know about

info on NMesh module (click somwhere for particular objects) is at:
http://www.blender.org/modules/documentation/228PythonDoc/NMesh-module.html

for material module
http://www.blender.org/modules/documentation/228PythonDoc/Material-module.html

click documentation on the left navigation bar for more stuff

Thanks. You know after I read your reply I kind kicked myself because I had read this in the docs before and it just did not sink in. Thanks again.