You are correct that u"\N{CHARACTER NAME}
produces a valid unicode character in Python.
It is not documented much in the Python docs, but after some searching I found a reference to it on effbot.org
http://effbot.org/librarybook/ucnhash.htm
The ucnhash module
(Implementation, 2.0 only) This module is an implementation module,
which provides a name to character code mapping for Unicode string
literals. If this module is present, you can use \N{} escapes to map
Unicode character names to codes.
In Python 2.1, the functionality of this module was moved to the
unicodedata module.
Checking the documentation for unicodedata
shows that the module is using the data from the Unicode Character Database.
unicodedata — Unicode Database
This module provides access to the Unicode Character Database (UCD)
which defines character properties for all Unicode characters. The
data contained in this database is compiled from the UCD version
9.0.0.
The full data can be found at: https://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt
The data has the structure: HEXVALUE;CHARACTER NAME;etc..
so you could use this data to look up characters.
For example:
# 0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061;
>>> u"\N{LATIN CAPITAL LETTER A}"
'A'
# FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L;<narrow> 30B5;;;;N;;;;;
>>> u"\N{HALFWIDTH KATAKANA LETTER SA}"
'サ'