One of our machine learning team members was working on a requirement to reverse a string in Python. I suggested a few useful methods to do it. In this tutorial, I will show you how to reverse a string in Python using different methods with examples.
To reverse a string in Python using slicing, you can use the concise syntax reversed_string = original_string[::-1]. This method works by starting at the end of the string and moving backward with a step of -1, effectively reversing the string. For example, if original_string = "California", then reversed_string = original_string[::-1] will yield “ainrofilaC”.
Reverse a String in Python
Now, let me show you how to reverse a string in Python using different methods with examples.
Method 1: Using Slicing
Slicing is one of the best ways to reverse a string in Python. It’s concise and easy to understand.
Syntax:
reversed_string = original_string[::-1]The slicing method uses the [::-1] syntax, which means “start at the end of the string and end at position 0, move with the step -1 (or simply, one step backward).”
Now, let me show you an example to help you understand this.
Example:
original_string = "New York"
reversed_string = original_string[::-1]
print(reversed_string) # Output: kroY weNI executed the above Python code using VS code, and you can see the output in the screenshot below:

Check out Check if a Python String Contains a Substring
Method 2: Using the reversed() Function
If you want to know how to reverse a string in Python without slicing, then you can check this method and example. Here, we will use the reversed() function to reverse a Python string.
The reversed() function returns an iterator that accesses the given sequence in the reverse order. You can then join these characters to form the reversed string.
Syntax:
reversed_string = ''.join(reversed(original_string))The reversed() function does not directly return a string but an iterator. You need to use the join() method to combine these characters into a new string.
Here is an example.
Example:
original_string = "California"
reversed_string = ''.join(reversed(original_string))
print(reversed_string) # Output: ainrofilaCYou can see the exact output in the screenshot below:

Read Concatenate String and Float in Python
Method 3: Using a Loop
If you prefer a more manual approach, you can use a loop to reverse a string. This is also another useful way to reverse a string in Python using a for loop.
Syntax:
reversed_string = ''
for char in original_string:
reversed_string = char + reversed_stringThis method iterates through each character in the original string and prepends it to the reversed_string.
Let me show you an example.
Example:
original_string = "Texas"
reversed_string = ''
for char in original_string:
reversed_string = char + reversed_string
print(reversed_string) # Output: saxeTHere is the output in the screenshot below:

Method 4: Using Recursion
Recursion can also be used to reverse a string in Python. This method is less common but can be an interesting exercise in understanding recursive functions.
Syntax:
def reverse_string(s):
if len(s) == 0:
return s
else:
return reverse_string(s[1:]) + s[0]This function calls itself with a smaller substring (excluding the first character) and appends the first character at the end.
Let us understand this by writing a Python program to reverse a string.
Example:
original_string = "Florida"
reversed_string = reverse_string(original_string)
print(reversed_string) # Output: adirolFCheck out Check if a Variable is a Byte String in Python
Method 5: Using Stack
A stack data structure can also be used to reverse a Python string. This method involves pushing all string characters onto a stack and then popping them to get the reversed string.
Syntax:
def reverse_string_stack(s):
stack = list(s)
reversed_string = ''
while stack:
reversed_string += stack.pop()
return reversed_stringStacks follow a Last In First Out (LIFO) principle, making them ideal for reversing strings.
Here is an example to help you understand it better.
Example:
def reverse_string_stack(s):
stack = list(s)
reversed_string = ''
while stack:
reversed_string += stack.pop()
return reversed_string
original_string = "Washington"
reversed_string = reverse_string_stack(original_string)
print(reversed_string) # Output: notgnihsaWI executed the above Python code, and you can see the exact output in the screenshot below:

Check out Check if a Variable is an Empty String in Python
Write a Python Program to Reverse a String
Let me show you how to write a Python program to reverse a string.
Here’s a Python program that demonstrates how to reverse a string using slicing:
# Original string
original_string = "Washington"
# Reverse the string using slicing
reversed_string = original_string[::-1]
# Print the reversed string
print(reversed_string) # Output: notgnihsaWExplanation:
- Define the Original String: We start by defining the string we want to reverse, in this case, “Washington”.
- Apply Slicing: We use the slicing syntax
[::-1]to reverse the string. This creates a new string that is the reverse oforiginal_string. - Print the Result: Finally, we print the reversed string, which will output “notgnihsaW”.
You can see the output in the screenshot below:

Conclusion
In this tutorial, I explained how to reverse a string in Python using different methods with examples.
- Using Slicing
- Using the reversed() Function
- Using a Loop
- Using Recursion
- Using Stack
However, I always recommended using the slicing method to reverse a Python string. I hope these examples help you learn how to reverse a string in Python.
You may also like:

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.