Skip to content

Python Strings and Their Relevant Functions

Strings in Python are sequences of characters enclosed within either single quotes (') or double quotes ("). They are one of the most commonly used data types and support a variety of operations and methods for manipulation.

Creating Strings

You can create strings using single or double quotes:

# Using single quotes
string1 = 'Hello'

# Using double quotes
string2 = "World"

print(string1, string2)

You can also use triple quotes for multiline strings:

# Multiline string
string3 = '''This is a 
multiline string.'''
print(string3)

String Immutability

Strings in Python are immutable, which means once a string is created, its content cannot be changed. For example:

string = "Python"
# Attempting to modify a character in the string will result in an error
# string[0] = 'J'  # This will raise a TypeError

Common String Operations

String Concatenation

Strings can be concatenated using the + operator:

string1 = "Hello"
string2 = "World"
result = string1 + " " + string2
print(result)  # Output: Hello World

String Repetition

You can repeat strings using the * operator:

string = "Hello "
result = string * 3
print(result)  # Output: Hello Hello Hello 

String Slicing

Strings can be sliced to extract substrings:

string = "Hello, World!"
print(string[0:5])   # Output: Hello
print(string[:5])    # Output: Hello
print(string[7:])    # Output: World!
print(string[-6:])   # Output: World!

String Length

Use the len() function to find the length of a string:

string = "Python"
print(len(string))  # Output: 6

Built-in String Methods

str.upper() and str.lower()

Converts a string to uppercase or lowercase:

string = "Hello World"
print(string.upper())  # Output: HELLO WORLD
print(string.lower())  # Output: hello world

str.strip()

Removes leading and trailing whitespace (or specified characters):

string = "   Hello World   "
print(string.strip())  # Output: Hello World

str.split()

Splits a string into a list of substrings based on a delimiter:

string = "apple,banana,cherry"
fruits = string.split(",")
print(fruits)  # Output: ['apple', 'banana', 'cherry']

str.join()

Joins a list of strings into a single string with a specified delimiter:

fruits = ["apple", "banana", "cherry"]
result = ",".join(fruits)
print(result)  # Output: apple,banana,cherry

str.replace()

Replaces occurrences of a substring with another substring:

string = "Hello World"
print(string.replace("World", "Python"))  # Output: Hello Python

str.find()

Returns the index of the first occurrence of a substring, or -1 if not found:

string = "Hello World"
print(string.find("World"))  # Output: 6
print(string.find("Python"))  # Output: -1

str.startswith() and str.endswith()

Checks if a string starts or ends with a specified substring:

string = "Hello World"
print(string.startswith("Hello"))  # Output: True
print(string.endswith("World"))    # Output: True

str.isalpha(), str.isdigit(), and str.isalnum()

Checks if a string contains only alphabetic characters, digits, or alphanumeric characters:

string1 = "Python"
string2 = "12345"
string3 = "Python123"

print(string1.isalpha())  # Output: True
print(string2.isdigit())  # Output: True
print(string3.isalnum())  # Output: True

str.capitalize() and str.title()

  • capitalize(): Capitalizes the first character of the string.
  • title(): Capitalizes the first character of each word.
string = "hello world"
print(string.capitalize())  # Output: Hello world
print(string.title())       # Output: Hello World

String Formatting

Using f-strings (Python 3.6+)

name = "Alice"
age = 30
print(f"My name is {name} and I am {age} years old.")

Using str.format()

name = "Alice"
age = 30
print("My name is {} and I am {} years old.".format(name, age))

Using % Operator

name = "Alice"
age = 30
print("My name is %s and I am %d years old." % (name, age))

Summary

Python strings are versatile and powerful, with many built-in methods and operations to handle text data effectively. By mastering these functions, you can perform a wide range of string manipulations efficiently.