there are regular faces and textured faces in Blender, both
currently with their own selection and visibility states, due to a
mix of old and new code. To (un)select or (un)hide regular faces
(visible in EditMode), use MFace.sel and MFace.hide attributes. For textured faces (UV
Face Select and Paint modes in Blender) use the MFace.flag
attribute. Check the example above and note Window.EditMode.

Assigning UV textures to mesh faces in Blender works like this:

Select your mesh.

Enter face select mode (press f) and select at least some
face(s).

In the UV/Image Editor window, load / select an image.

Play in both windows (better split the screen to see both at
the same time) until the UV coordinates are where you want
them. Hint: in the 3D window, the 'u' key opens a menu of
default UV choices and the 'r' key lets you rotate the UV
coords.

edge_keys

A tuple, each item a key that can reference an edge by its ordered
indices. Read-only. This is useful for building connectivity data.
Example:

from Blender import Mesh
me = Mesh.Get('Cube')
# a dictionary where the edge is the key, and a list of faces that use it are the value
edge_faces = dict([(ed.key, []) for ed in me.edges])
# Add the faces to the dict
for f in me.faces:
for key in f.edge_keys:
edge_faces[key].append(f) # add this face to the edge as a user
# Print the edges and the number of face users
for key, face_users in edge_faces.iteritems():
print 'Edge:', key, 'uses:', len(face_users),'faces'

Type:

tuple

flag

The face's texture mode flags; indicates the selection, active ,
and visibility states of a textured face (see FaceFlags for values).
This is not the same as the selection or visibility states of the faces
in edit mode (see sel and hide). To set the active face, use the Mesh.activeFace
attribute instead. Will throw an exception if the mesh does not have UV
faces; use Mesh.faceUV to test.

hide

The face's edit mode visibility state (hidden=1). This is not the
same as the visibility state of the textured faces (see flag).

Type:

int

image

The Image used as a texture for this face. Setting this attribute will
create UV faces if they do not exist. Getting this attribute throw an
exception if the mesh does not have UV faces; use Mesh.faceUV to test.
Assigning an image will automatically set the TEX attribute of the mode bitfield. Use
"del f.image" or "f.image = None" to clear the image
assigned to the face.

Type:

Image

index

The face's index within the mesh. Read-only.

Type:

int

mat

The face's index into the mesh's materials list. It is in the range
[0,15].

Type:

int

mode

The texture mode bitfield (see FaceModes). Will throw an exception if the mesh does not
have UV faces; use Mesh.faceUV to test.

Type:

int

no

The face's normal vector (x, y, z). Read-only.

Type:

vector

sel

The face's edit mode selection state (selected=1). This is not the
same as the selection state of the textured faces (see flag). Note:
changing the select state of a face changes the select state of the
face's vertices.

Type:

int

smooth

If set, the vertex normals are averaged to make this face look smooth.
(This is the same as choosing "Set Smooth" in the Editing Panel
(F9) under "Link and Material" properties).

Type:

int

transp

Transparency mode. It is one of the values in FaceTranspModes). Will throw an exception if the mesh
does not have UV faces; use Mesh.faceUV to test.

Type:

int

uv

The face's UV coordinates. Each vertex has its own UV coordinate.
Setting this attribute will create UV faces if they do not exist. Getting
this attribute throw an exception if the mesh does not have UV faces; use
Mesh.faceUV to
test.

Type:

tuple of vectors (WRAPPED DATA)

uvSel

The face's UV coordinates selection state; a 1 indicates the vertex is
selected. Each vertex has its own UV coordinate select state (this is
not the same as the vertex's edit mode selection state). Setting this
attribute will create UV faces if they do not exist. Getting this
attribute throw an exception if the mesh does not have UV faces; use Mesh.faceUV to test.

Type:

tuple of ints

v

Same as verts.
This attribute is only for compatibility with NMesh scripts and will
probably be deprecated in the future.