Python object to string method

Python tostring method – Convert an Object to String with str() Function

In Python, to convert a variable to a string, you can use the str() function. There is no tostring() method like in other languages.

a = 3 a_as_str = str(a) print(a, type(a)) print(a_as_str, type(a_as_str)) #Output: 3 3

When using various programming languages, the ability to be able to convert variables from one variable type to another is very valuable. Many programming languages have the method tostring() to be able to get a string representation of a variable.

Python does not have a tostring method to convert a variable to a string. Instead, Python has the str() function which will change an object into a string.

str() converts any object into a string. When we call str(), it calls the object’s __str__() function internally to get the representation of the object as a string.

Below are some examples in Python of converting various objects to a string variable with str().

a = 3 b = [1, 2, 3] c = < "apple": 1, "banana": 2>print(str(a), type(str(a))) print(str(b), type(str(b))) print(str(c), type(str(c))) #Output: 3 [1, 2, 3]

Using format() to Convert an Object into a String in Python

Another way you can convert a variable into a string is using format(). format() takes in variables and inputs them into strings.

Below are some examples of converting different variables to strings with format().

a = 3 b = [1, 2, 3] c = < "apple": 1, "banana": 2>print(«<>«.format(a), type(«<>«.format(a))) print(«<>«.format(b), type(«<>«.format(b))) print(«<>«.format(c), type(«<>«.format(c))) #Output: 3 [1, 2, 3]

Using f-strings to Convert Objects into String Using Python

Another way you can convert a variable into a string is using f-strings. f-strings take in variables and inputs them into strings.

Читайте также:  Луи витон кожа питон

Below are some examples of converting different variables to strings with f-strings in Python.

Hopefully this article has been useful for you to learn that there is no tostring() method in Python, and how to convert an object to a string in Python with str().

  • 1. Intersection of Two Lists in Python
  • 2. Scroll Up Using Selenium in Python
  • 3. How to Write CSV File to AWS S3 Bucket Using Python
  • 4. How to Divide Two Numbers in Python
  • 5. Get Quarter from Date in pandas DataFrame
  • 6. Create Symbolic Link with Python os.symlink() Function
  • 7. Convert List to Set with Python
  • 8. How to Iterate Through Lines in File with Python
  • 9. Length of Tuple Python – Find Tuple Length with Python len() Function
  • 10. Changing Python Turtle Speed with speed() Function

About The Programming Expert

The Programming Expert is a compilation of a programmer’s findings in the world of software development, website creation, and automation of processes.

Programming allows us to create amazing applications which make our work more efficient, repeatable and accurate.

At the end of the day, we want to be able to just push a button and let the code do it’s magic.

You can read more about us on our about page.

Источник

Python object to string method

Last updated: Feb 21, 2023
Reading time · 4 min

banner

# Table of Contents

# Convert an Object to a String in Python

Use the str() class to convert an object to a string.

The str() class returns the string version of the given object.

Copied!
my_int = 42 # ✅ Convert an object to a string result = str(my_int) print(result) # 👉️ '42' print(type(result)) # 👉️ print(isinstance(result, str)) # 👉️ True

convert object to string

The first example uses the str() class to convert an object to a string.

The str class takes an object and returns the string version of the object.

Copied!
my_obj = 3.14 result = str(my_obj) print(result) # 👉️ '3.14' print(type(result)) # 👉️

If you need to convert a class object to a string, implement the _ _ str _ _ () method.

# Convert a Class object to a String in Python

Use the __str__() method to convert an object to a string.

The __str__() method is called by str(object) and the built-in format() and print() functions and returns the informal string representation of the object.

Copied!
class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary def __str__(self): return f'Name: self.name>' bobby = Employee('bobbyhadz', 100) print(bobby) # 👉️ Name: bobbyhadz

We defined the __str__() method on the class to convert it to a string.

The __str__ method is called by str(object) and the built-in format() and print() functions and returns the informal string representation of the object.

# Make sure to return a String from the __str__() method

Make sure to return a string from the __str__() method, otherwise a TypeError is raised.

For example, if we want to return the employee’s salary from the __str__() method, we have to use the str() class to convert the value to a string.

Copied!
class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary def __str__(self): return str(self.salary) bobby = Employee('bobbyhadz', 100) print(bobby) # 👉️ 100

make sure to return string from str method

The __str__() method is called if you use the object in a formatted string literal or with the str.format() method.

Copied!
class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary def __str__(self): return str(self.salary) bobby = Employee('bobbyhadz', 100) result = f'Current salary: bobby>' print(result) # 👉️ Current salary: 100

The __str__() method should return a string that is a human-readable representation of the object.

# Converting a Class instance to a JSON string

If you need to convert a class instance to a JSON string, use the __dict__ attribute on the instance.

Copied!
import json class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary def __str__(self): return str(self.salary) bobby = Employee('bobbyhadz', 100) json_str = json.dumps(bobby.__dict__) print(json_str) # 👉️ ''

convert class instance to json string

We used the __dict__ attribute to get a dictionary of the object’s attributes and values and converted the dictionary to JSON.

The json.dumps method converts a Python object to a JSON formatted string.

# Convert a Class object to a String using __repr__()

There is also a __repr__() method that can be used in a similar way to the __str__() method.

Copied!
class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary def __repr__(self): return self.name bobby = Employee('bobbyhadz', 100) print(bobby) # 👉️ 'bobbyhadz'

The _ _ repr _ _ method is called by the repr() function and is usually used to get a string that can be used to rebuild the object using the eval() function.

If the class doesn’t have the __str__() method defined, but has __repr__() defined, the output of __repr__() is used instead.

# The difference between __str__() and __repr__()

A good way to illustrate the difference between __str__() and __repr__() is to use the datetime.now() method.

Copied!
import datetime # 👇️ using __str__() print(datetime.datetime.now()) # 👉️ 2022-09-08 14:29:05.719749 # 👇️ using __repr__() # 👉️ datetime.datetime(2022, 9, 8, 14, 29, 5, 719769) print(repr(datetime.datetime.now())) result = eval('datetime.datetime(2023, 2, 21, 13, 51, 26, 827523)') print(result) # 👉️ 2023-02-21 13:51:26.827523

When we used the print() function, the __str__() method in the datetime class got called and returned a human-readable representation of the date and time.

When we used the repr() function, the __repr__() method of the class got called and returned a string that can be used to recreate the same state of the object.

We passed the string to the eval() function and created a datetime object with the same state.

Note that implementing the __repr__() method in this way is not always necessary or possible.

Having the __str__() method return a human-readable string is sufficient most of the time.

# Additional Resources

You can learn more about the related topics by checking out the following tutorials:

I wrote a book in which I share everything I know about how to become a better, more efficient programmer.

Источник

Оцените статью