Python str()

The str() method returns the string representation of a given object.

Example

# string representation of Adam
print(str('Adam'))

# Output:  Adam

str() Syntax

The syntax of str() is:

str(object, encoding='utf-8', errors='strict')

Here, encoding and errors parameters are only meant to be used when the object type is bytes or bytearray.


str() Parameters

The str() method takes three parameters:

  • object - whose string representation is to be returned
  • encoding - that the given byte object needs to be decoded to (can be UTF-8, ASCII, etc)
  • errors - a response when decoding fails (can be strict, ignore, replace, etc)

Note: There are six types of errors: strict, ignore, replace, xmlcharrefreplace, namereplace, backslashreplace. The default error is strict. ____________________________________________________________________________

str() Return Value

The str() method returns:

  • a printable string representation of a given object
  • string representation of a given byte object in the provided encoding

Example 1: Python() String

# string representation of Luke name = str('Luke')
print(name)
# string representation of an integer 40 age = str(40)
print(age)
# string representation of a numeric string 7ft height = str('7ft')
print(height)

Output

Luke
40
7ft

In the above example, we have used the str() method with different types of arguments like string, integer, and numeric string.


Example 2: str() with Byte Objects

We can use the str() method with byte objects which are defined by the bytes() method.

In this case, we need to specify the encoding that we want to convert the byte objects to and the type of error checking that the str() method can perform.

# declare a byte object
b = bytes('pythön', encoding='utf-8')

# convert a utf-8 byte object to ascii with errors ignored print(str(b, encoding='ascii', errors='ignore')) # convert a utf-8 byte object to ascii with strict error print(str(b, encoding='ascii', errors='strict'))

Output

pythn
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 4: ordinal not in range(128)

In the first example, we have created a byte object b with the string 'pythön' and the encoding utf-8.

We have passed the b object to the str() method and specified the encoding to ascii.

Here, we have set the errors parameter to ignore so, the str() method ignores the character 'ö'. Since the method can't decode this character to ascii, we get the output pythn.

Similarly, in the second example, we've set the error to strict. In this case, the str() method will take the character 'ö' into account and produce UnicodeDecodeError as the output.


Recommended Readings:

Did you find this article helpful?