Using the Python startswith Method

python startswith

One of the built-in string methods in Python is startswith, which checks whether a string starts with a specified prefix. In this article, we will explore the startswith method in depth, including its syntax, usage, and related concepts.

How to Use Python startswith?

The syntax of the startswith method is as follows:

str.startswith(prefix[, start[, end]])

Here, str is the string that we want to check, prefix is the substring that we want to find at the beginning of the string, start is the optional starting index of the search, and end is the optional ending index of the search. The startswith method returns True if the string starts with the specified prefix, and False otherwise.

Let’s take a look at some examples to see how the startswith method works:

Example 1: Basic Usage

str = "Hello, World!"
print(str.startswith("Hello")) # True
print(str.startswith("World")) # False

In this example, we have a string Hello, World! and we use the startswith method to check whether it starts with the prefixes Hello and World. The first check returns True because the string starts with Hello, while the second check returns False because the string does not start with World.

Example 2: Using Optional Arguments

str = "Hello, World!"
print(str.startswith("World", 7)) # True
print(str.startswith("Hello", 7, 12)) # False

In this example, we use the optional arguments start and end to specify the range of the search. The first check starts the search from index 7 (which is the first W in World) and returns True because the string starts with World at that index. The second check starts the search from index 7 and ends at index 12 (which is the last o in Hello) and returns False because the substring Hello does not appear in that range.

Example 3: Case Sensitivity

str = "Hello, World!"
print(str.startswith("hello")) # False
print(str.startswith("hello".capitalize())) # True

In this example, we demonstrate that the startswith method is case-sensitive. The first check returns False because the lowercase prefix hello does not match the uppercase string Hello. The second check capitalizes the first letter of the prefix using the capitalize method and returns True because the capitalized prefix Hello matches the string.

Example 4: Using a Tuple of Prefixes

str = "Hello, World!"
print(str.startswith(("Hello", "Hi", "Hey"))) # True
print(str.startswith(("Hi", "Hey"))) # False

In this example, we use a tuple of prefixes to check whether the string starts with any of them. The first check returns True because the string starts with Hello, which is one of the prefixes in the tuple. The second check returns False because the string does not start with any of the prefixes in the tuple.

Example 5: Using a List Comprehension

str_list = ["Hello, World!", "Hi, there!", "Hey, buddy!"]
startswith_hi = [s for s in str_list if s.startswith("Hi")]
print(startswith_hi) # ["Hi, there!"]

In this example, we use a list comprehension to filter a list of strings based on whether they start with the prefix Hi. The startswith method is used to check each string in the list, and only the ones that start with Hi are included in the filtered list.

Conclusion

In this article, we have explored the startswith method in Python, which is used to check whether a string starts with a specified prefix. We have covered its syntax, usage, and related concepts, including optional arguments, case sensitivity, using tuples of prefixes, and using list comprehensions. By mastering the startswith method, you can write more efficient and effective Python code in your projects.