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.