Module I
Python Strings
Dr Rajat
1
Python Strings
• Strings in python are surrounded by either single quotation marks, or double
quotation marks.
• 'hello' is the same as "hello".
• You can display a string literal with the print() function:
• Example:
print("Hello")
print('Hello')
Output:
Hello
Hello
2
Assign String to a Variable
Assigning a string to a variable is done with the variable name
followed by an equal sign and the string.
Example:
a = "Hello"
print(a)
Output:
Hello
3
Multiline Strings
User can assign a multiline string to a variable by using three
quotes.
Example: Using three Double quotes
a = ""“Chandigarh university has best infrastructure,
faculties are highly qualified from top institutes such as IITs/NITs,
Excellent Placement facilities provided by University."""
print(a)
Output:
Chandigarh university has best infrastructure,
faculties are highly qualified from top institutes such as IITs/NITs,
Excellent Placement facilities provided by University.
4
Multiline Strings
Example: Using three single quotes:
Code:
a = ''‘Chandigarh University has best infrastructure,
faculties are highly qualified from top institutes such as IITs/NITs,
Excellent Placement facilities provided by University'''
print(a)
Output:
Chandigarh Univeristy has best infrastructure,
faculties are highly qualified from top institutes such as IITs/NITs,
Excellent Placement facilities provided by University
5
Strings are Arrays
• Like many other programming languages, strings in Python are
arrays of bytes representing unicode characters.
• However, Python does not have a character data type, a single
character is simply a string with a length of 1.
• Square brackets can be used to access elements of the string.
Example: Get the character at position 1 (remember that the first character has
the position 0):
a = "Hello, World!"
print(a[0])
Output:
H
6
Looping Through a String
Since strings are arrays, we can loop through the characters in a
string, with a for loop.
Example:
for x in "banana": #The for loop does not require an indexing variable to
set beforehand.
print(x)
Output:
b
a
n
a
n
a
7
String Length
To get the length of a string, use the len() function.
Example:
a = "Hello, World!"
print(len(a))
Output:
13
8
Check String
To check if a certain phrase or character is present in a string, we can
use the keyword in.
Example:
txt = "The best things in life are free!"
print("free" in txt)
Output:
True
9
Check String
Print only if "free" is present, Using if statement
Example: txt = "The best things in life are free!"
if "free" in txt:
print("Yes, 'free' is present.")
Output:
Yes, 'free' is present.
10
Check if NOT
To check if a certain phrase or character is NOT present in a string,
we can use the keyword not in.
Example
Check if "expensive" is NOT present in the following text:
txt = "The best things in life are free!"
print("expensive" not in txt)
Output:
True
11
Check if NOT
print only if "expensive" is NOT present, using if statement
txt = "The best things in life are free!"
if "expensive" not in txt:
print("No, 'expensive' is NOT present.")
Output:
No, 'expensive' is NOT present.
12
Python - Slicing Strings
You can return a range of characters by using the slice syntax.
Specify the start index and the end index, separated by a colon, to return
a part of the string.
Example
Get the characters from position 2 to position 5 (not included):
b = "Hello, World!"
print(b[2:5])
Output:
llo
13
Slice From the Start
By leaving out the start index, the range will start at the first character:
Example
Get the characters from the start to position 5 (not included):
b = "Hello, World!"
print(b[:5])
Output:
Hello
14
Slice To the End
By leaving out the end index, the range will go to the end:
Example
Get the characters from position 2, and all the way to the end:
b = "Hello, World!"
print(b[2:])
Output:
llo, World!
15
Negative Indexing
Use negative indexes to start the slice from the end of the string:
Example:Get the characters, From: "o" in "World!" (position -5) to, but not
included: "d" in "World!" (position -2):
b = "Hello, World!"
print(b[-5:-2])
Output:
orl
16
Python - Modify Strings
Python has a set of built-in methods that you can use on strings.
Upper Case
Example: The upper() method returns the string in upper case:
a = "Hello, World!"
print(a.upper())
Output:
HELLO, WORLD!
17
Python - Modify Strings
Python has a set of built-in methods that you can use on strings.
Lower Case
Example: The lower() method returns the string in lower case:
a = "Hello, World!"
print(a.lower())
Output:
hello, world!
18
Python - Modify Strings
Remove Whitespace:
Whitespace is the space before and/or after the actual text, and very often you want to
remove this space.
Example
The strip() method removes any whitespace from the beginning or the end:
a = " Hello, World! "
print(a.strip()) # returns "Hello, World!“
Output:
Hello, World!
19
Replace String
Example
The replace() method replaces a string with another string:
a = "Hello, World!"
print(a.replace("H", "J"))
Output:
Jello, World!
20
Split String
The split() method returns a list where the text between the
specified separator becomes the list items.
Example
The split() method splits the string into substrings if it finds instances of the
separator:
a = "Hello, World!"
print(a.split(",")) # returns ['Hello', ' World!']
Output:
['Hello', ' World!']
21
String Concatenation
To concatenate, or combine, two strings you can use the + operator.
Example
Merge variable a with variable b into variable c:
a = "Hello"
b = "World"
c=a+b
print(c)
Output:
HelloWorld
22
To add a space
Example
To add a space between them, add a " ":
a = "Hello"
b = "World"
c=a+""+b
print(c)
Output:
Hello World
23
String Format
we cannot combine strings and numbers:
Example:
age = 36
txt = "My name is John, I am " + age
print(txt)
Output:
Traceback (most recent call last):
File "demo_string_format_error.py", line 2, in <module>
txt = "My name is John, I am " + age
TypeError: must be str, not int
24
String Format: format() method
we can combine strings and numbers by using the format() method
The format() method takes the passed arguments, formats them, and places them in
the string where the placeholders {} are:
Example: Use the format() method to insert numbers into strings:
age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))
Output:
My name is John, and I am 36
25
String Format: format() method
The format() method takes unlimited number of arguments, and are
placed into the respective placeholders:
Example:
quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))
Output:
I want 3 pieces of item 567 for 49.95 dollars.
26
String Format: format() method
You can use index numbers {0} to be sure the arguments are placed in
the correct placeholders:
Example:
quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))
Output:
I want to pay 49.95 dollars for 3 pieces of item 567
27
Escape Character
• To insert characters that are illegal in a string, use an escape character.
• An escape character is a backslash \ followed by the character you want to insert.
• An example of an illegal character is a double quote inside a string that is surrounded by
double quotes:
Example: You will get an error if you use double quotes inside a string that is surrounded by
double quotes:
txt = "We are the so-called "Vikings" from the north.“
Output:
File "demo_string_escape_error.py", line 1
txt = "We are the so-called "Vikings" from the north."
^
SyntaxError: invalid syntax 28
Escape Character
To fix this problem, use the escape character \":
Example: The escape character allows you to use double quotes when you
normally would not be allowed:
txt = "We are the so-called \"Vikings\" from the north.“
Output:
We are the so-called "Vikings" from the north.
29
Other Escape Characters
Other escape characters used in Python:
Code Result
\' Single Quote
\\ Backslash
\n New Line
\r Carriage Return
\t Tab
\b Backspace
\f Form Feed
\ooo Octal value
\xhh Hex value
30
Python - String Methods
Python has a set of built-in methods that you can use on strings. All
string methods return new values. They do not change the original
string. Method Description
capitalize() Converts the first character to upper case
casefold() Converts string into lower case
center() Returns a centered string
count() Returns the number of times a specified
value occurs in a string
encode() Returns an encoded version of the string
endswith() Returns true if the string ends with the
specified value
expandtabs() Sets the tab size of the string
find() Searches the string for a specified value and
returns the position of where it was found
format() Formats specified values in a string
format_map() Formats specified values in a string
31
Python - String Methods
Method Description
index() Searches the string for a specified value and returns the position of
where it was found
isalnum() Returns True if all characters in the string are alphanumeric
isalpha() Returns True if all characters in the string are in the alphabet
isdecimal() Returns True if all characters in the string are decimals
isdigit() Returns True if all characters in the string are digits
isidentifier() Returns True if the string is an identifier
islower() Returns True if all characters in the string are lower case
isnumeric() Returns True if all characters in the string are numeric
isprintable() Returns True if all characters in the string are printable
32
isspace() Returns True if all characters in the string are whitespaces
Python - String Methods
Method Description
istitle() Returns True if the string follows the rules of a title
isupper() Returns True if all characters in the string are upper case
join() Joins the elements of an iterable to the end of the string
ljust() Returns a left justified version of the string
lower() Converts a string into lower case
lstrip() Returns a left trim version of the string
maketrans() Returns a translation table to be used in translations
partition() Returns a tuple where the string is parted into three parts
replace() Returns a string where a specified value is replaced with a specified value
rfind() Searches the string for a specified value and returns the last position of33
Python - String Methods
Method Description
rindex() Searches the string for a specified value and returns the last position of
where it was found
rjust() Returns a right justified version of the string
rpartition() Returns a tuple where the string is parted into three parts
rsplit() Splits the string at the specified separator, and returns a list
rstrip() Returns a right trim version of the string
split() Splits the string at the specified separator, and returns a list
splitlines() Splits the string at line breaks and returns a list
startswith() Returns true if the string starts with the specified value
strip() Returns a trimmed version of the string
34
swapcase() Swaps cases, lower case becomes upper case and vice versa
Python - String Methods
Method Description
title() Converts the first character of each word to upper case
translate() Returns a translated string
upper() Converts a string into upper case
zfill() Fills the string with a specified number of 0 values at the beginning
35