In Python everything is object and string are an object too. Python string can be created simply by enclosing characters in the double quote.

For example:

var = "Hello World!"

In this tutorial, we will learn -

Accessing Values in Strings

Python does not support a character type, these are treated as strings of length one, also considered as substring.

We use square brackets for slicing along with the index or indices to obtain a substring.


                var1 = "Girish99!"
                var2 = "Software Testing"
                print ("var1[0]:",var1[0])
                print ("var2[1:5]:",var2[1:5])
            

Various String Operators

There are various string operators that can be used in different ways like concatenating different string.

Suppose if a=Girish and b=99 then a+b= "Girish99". Similarly, if you are using a*2, it will "GirishGirish". Likewise, you can use other operators in string.

Operator

Description

Example

[] Slice- it gives the letter from the given index a[1] will give "u" from the word Girish as such ( 0=G, 1=u, 2=r and 3=u)

     x="Girish"
     print x[1]
                                
[ : ] Range slice-it gives the characters from the given range x [1:3] it will give "ur" from the word Girish. Remember it will not consider 0 which is G, it will consider word after that is ur.

     x="Girish" 
     print x[1:3]
                                
in Membership-returns true if a letter exist in the given string u is present in word Girish and hence it will give 1 (True)

     x="Girish" 
     print "u" in x
                                
not in Membership-returns true if a letter exist is not in the given string l not present in word Girish and hence it will give 1

     x="Girish" 
     print "l" not in x
                                
r/R Raw string suppresses actual meaning of escape characters. Print r'\n' prints \n and print R'/n' prints \n
% - Used for string format %r - It insert the canonical string representation of the object (i.e., repr(o)) %s- It insert the presentation string representation of the object (i.e., str(o)) %d- it will format a number for display The output of this code will be "Girish 99".

     name = 'Girish'
     number = 99
     print'%s %d' % (name,number)	
                                
+ It concatenates 2 strings It concatenate strings and gives the result

     x="Girish" 
     y="99" 
     print x+y
                                
* Repeat It prints the character twice.

     x="Girish" 
     y="99" 
     print x*2
                                

Some more examples

You can update Python String by re-assigning a variable to another string. The new value can be related to previous value or to a completely different string all together.


                x = "Hello World!"
                print(x[:6]) 
                print(x[0:6] + "Girish99")
            

Note : - Slice:6 or 0:6 has the same effect

Python String replace() Method

The method replace() returns a copy of the string in which the values of old string have been replaced with the new value.


                oldstring = 'I like Girish99' 
                newstring = oldstring.replace('like', 'love')
                print(newstring)
            

Changing upper and lower case strings

In Python, you can even change the string to upper case or lower case.


                string="python at Girish99"
                print(string.upper())
            

Likewise, you can also do for other function as well like capitalize


                string="python at Girish99"		
                print(string.capitalize())
            

You can also convert your string to lower case


                string="PYTHON AT Girish99"
                print(string.lower())
            

Using "join" function for the string

The join function is a more flexible way for concatenating string. With join function, you can add any character into the string.

For example, if you want to add a colon (:) after every character in the string "Python" you can use the following code.


                print(":".join("Python"))
            

Reversing String

By using the reverse function, you can reverse the string. For example, if we have string "12345" and then if you apply the code for the reverse function as shown below.


                string="12345"		
                print(''.join(reversed(string)))
            

Split Strings

Split strings is another function that can be applied in Python let see for string "Girish99 career Girish99". First here we will split the string by using the command word.split and get the result.


                word="Girish99 career Girish99"		
                print(word.split(' '))
            

To understand this better we will see one more example of split, instead of space (' ') we will replace it with ('r') and it will split the string wherever 'r' is mentioned in the string


                word="Girish99 career Girish99"		
                print(word.split('r'))
            

Important Note:

In Python, Strings are immutable.

Consider the following code


                x = "Girish99"
                x.replace("Girish99","Python")
                print(x)
            

will still return Girish99. This is because x.replace("Girish99","Python") returns a copy of X with replacements made

You will need to use the following code to observe changes


                x = "Girish99"
                x = x.replace("Girish99","Python")
                print(x)
            

Above codes are Python 3 examples, If you want to run in Python 2 please consider following code.

Python 2 Example


                #Accessing Values in Strings
                var1 = "Girish99!"
                var2 = "Software Testing"
                print "var1[0]:",var1[0]
                print "var2[1:5]:",var2[1:5]
                #Some more examples
                x = "Hello World!"
                print x[:6] 
                print x[0:6] + "Girish99"
                #Python String replace() Method
                oldstring = 'I like Girish99' 
                newstring = oldstring.replace('like', 'love')
                print newstring
                #Changing upper and lower case strings
                string="python at Girish99"
                print string.upper()
                string="python at Girish99"		
                print string.capitalize()
                string="PYTHON AT Girish99"
                print string.lower()
                #Using "join" function for the string
                print":".join("Python")		
                #Reversing String
                string="12345"		
                print''.join(reversed(string))
                #Split Strings
                word="Girish99 career Girish99"		
                print word.split(' ')
                word="Girish99 career Girish99"		
                print word.split('r')
                x = "Girish99"
                x.replace("Girish99","Python")
                print x
                x = "Girish99"
                x = x.replace("Girish99","Python")
                print x
            

Python has introduced a .format function which does way with using the cumbersome %d and so on for string formatting.

Summary:

Since Python is an object-oriented programming language, many functions can be applied to Python objects. A notable feature of Python is its indenting source statements to make the code easier to read.

  • Accessing values through slicing - square brackets are used for slicing along with the index or indices to obtain a substring.
    • In slicing, if range is declared [1:5], it can actually fetch the value from range [1:4]
  • You can update Python String by re-assigning a variable to another string
  • Method replace() returns a copy of the string in which the occurrence of old is replaced with new.
    • Syntax for method replace: oldstring.replace("value to change","value to be replaced")
  • String operators like [], [ : ], in, Not in, etc. can be applied to concatenate the string, fetching or inserting specific characters into the string, or to check whether certain character exist in the string
  • Other string operations include
    • Changing upper and lower case
    • Join function to glue any character into the string
    • Reversing string
    • Split string