A string in Python is a series of characters enclosed into quotes or double quotes:

"Roger"
'Roger'


You can assign a string value to a variable:

name = "Roger"


You can concatenate two strings using the + operator:

phrase = "Roger" + " is a good dog"


You can append to a string using +=:

name = "Roger"
name += " is a good dog"

print(name) #Roger is a good dog


You can convert a number to a string using the str class constructor:

str(8) #"8"


This is essential to concatenate a number to a string:

print("Roger is " + str(8) + " years old") #Roger is 8 years old


A string can be multi-line when defined with a special syntax, enclosing the string in a set of 3 quotes:

print("""Roger is

8

years old
""")

#double quotes, or single quotes

print('''
Roger is

8

years old
''')


A string has a set of built-in methods, like:

• isalpha() to check if a string contains only characters and is not empty
• isalnum() to check if a string contains characters or digits and is not empty
• isdecimal() to check if a string contains digits and is not empty
• lower() to get a lowercase version of a string
• islower() to check if a string is lowercase
• upper() to get an uppercase version of a string
• isupper() to check if a string is uppercase
• title() to get a capitalized version of a string
• startsswith() to check if the string starts with a specific substring
• endswith() to check if the string ends with a specific substring
• replace() to replace a part of a string
• split() to split a string on a specific character separator
• strip() to trim the whitespace from a string
• join() to append new letters to a string
• find() to find the position of a substring

and many more.

None of those methods alter the original string. They return a new, modified string instead. For example:

name = "Roger"
print(name.lower()) #"roger"
print(name) #"Roger"


You can use some global functions to work with strings, too.

In particular I think of len(), which gives you the length of a string:

name = "Roger"
print(len(name)) #5


The in operator lets you check if a string contains a substring:

name = "Roger"
print("ger" in name) #True


Escaping is a way to add special characters into a string.

For example, how do you add a double quote into a string that’s wrapped into double quotes?

name = "Roger"


"Ro"Ger" will not work, as Python will think the string ends at "Ro".

The way to go is to escape the double quote inside the string, with the \ backslash character:

name = "Ro\"ger"


This applies to single quotes too \', and for special formatting characters like \t for tab, \n for new line and \\ for the backslash.

Given a string, you can get its characters using square brackets to get a specific item, given its index, starting from 0:

name = "Roger"
name[0] #'R'
name[1] #'o'
name[2] #'g'


Using a negative number will start counting from the end:

name = "Roger"
name[-1] #"r"


You can also use a range, using what we call slicing:

name = "Roger"
name[0:2] #"Ro"
name[:2] #"Ro"
name[2:] #"ger"


One more thing! ⚠️ ✋

At the end of January I will organize the Web Development Bootcamp.

It's a 10-weeks long cohort online course where I will guide you to becoming a Web Developer.

It's not "just a course". It's a big event I organize once a year.

We'll start from zero, learn the fundamentals of Web Development, HTML CSS, JavaScript, Tailwind, Git, using the command line, VS Code, GitHub, Node.js, we'll then learn React, JSX, how to use PostgreSQL, Astro, Next.js, Prisma, deploying on Netlify/DigitalOcean/Fly/Vercel and much more!

At the end of the first 10 weeks you'll know how to create web sites and web applications and I'll unlock you the 2nd phase of the Bootcamp: you will get access to a large number of projects exclusive to the Bootcamp graduates, so you can follow my instructions to build things like private areas with authentication, clones of popular sites like Twitter YouTube Reddit, create e-commerce sites, and much much more.

Because once you got the fundamentals, you only learn by working on real, exciting projects.

To find out more, visit bootcamp.dev