Python String endswith() – Check if a String Ends with Substring

Python String endswith() Method

The endswith() method in Python checks whether a string ends with a specific substring (also called a suffix). It returns True if the string ends with the given value, otherwise False.

Syntax

string.endswith(suffix[, start[, end]])

Parameters:

  • suffix – The substring to check for at the end of the string. Can be a single string or a tuple of strings.
  • start (optional) – The starting index to begin searching (default is 0).
  • end (optional) – The ending index to stop searching (default is end of the string).

Returns:

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

Example 1: Basic Usage

text = "hello world"
print(text.endswith("world"))
True

Example 2: Using start and end

text = "python programming"
print(text.endswith("programming", 7))
True

Example 3: Tuple of Suffixes

filename = "report.pdf"
print(filename.endswith((".pdf", ".docx")))
True

This checks if the string ends with .pdf or .docx.

Use Cases

  • Validating file extensions (e.g., .jpg, .pdf)
  • Filtering URLs that end in certain paths
  • Checking strings in data validation tasks

Common Mistakes

  • Passing non-string types as suffix → causes TypeError
  • Not using parentheses: string.endswith is a reference, not a function call

Interview Tip

In coding challenges, endswith() is useful when you need to filter or process strings based on a pattern at the end, like file paths or text parsing.

Summary

  • string.endswith() checks how a string ends
  • Returns True or False
  • Supports optional start and end range
  • Can accept a tuple of possible endings

Practice Problem

Write a program that checks if a user-entered filename ends with ".txt".

filename = input("Enter the file name: ")
if filename.endswith(".txt"):
    print("This is a text file.")
else:
    print("This is not a text file.")
Mallikarjuna Mallisetty, author
About the author

Mallikarjuna Mallisetty

General programming

Mallikarjuna shares practical programming tutorials and foundational concepts designed to help developers learn by building and experimenting.

View LinkedIn profile ↗