String
Strings can be created by enclosing characters inside a single quote or double quotes. Even triple quotes can be used in Python but generally used to represent multiline strings and doc strings.
string = "Hello world!"
print string
# Hello world!
mystring = '''first line
second line
third line'''
print mystring
# first line
# second line
# third line
print('''He said, "What's there?"''')
# He said, "What's there?" # using triple quotes
print('He said, "What\'s there?"')
# He said, "What's there?" # escaping single quotes
print("He said, \"What's there?\"")
# He said, "What's there?" # escaping double quotes
Convert from other type with str()
#convert from integer to string
str(1)
Slicing: similar as in list
string = "Hello world!"
print string[3]
# l # return the 4th character
print string[3:7]
# lo w # return the 4th to 7th character
print string[:7]
# Hello w # from the beginning to the 7th character
print string[3:]
# lo world! # from the 4th to the end
print string[-3:]
# ld! # 3rd character from the end until the end
print string[3:8:2]
# l o # [start:stop:step]
Reverse
Note that reverse() doesn't work for string. Need to convert string to list and then reverse().
print string[::-1]
# !dlrow olleH
Important: We can't do slicing and reverse simultaneously. If we want to reverse a substring:
string[start:end][::-1]
Change a string
Strings are immutable. This means that elements of a string cannot be changed once it has been assigned. We can simply reassign different strings to the same name.
string = "Hello world!"
string[0] = "h"
print string
# TypeError: 'str' object does not support item assignment
string = "hello world!"
print string
# hello world!
Delete characters from a string
We cannot delete or remove characters from a string. But deleting the string entirely is possible using the keyword
del.
string = "hello world!"
print string
# hello world!
del string
print string
# NameError: name 'string' is not defined
Concatenation of Two or More Strings
Joining of two or more strings into a single one is called concatenation.
The +
operator does this in Python. Simply writing two string literals together also concatenates them.
The *
operator can be used to repeat the string for a given number of times.
string1 = "hello"
string2 = "world"
print string1 + string2
# helloworld
whole = string1 + " " + string2
print whole
# hello world
print string1 * 2 + " " + string2
# hellohello world
String Membership Test
We can test if a sub string exists within a string or not, using the keywordin
.
print "l" in "hello"
# True
print "l" not in "hello"
# False
String Comparison
We can use == to compare if two strings are the same.
"abc" == "ab"
# False
"abc" == "abc"
# True
Iterate each character in a string
word = 'test'
for c in word:
print c
for i, c in enumerate(word):
print i, c
Convert all characters to uppercase/lowercase
These make a new string with all letters converted to uppercase and lowercase, respectively.
print string.upper()
# HELLO WORLD!
print string.lower()
# hello world!
startswith/endswith
This is used to determine whether the string starts with something or ends with something, respectively.
print string.startswith("Hello")
# True
print string.startswith("hello")
# False
print string.endswith("!")
# True
Split
This splits the string into a bunch of strings grouped together in a list. If not specified, the default of string.split() is splitting by space.
print string.split(" ")
# ['Hello', 'world!']
print string.split("l")
# ['He', '', 'o wor', 'd!']
Enumerate
The enumerate()
function returns an enumerate object. It contains the index and value of all the items in the string as pairs. This can be useful for iteration.
string = 'cold'
print list(enumerate(string))
# [(0, 'c'), (1, 'o'), (2, 'l'), (3, 'd')]
Join strings
print ' '.join(['This', 'will', 'join', 'all', 'words', 'into', 'a', 'string'])
# This will join all words into a string
print '#'.join(['This', 'will', 'join', 'all', 'words', 'into', 'a', 'string'])
# This#will#join#all#words#into#a#string
Length
Length including punctuation and spaces.
len(string)
# 12
Count
differentiate uppercase and lowercase
can count the number of space
can count the number of punctuation
print string.count("l")
# 3
print string.count("h")
# 1
print string.count("H")
# 0
print string.count(" ")
# 1
print string.count("!")
# 1
Finding substring
Both index
and find
return the index of the first occurrence of the first character in the substring. The only difference is that when the substring is not found, index
returns ValueError
and find
returns -1
.
string = "hello world"
print string.index("l")
# 2
print string.index("ll")
# 2
print string.find("l")
# 2
print string.find("ll")
# 2
print string.index("lll")
# ValueError: substring not found
print string.find("lll")
# -1
Replace part of a string
When using replace() to replace part of a string, need to assign the new value to the original name. Because string is immutable. Otherwise, the string won't be changed.
string = "hello world"
string = string.replace("hello", "Hello")
print string
# Hello world
Check if a string is letter
str.isalpha()
Return true if all characters in the string are alphabetic and there is at least one character, false otherwise.
string = 'abc'
print string.isalpha()
# True
A list of build-in functions for strings
Method
Description
Converts first character to Capital Letter
Pads string with specified character
converts to casefolded strings
returns occurrences of substring in string
Checks if String Ends with the Specified Suffix
Replaces Tab character With Spaces
returns encoded string of given string
Returns the Highest Index of Substring
formats string into nicer output
Returns Index of Substring
Checks Alphanumeric Character
Checks if All Characters are Alphabets
Checks Decimal Characters
Checks Digit Characters
Checks for Valid Identifier
Checks if all Alphabets in a String are Lowercase
Checks Numeric Characters
Checks Printable Character
Checks Whitespace Characters
Checks for Titlecased String
returns if all characters are uppercase characters
Returns a Concatenated String
returns left-justified string of given width
returns right-justified string of given width
returns lowercased string
returns uppercased string
swap uppercase characters to lowercase; vice versa
Removes Leading Characters
Removes Trailing Characters
Removes Both Leading and Trailing Characters
Returns a Tuple
returns a translation table
Returns a Tuple
returns mapped charactered string
Replaces Substring Inside
Returns the Highest Index of Substring
Returns Highest Index of Substring
Splits String from Left
Splits String From Right
Splits String at Line Boundaries
Checks if String Starts with the Specified String
Returns a Title Cased String
Returns a Copy of The String Padded With Zeros
Formats the String Using Dictionary
Checks if any Element of an Iterable is True
returns true when all elements in iterable is true
Returns String Containing Printable Representation
Coverts a Value to Boolean
returns array of given byte size
returns immutable bytes object
Returns a Python code object
Creates a Complex Number
Returns an Enumerate Object
constructs iterator from elements which are true
returns floating point number from number, string
reads and returns a line of string
returns integer from a number or string
returns iterator for an object
Returns Length of an Object
returns largest element
returns smallest element
Applies Function and Returns a List
returns Unicode code point for Unicode character
returns reversed iterator of a sequence
creates a slice object specified by range()
returns sorted list from a given iterable
Add items of an Iterable
Returns an Iterator of Tuples
Last updated
Was this helpful?