7.2.1 String Objects
- PyStringObject
-
This subtype of PyObject represents a Python string object.
- PyTypeObject PyString_Type
-
This instance of PyTypeObject represents the Python string type.
- int PyString_Check(PyObject *o)
-
Returns true if the object o is a string object.
- PyObject* PyString_FromStringAndSize(const char *v,
int len)
-
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.
- PyObject* PyString_FromString(const char *v)
-
Returns a new string object with the value v on success, and
NULL on failure.
- int PyString_Size(PyObject *string)
-
Returns the length of the string in string object string.
- char* PyString_AsString(PyObject *string)
-
Resturns a NULL terminated representation of the contents of string.
- void PyString_Concat(PyObject **string,
PyObject *newpart)
-
Creates a new string object in *string containing the contents
of newpart appended to string.
- void PyString_ConcatAndDel(PyObject **string,
PyObject *newpart)
-
Creates a new string object in *string containing the contents
of newpart appended to string. This version decrements
the reference count of newpart.
- int _PyString_Resize(PyObject **string, int newsize)
-
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.
- PyObject* PyString_Format(PyObject *format,
PyObject *args)
-
Returns a new string object from format and args. Analogous
to format % args. The args argument must be
a tuple.
- void PyString_InternInPlace(PyObject **string)
-
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.)
- PyObject* PyString_InternFromString(const char *v)
-
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.
- char* PyString_AS_STRING(PyObject *string)
-
Macro form of PyString_AsString() but without error checking.
- int PyString_GET_SIZE(PyObject *string)
-
Macro form of PyString_GetSize() but without error checking.