A Python string (str) is an immutable sequence of Unicode characters wrapped in single quotes '...', double quotes "...", or triple quotes """...""". Every text value from user names to JSON payloads is handled as a str.
Because strings are immutable, string methods never edit the original text in place. Instead, methods return a brand-new string that you assign back to a variable.
Each character sits at a zero-based index from left to right, or a negative index starting at -1 from the end. Slice notation text[start:stop:step] extracts substrings cleanly.
sku = "PROD-2026-XL"
prefix = sku[:4] # "PROD"
year = sku[5:9] # "2026"
size = sku[-2:] # "XL"
reversed_sku = sku[::-1]
print(prefix, year, size, reversed_sku)
Combine strip(), lower(), replace(), and split() to clean messy text, and use f-strings (f"...") to embed expressions directly inside strings.
raw_email = " [email protected]
"
clean_email = raw_email.strip().lower()
user, domain = clean_email.split("@")
print(f"User: {user} | Domain: {domain}")
word[0] = "B" raises TypeError; build a new string with slicing instead.name.strip() without name = name.strip() leaves name unchanged.+ in a loop: Collect pieces in a list and join them once with "".join(parts).No. 'hello' and "hello" create identical str objects. Use double quotes when the text contains an apostrophe like "It's ready".
Use the in operator, such as "error" in log_line.lower(), which returns True or False.
r"...")?Prefixing a string with r disables backslash escapes, which keeps Windows file paths and regular expressions readable.
Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.
Quick Access With
Experiment with the code from this lesson in our interactive playground.