Returns a new string object with the value v and length
len on success, and NULL on failure. If v is NULL,
the contents of the string are uninitialized.
A way to resize a string object even though it is ``immutable''.
Only use this to build up a brand new string object; don't use this if
the string may already be known in other parts of the code.
Intern the argument *string in place. The argument must be the
address of a pointer variable pointing to a Python string object.
If there is an existing interned string that is the same as
*string, it sets *string to it (decrementing the reference
count of the old string object and incrementing the reference count of
the interned string object), otherwise it leaves *string alone
and interns it (incrementing its reference count). (Clarification:
even though there is a lot of talk about reference counts, think of
this function as reference-count-neutral; you own the object after
the call if and only if you owned it before the call.)
A combination of PyString_FromString() and
PyString_InternInPlace(), returning either a new string object
that has been interned, or a new (``owned'') reference to an earlier
interned string object with the same value.