Strings in Python

In the previous blog Data Types, we explored Strings in Python, and in this blog let’s dig a bit deeper into strings and what we can do with them.
A string in Python is an array (or list) of characters, and in Python, a single character is still considered as a string with only one letter. This is an important distinction as in other programming languages, there is the “char” datatype which stores only one character.
Consider a string with the text “Verification Master”, and look at the image below to see their respective index numbers.

Since a string in python is an array we access it by specifying the index number.

string_variable = "Verification Master"

print(string_variable[5]) # This should print "i"

If we want to access a set of characters, we simply add the index of the character till which we require.

string_variable = "Verification Master"


The output would be

NOTE: If you are still confused why “a” wasn’t printed as well, remember that in a range if the endpoint is “n” then Python stops at “n-1”. Here n is 14, and so Python will stop at index 13.

We can see the length of a string using the len() function. The len() function prints the number of items in a string.

string_variable = "Verification Master"

print(len(string_variable)) # This would print 19

We can also use Python to check if a certain text (sub-string) is contained within a larger text.

sample_string = "Python; simple to learn programming language"

print("simple" in sample_string) # This should print True

Strings functions

Python offers a range of built-in functions that we can use with strings, and so we won’t be able to explore every one of these, but we will explore a select few to understand how to accurately use such a function.
capitalize(): Allows us to capitalize the first letter of the text.

sample_string = "python is a simple to learn programming language"

sample_string = sample_string.capitalize()

Here we are capitalizing the first letter of the string and storing the capitalized result in the same variable.

  • islower()/isupper(): Checks if the string is in lowercase/uppercase respectively.
test_string = "python"


This would print True first and then False, as test_string contains a value that is in lowercase.

  • count(): Counts the number of occurrences of a sub-string within a string. The sub-string can even contain only one string.
sample_string = "python is a simple to learn programming language"

count = sample_string.count("py")
print(count) # Prints 1
    • count(value, start, end)
      • value – This is the sub-string we want to find in the original string. (mandatory)
      • start – This parameter allows us to start our search from a specific index. (optional)
      • end – This parameter allows us to end our search at a specific index. (optional)
count = sample_string.count("py", 3, 15)
print(count) # Prints 0 since we are only starting the search after index 3
  • lower()/upper(): Converts the string to lowercase/uppercase characters respectively.
test_string = "PyThoN"


  • index(): Provides us the index of the sub-string

Consider the following table which covers a few more of the available built-in string functions.

Serial No. Function Description
1. endswith Returns True if the string ends with the specified argument provided
2. find Works similar to the index(), however, if the specified substring is not found it returns -1, whereas the index() function raises an error.
3. isalnum Returns True only if all characters in the string are either alphabets or numbers (space, !, #, etc. will make the function return False).
4. isalpha Returns True only if all characters in the string are alphabets.
5. isdigit Returns True only if all characters in the string are digits.
6. isidentifier Returns True only if the string is an identifier.
7. isprintable Returns True only if all characters are printable.
8. isspace Returns True only if there is whitespace in the string.
9. join Joins all items in a collection, and separates them based on the separator we provide.
10. replace(old, new) Replaces all the substrings that have old with new.
11. split Splits the string into different elements of a list at the specified separator at all occurrences of the separator within the string.
12. strip Removes all the occurrences of the specified value within a string, if not specified whitespace will be removed.
13. title Converts the starting letters of a string to uppercase and the rest to lowercase.
14. zfill Adds 0’s to the string/number till the length of the string becomes the specified length which we passed as an argument.


What have we learned?

.How to use a select letter of a string?
.How to see the length of a string?
.How to check if a substring exists in a string?
.How to check the index value of a substring?
.How does the find() differ from the index()?

Notify of
Inline Feedbacks
View all comments