Yes it is. It is a String of digits that is immutable to your email changes etc. Other properties such as email, nickname and other properties are mutable.
EDIT
It is unique!
From https://developers.google.com/appengine/docs/python/users/userobjects
The User object for a valid user can provide a unique ID value for the user that stays the same even if the user changes her email address. The user_id() method returns this ID, a str value.
The User object has the same form no matter which method of authentication your app uses. If you switch authentication options from Google Accounts to OpenID, existing User objects in the datastore are still valid.
Also take care beacuse the UserProperty is mutable as well as discussed.