3.4. String methods#
We have already encountered functions: built-in functions and functions we have defined. A method is another kind of function that is attached to a particular type. This section covers the methods that are attached to string types.
Method calls in this form—
'browning'.capitalize()
—are shorthand for this:str.capitalize('browning')
.Methods are like functions, except that the first argument must be an object of the class in which the method is defined.
3.4.1. Strip Methods#
strip()
– Strip spaces on the left and right of string
my_string = ' ABBCCC '
print(my_string, 'Dummy')
print(my_string.strip())
ABBCCC Dummy
ABBCCC
strip(chars)
– Strip chars on the left and right of string
my_string = 'ABBCCCA'
print(my_string.strip('A'))
my_string = ' ABBCCCA'
print(my_string.strip('A'))
BBCCC
ABBCCC
lstrip()
– Strip spaces from the left of string
my_string = ' ABBCCC '
print(my_string, 'Dummy')
print(my_string.lstrip(), 'Dummy')
ABBCCC Dummy
ABBCCC Dummy
rstrip()
– Strip spaces from the right of string
my_string = ' ABBCCC '
print(my_string, 'Dummy')
print(my_string.rstrip(), 'Dummy')
ABBCCC Dummy
ABBCCC Dummy
3.4.2. Case Methods#
islower()
– Check if all alphabet characters are lower case
my_string = 'EAS503'
print(my_string.islower())
False
isupper()
– Check if all alphabet characters are upper case
my_string = 'EAS503'
print(my_string.isupper())
True
lower()
– Lower case the string; returns a new string
my_string = 'EAS503'
print(my_string.lower())
eas503
upper()
– Upper case the string; returns a new string
my_string = 'eas503'
print(my_string.upper())
EAS503
title()
– Make the first letter of each word upper case
my_string = 'the lazy dog jumped over the quick brown fox'
print(my_string.title())
The Lazy Dog Jumped Over The Quick Brown Fox
capitalize()
– Make the first letter upper case
my_string = 'the lazy dog jumped over the quick brown fox'
print(my_string.capitalize())
The lazy dog jumped over the quick brown fox
swapcase()
– Make upper case lower case and lower case upper case
my_string = 'tHe laZy dOg Jumped oveR thE quIck bRown Fox'
print(my_string.swapcase())
ThE LAzY DoG jUMPED OVEr THe QUiCK BrOWN fOX
3.4.3. Content Methods#
isalpha()
– ReturnsTrue
if all the characters are alphabet
my_string = 'EAS503'
print(my_string.isalpha())
my_string = 'EAS'
print(my_string.isalpha())
False
True
isdecimal()
– ReturnsTrue
if all the characters are numbers (0-9); USE THIS!isdigit()
– ReturnsTrue
if all the characters are numbers (0-9), superscripts ("\u00B2"
), or fractions'\u00BC'
;isnumeric()
– ReturnsTrue
if all the characters are numbers (0-9), superscripts ("\u00B2"
), fractions'\u00BC'
, or Roman Numerals!isalnum()
– ReturnsTrue
if the string is alpha numeric
my_string = 'EAS503'
print(my_string.isalnum())
True
startswith(substring)
– ReturnsTrue
if the string starts with the specific input argument
my_string = 'EAS503'
print(my_string.startswith('EAS'))
True
endswith(substring)
– ReturnsTrue
if the string ends with the specific input argument
my_string = 'EAS503'
print(my_string.endswith('03'))
True
find(substring)
– Returns the index if the character is found; otherwise returns-1
my_string = 'ABBCCC'
print(my_string.find('BB'))
print(my_string.find('B'))
print(my_string.find('AC'))
1
1
-1
index(substring)
– Returns the index if the character is found; otherwise raises an error
my_string = 'ABBCCC'
print(my_string.index('BB'))
print(my_string.index('B'))
1
1
my_string = 'ABBCCC'
print(my_string.index('AC'))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[18], line 2
1 my_string = 'ABBCCC'
----> 2 print(my_string.index('AC'))
ValueError: substring not found
in
operator – ReturnsTrue
if the operand on the left exists in the string
my_string = 'ABBCCC'
print('A' in my_string)
True
count(substring)
– Returns the number of times the substring occurs
my_string = 'ABBCCC'
print(my_string.count('C'))
print(my_string.count('CC'))
print(my_string.count('CCC'))
3
1
1
3.4.4. Modification Methods#
replace()
– Replaces character(s) with other character(s); returns a new stringGiven
(EAS503)
, how can you remove the parentheses?
my_string = '(EAS503)'
tmp1 = my_string.replace('(', '')
print(tmp1)
tmp2 = tmp1.replace(')', '')
print(tmp2)
EAS503)
EAS503
You can chain methods! Chaining lets you avoid having to save intermediate results.
my_string = '(EAS503)'
print(my_string.replace('(', '').replace(')', ''))
EAS503
zfill(number_of_zeros)
– prepend zeros to a string; returns a new string
my_string = 'EAS503'
my_string.zfill(8)
'00EAS503'
my_string = '123'
my_string.zfill(8)
'00000123'
3.4.5. Creating a new String#
join((value1, value2, value3))
– Creates a new string separating the values by whatever is in the string
years = ('1900', '1924', '1950', '1990')
''.join((years))
'1900192419501990'
years = ('1900', '1924', '1950', '1990')
'-'.join((years))
'1900-1924-1950-1990'
years = ('1900', '1924', '1950', '1990')
', '.join((years))
'1900, 1924, 1950, 1990'
years = ('1900', '1924', '1950', '1990')
print('\n'.join((years)))
1900
1924
1950
1990
You can only join strings, you cannot join an integer.
years = ('1900', '1924', '1950', 1990)
', '.join(years)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[29], line 2
1 years = ('1900', '1924', '1950', 1990)
----> 2 ', '.join(years)
TypeError: sequence item 3: expected str instance, int found