0Pricing
Python Academy · Lesson

String Slicing and Concatenation

Master slicing syntax and combining strings.

String Slicing and Concatenation is a free Python Academy lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Python Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Introduction

Slicing extracts a substring using [start:stop:step] syntax. Concatenation joins strings together.

Basic Slicing

s[1:4] returns characters at indices 1, 2, 3 — stop is exclusive. s = 'Python'; s[1:4] is 'yth'.
s = 'Python'
print(s[1:4])

Omitting Start or Stop

s[:3] means from the beginning to index 3. s[3:] means from index 3 to the end.
s = 'Python'
print(s[:3])
print(s[3:])

Step in Slicing

s[::2] takes every other character. s[::-1] reverses the string — a very Pythonic idiom.
s = 'Python'
print(s[::2])
print(s[::-1])

Negative Slice Indices

s[-3:] gives the last 3 characters. s[:-2] gives all but the last 2. Combine freely.
s = 'Python'
print(s[-3:])
print(s[:-2])

String Concatenation with +

'Hello' + ' ' + 'World' gives 'Hello World'. Each + creates a new string. For many pieces use join() instead.
print('Hello' + ' ' + 'World')

String Repetition with *

'ha' * 3 gives 'hahaha'. Repetition creates a new string with the original repeated n times.
print('ha' * 3)
print('-' * 20)

Joining a List of Strings

' '.join(['Hello', 'World']) is faster than repeated +. The separator goes between each element.
words = ['Hello', 'World']
print(' '.join(words))

Efficient Concatenation

In loops, append to a list and join at the end: parts=[]; parts.append(x); result=''.join(parts). Much faster than +=.
parts = []
for i in range(5):
    parts.append(str(i))
print(''.join(parts))

Substring Extraction Patterns

Extract domain from email: email='user@example.com'; domain=email[email.index('@')+1:]
email = 'user@example.com'
domain = email[email.index('@')+1:]
print(domain)

Copying a String

s[:] creates a shallow copy of the string (though strings are immutable so it returns the same object — this pattern matters more for lists).
s = 'hello'
copy = s[:]
print(copy)

Quick Check

What does s[::-1] do to a string s?

Recap

Slicing: s[start:stop:step]. s[::-1] reverses. Use ''.join(list) for efficient concatenation in loops. * repeats a string.

Keep Going

Great work! Move on to the next lesson to continue building your skills.

Frequently asked questions

Is the “String Slicing and Concatenation” lesson free?

Yes — the full text of “String Slicing and Concatenation” is free to read here on the web, and the Python Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Python Academy course, upgrade to CoddyKit PRO.

What will I learn in “String Slicing and Concatenation”?

Master slicing syntax and combining strings. You practise Python Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Python Academy?

No prior experience is required. Python Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “String Slicing and Concatenation” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Python Academy lesson?

Yes. Every Python Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. String Basics and Indexing
  2. String Slicing and Concatenation
  3. Common String Methods
  4. String Formatting with f-strings
← Back to Python Academy