Open In App

expandtabs() method in Python

Last Updated : 08 Mar, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

expandtabs() method in Python is used to replace all tab characters (\t) in a string with spaces. This method allows for customizable spacing, as we can specify the number of spaces for each tab. It is especially useful when formatting text for better readability or alignment. Let's understand with the help of an example:

Python
s = "Name\tAge\tLocation"

# Expanding tabs with the default spacing
res = s.expandtabs()

print(res) 

Output
Name    Age     Location

Explanation:

  • string 's' contains tab characters (\t).
  • Using expandtabs(), each tab is replaced with 8 spaces (the default tab size).
  • This improves readability by aligning the text.

Syntax of expandtabs() method

string.expandtabs(tabsize)

Parameters: tabsize (optional) : Specifies the number of spaces per tab. The default value is 8.

Return Type: This method returns a new string with all the tab characters replaced with spaces.

Examples of expandtabs() method

1. Using default tab size

When we call the expandtabs() method without any arguments, it uses the default tab size of 8 spaces. This default behavior ensures that basic alignment is achieved without additional configuration.

Python
s = "A\tB\tC"

# Expanding tabs with default tab size
res = s.expandtabs()
print(res)  

Output
A       B       C

Explanation:

  • tabs in the string 's' are replaced by 8 spaces each.
  • output shows the characters spaced apart for better alignment.

2. Custom tab size

We can specify a custom tab size using the tabsize parameter. This allows us to format strings based on specific alignment requirements.

Python
s = "Python\tis\tfun"
# Expanding tabs with a custom size of 4 spaces
res = s.expandtabs(4)
print(res)  

Output
Python  is  fun

Explanation:

  • tabsize=4 argument replaces each tab in s with 4 spaces.
  • Customizing the tab size allows for more flexible formatting.

3. Mixed spacing with tabs and text

When working with text that contains both tabs (\t) and regular characters, Python’s expandtabs() method ensures proper alignment by replacing tabs with the appropriate number of spaces based on the specified tab size.

Python
s = "A\tBC\tDEFG"

# Expanding tabs with a size of 5 spaces
res = s.expandtabs(5)
print(res)  

Output
A    BC   DEFG

Explanation:

  • "A\t" : "A" is at index 0, the next multiple of 5 is 5, so \t is replaced with 4 spaces.
  • "BC\t" : "BC" starts at index 5, "C" is at 6, the next multiple of 5 is 10, so \t is replaced with 3 spaces.
  • "DEFG" : Continues normally since there are no more tabs.

4. No tabs in the string

If the string does not contain any tabs, the method returns the original string unchanged. This ensures efficiency and avoids unnecessary processing.

Python
s = "Python is fun!"
# Expanding tabs in a string without tabs
result = s.expandtabs(4)
print(result) 

Explanation: Since there are no tabs in the input string, the expandtabs() method has no effect.


Next Article

Similar Reads