Python String endswith() Method

The endswith() method is used to check whether a string ends with a specified suffix. It returns True if the string ends with the specified suffix, and False otherwise.

Syntax

string.endswith(substring, start, end)

Parameters

substring: The string (or tuple of strings) to check for.

start (Optional): The starting index from where the check begins. Default is 0.

end (Optional): The ending index where the check ends (exclusive). Default is the end of the string.

Return Value

Returns True if the string ends with the specified suffix, otherwise False.

Examples

Basic Usage

text = "Python is awesome"
print(text.endswith("awesome")) # Output: True
print(text.endswith("amazing")) # Output: False

With start Parameter

You can provide the start parameter to the endswith() method if you need to check whether a string ends with a specified suffix at the specific index.

text = "Python is awesome"
print(text.endswith("awesome", 10)) # Output: True
print(text.endswith("awesome", 12)) # Output: False

With start and end Parameters

You can provide the start and end parameters to the endswith() method if you need to check whether a string ends with a specified suffix within a specific range of indices.

text = "Python is awesome"
print(text.endswith("awesome", 10, 16)) # Output: False
print(text.endswith("awesome", 10, 17)) # Output: True

The end parameter is exclusive meaning the prefix check doesn’t include the character at the end index.

Using a Tuple of Suffixes

You can provide a tuple of suffixes to the endswith() method if you want to check whether the string ends with any of the specified suffixes.

text = "Python is awesome"
print(text.endswith(("easy", "amazing", "awesome"))) # Output: True

Case-Sensitivity

The endswith() method is case-sensitive, meaning it treats uppercase and lowercase letters as distinct characters.

text = "Python is Amazing"
print(text.endswith("amazing")) # Output: False

In this example, the endswith() method checks if the string ends with the exact lowercase suffix "amazing" but the string text ends with the suffix "Amazing" with an uppercase "A". Since the cases don’t match, the method returns False.

Practical Example

You can use the endswith() methods to check file extensions.

file = "image.jpg"

if file.endswith(".jpg"):
    print("Valid file")
else:
    print("Invalid file type")

Output:

Valid file

If you need to check if the string starts with the specified prefix, you can use the startswith() method.