Skip to main content

String in Python

In Python, a string is a sequence of characters enclosed within single ('), double ("), or triple quotes (''' ''' or """ """).
It is used to store and manipulate textual data.

str1 = 'Hello'
str2 = "World"
str3 = '''This is a multi-line string.'''

Creating Strings​

Strings can be created in several ways:

name = "Dhruba"
message = 'Welcome to Python'
multiline = """This
is a
multiline string."""

String Indexing and Slicing​

Indexing: Access characters by position (starting at index 0).

text = "Python"
print(text[0]) # P
print(text[-1]) # n

Slicing: Extract a part of the string.

print(text[0:3])   # Pyt
print(text[::2]) # Pto
print(text[1:-1]) # ytho

String Methods​

MethodDescription
upper()Converts all characters to uppercase
lower()Converts all characters to lowercase
strip()Removes spaces from both ends
replace(a, b)Replaces a with b
startswith(val)Checks if string starts with val
endswith(val)Checks if string ends with val
find(val)Finds the first index of val
count(val)Counts occurrences of val
msg = " Hello Python "
print(msg.upper()) # HELLO PYTHON
print(msg.strip()) # Hello Python
print(msg.replace("Python", "JS")) # Hello JS

String Concatenation and Repetition​

Concatenation with +:

first = "Hello"
second = "World"
print(first + " " + second) # Hello World

Repetition with *:

print("Hi! " * 3)  # Hi! Hi! Hi!

Using in and not in Operators​

Check for substring presence:

text = "Python is fun"
print("fun" in text) # True
print("Java" not in text) # True

String Formatting​

f-string (Python 3.6+)​

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

format() method​

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

% operator​

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

Escape Sequences​

Escape characters add special formatting in strings:

EscapeMeaning
\nNew line
\tTab space
\\Backslash
\'Single quote
\"Double quote
print("Hello\nWorld")     # Line break
print("Name:\tDhruba") # Tab

Multiline Strings​

Triple quotes allow multi-line text:

message = """This is line 1
This is line 2
This is line 3"""
print(message)

Use Cases and Examples​

Greet user​

name = input("Enter your name: ")
print(f"Welcome, {name}!")

Count letters​

text = "banana"
print(text.count("a")) # 3

Read file and process​

with open("file.txt") as f:
data = f.read()
print(data.lower())

Validate email domain​

email = "user@example.com"
if email.endswith("@example.com"):
print("Valid domain")

Summary​

  • Strings are immutable sequences of characters.
  • Support indexing, slicing, concatenation, and repetition.
  • Useful methods help in text processing.
  • Use escape sequences for formatting.
  • Use f-strings or format() for clean formatting.