def is_string_dtype(arr_or_dtype):
<EOL>def condition(dtype):<EOL><INDENT>return dtype.kind in ('<STR_LIT:O>', '<STR_LIT:S>', '<STR_LIT>') and not is_period_dtype(dtype)<EOL><DEDENT>return _is_dtype(arr_or_dtype, condition)<EOL>
Check whether the provided array or dtype is of the string dtype.

Parameters
----------
arr_or_dtype : array-like
    The array or dtype to check.

Returns
-------
boolean
    Whether or not the array or dtype is of the string dtype.

Examples
--------
>>> is_string_dtype(str)
True
>>> is_string_dtype(object)
True
>>> is_string_dtype(int)
False
>>>
>>> is_string_dtype(np.array(['a', 'b']))
True
>>> is_string_dtype(pd.Series([1, 2]))
False