Python String Tutorial

1- Python String

String is the most common type in Python, and you often have to work with them. Note that there is no character type  in Python, a simple character is called as a string of length 1.
There are two ways to declare a string written on a line by using single quotes or double quotes.
str1 = "Hello Python"
str2 = 'Hello Python'

str3 = "I'm from Vietnam"

str4 = 'This is a "Cat"! '
If you want to write string on multiple lines using a pair of 3 single quotes.

str = """Hello World
     Hello Python"""

2- Access values in string

Python does not support character type, the character is considered as a string of length 1. The characters in string are indexed by starting index 0. You can access substrings via index.

mystr = "This is text"

# --> h
print ("mystr[1] = ", mystr[1])

# --> is is t
print ("mystr[2,9] = ", mystr[2:9])

# --> s is text
print ("mystr[3:] = ", mystr[3:])

3- String is immutable

String is a special data type in Python, and it is immutable. Each string has an address stored on memory. All operations on strings create another object. For example, if you want to concatenate a string with another string, this action creates another string on memory.

== and is operator

Python uses the == operator to compare the values of two objects. And use the "is" operator to compare locations on memory.
class Person(object):
    def __init__(self, name, age): = name
        self.age = age

    # Override __eq__ method
    def __eq__(self, other):
        return == and self.age == other.age

jack1 = Person('Jack', 23)
jack2 = Person('Jack', 23)

# Call to __eq__ method
print ("jack1 == jack2 ?", jack1 == jack2) # True

print ("jack1 is jack2 ?", jack1 is jack2) # False
See more:
  • TODO Link? 11425
String is a special data type and is frequently used in Python applications. And so it has some features below:
  • If you declare two string type variable with the same value, they all will point to the same string in memory.
Operators with strings will create new strings in memory.

str1 = "Hello Python"

str2 = "Hello Python"

str3 = "Hello " + "Python"

# --> True
print ("str1 == str2? ", str1 == str2)

# --> True
print ("str1 is str2? ", str1 is str2)

# --> True
print ("str1 == str3? ", str1  == str3)

# --> False
print ("str1 is str3? ", str1 is str3)

4- Escape Characters

Escape characters are special characters in Python. It is non-printable characters. However if you want it to appear in your string, you need a notation to notify to Python. For example, "\n" is a newline character.
# Two "tab" characters between "Hello World" and "Hello Python".
mystr = "Hello World\t\tHello Python"

print (mystr)

# Two "newline" characters between "Hello World" and "Hello Python".
mystr = "Hello World\n\nHello Python"

print (mystr)
\a 0x07 Bell or alert
\b 0x08 Backspace
\cx   Control-x
\C-x   Control-x
\e 0x1b Escape
\f 0x0c Formfeed
\M-\C-x   Meta-Control-x
\n 0x0a Newline
\nnn   Octal notation, where n is in the range 0.7
\r 0x0d Carriage return
\s 0x20 Space
\t 0x09 Tab
\v 0x0b Vertical tab
\x   Character x
\xnn   Hexadecimal notation, where n is in the range 0.9, a.f, or A.F

5- Các toán tử cho string

In Python, there are some special operators below:
Operator Description Example
+ Concatenation - Adds values on either side of the operator "Hello" +"Python" ==> "Hello Python"
* Repetition - Creates new strings, concatenating multiple copies of the same string "Hello"*2 ==> "HelloHello"
[] Slice - Gives the character from the given index a = "Hello"
a[1] ==> "e"
[ : ] Range Slice - Gives the characters from the given range a = "Hello"
a[1:4] ==> "ell"
a[1: ] ==> "ello"
in Membership - Returns true if a character exists in the given string a = "Hello"
'H' in a ==> True
not in Membership - Returns true if a character does not exist in the given string a = "Hello"
'M' not in a ==> True
r/R Raw String - Suppresses actual meaning of Escape characters. The syntax for raw strings is exactly the same as for normal strings with the exception of the raw string operator, the letter "r," which precedes the quotation marks. The "r" can be lowercase (r) or uppercase (R) and must be placed immediately preceding the first quote mark. print (r'\n\t') ==> \n\t
print (R'\n\t') ==> \n\t
% Format - Performs String formatting See at next section

6- Methods

  • TODO