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 -
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 = "Guru99!" var2 = "Software Testing" print ("var1[0]:",var1[0]) print ("var2[1:5]:",var2[1:5])
There are various string operators that can be used in different ways like concatenating different string.
Suppose if a=guru and b=99 then a+b= "guru99". Similarly, if you are using a*2, it will "GuruGuru". 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 Guru as such ( 0=G, 1=u, 2=r and 3=u) |
x="Guru" print x[1] |
[ : ] | Range slice-it gives the characters from the given range | x [1:3] it will give "ur" from the word Guru. Remember it will not consider 0 which is G, it will consider word after that is ur. |
x="Guru" print x[1:3] |
in | Membership-returns true if a letter exist in the given string | u is present in word Guru and hence it will give 1 (True) |
x="Guru" print "u" in x |
not in | Membership-returns true if a letter exist is not in the given string | l not present in word Guru and hence it will give 1 |
x="Guru" 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 "guru 99". |
name = 'guru' number = 99 print'%s %d' % (name,number) |
+ | It concatenates 2 strings | It concatenate strings and gives the result |
x="Guru" y="99" print x+y |
* | Repeat | It prints the character twice. |
x="Guru" y="99" print x*2 |
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] + "Guru99")
Note : - Slice:6 or 0:6 has the same effect
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 Guru99' newstring = oldstring.replace('like', 'love') print(newstring)
In Python, you can even change the string to upper case or lower case.
string="python at guru99" print(string.upper())
Likewise, you can also do for other function as well like capitalize
string="python at guru99" print(string.capitalize())
You can also convert your string to lower case
string="PYTHON AT GURU99"" print(string.lower())
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"))
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 is another function that can be applied in Python let see for string "guru99 career guru99". First here we will split the string by using the command word.split and get the result.
word="guru99 career guru99" 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="guru99 career guru99" print(word.split('r'))
Important Note:
In Python, Strings are immutable.
Consider the following code
x = "Guru99" x.replace("Guru99","Python") print(x)
will still return Guru99. This is because x.replace("Guru99","Python") returns a copy of X with replacements made
You will need to use the following code to observe changes
x = "Guru99" x = x.replace("Guru99","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 = "Guru99!" 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] + "Guru99" #Python String replace() Method oldstring = 'I like Guru99' newstring = oldstring.replace('like', 'love') print newstring #Changing upper and lower case strings string="python at guru99" print string.upper() string="python at guru99" print string.capitalize() string="PYTHON AT GURU99" print string.lower() #Using "join" function for the string print":".join("Python") #Reversing String string="12345" print''.join(reversed(string)) #Split Strings word="guru99 career guru99" print word.split(' ') word="guru99 career guru99" print word.split('r') x = "Guru99" x.replace("Guru99","Python") print x x = "Guru99" x = x.replace("Guru99","Python") print x
Python has introduced a .format function which does way with using the cumbersome %d and so on for string formatting.
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.