Let's play with $trings in python

$TRINGS 

Python string is the collection of the characters surrounded by single quotes, double quotes. The computer does not understand the characters; internally, it stores manipulated character as the combination of the 0's and 1's.

Each character is encoded in the ASCII or Unicode character. So we can say that Python strings are also called the collection of Unicode characters.

In Python, strings can be created by enclosing the character or the sequence of characters in the quotes. Python allows us to use single quotes, double quotes.

Consider the following example in Python to create a string.

Syntax:

str = "Hi Python !"    

Here, if we check the type of the variable str using a Python script

print(type(str)), then it will print a string (str).    

In Python, strings are treated as the sequence of characters, which means that Python doesn't support the character data-type; instead, a single character written as 'p' is treated as the string of length 1.

Creating String in Python

We can create a string by enclosing the characters in single-quotes or double- quotes. Python also provides triple-quotes to represent the string, but it is generally used for multi line string or docstrings.

  1. #Using single quotes  
  2. str1 = 'Hello Python'  
  3. print(str1)  
  4. #Using double quotes  
  5. str2 = "Hello Python"  
  6. print(str2)  
  7.   
  8. #Using triple quotes  
  9. str3 = '''''Triple quotes are generally used for  
  10.     represent the multiline or 
  11.     docstring'''   
  12. print(str3)  

Output:

Hello Python
Hello Python
Triple quotes are generally used for 
    represent the multiline or
    docstring

Strings indexing and splitting

Like other languages, the indexing of the Python strings starts from 0. For example, The string "HELLO" is indexed as given in the below figure.
Python String

Consider the following example:

  1. str = "HELLO"  
  2. print(str[0])  
  3. print(str[1])  
  4. print(str[2])  
  5. print(str[3])  
  6. print(str[4])  
  7. # It returns the IndexError because 6th index doesn't exist  
  8. print(str[6])  

Output:

H
E
L
L
O
IndexError: string index out of range

 In Python, the slice operator [] is used to access the individual characters of the string. However, we can use the : (colon) operator in Python to access the substring from the given string. Consider the following example.

Python String

Here, we must notice that the upper range given in the slice operator is always exclusive i.e., if str = 'HELLO' is given, then str[1:3] will always include str[1] = 'E', str[2] = 'L' and nothing else.

Consider the following example:

  1. # Given String  
  2. str = "TECHWORLD"  
  3. # Start Oth index to end  
  4. print(str[0:])  
  5. # Starts 1th index to 4th index  
  6. print(str[1:5])  
  7. # Starts 2nd index to 3rd index  
  8. print(str[2:4])  
  9. # Starts 0th to 2nd index  
  10. print(str[:3])  
  11. #Starts 4th to 6th index  
  12. print(str[4:7])  

Output:

TECHWORLD
ECHW
CH
TEC
WOR

We can do the negative slicing in the string; it starts from the rightmost character, which is indicated as -1. The second rightmost index indicates -2, and so on. Consider the following image.

Python String

Consider the following example

  1. str = 'TECHWORLD'  
  2. print(str[-1])  
  3. print(str[-3])  
  4. print(str[-2:])  
  5. print(str[-4:-1])  
  6. print(str[-7:-2])  
  7. # Reversing the given string  
  8. print(str[::-1])  
  9. print(str[-12])  

Output:

D
R
LD
ORL
CHWOR

DLROWHCET

IndexError: string index out of range

Reassigning Strings

 A string can only be replaced with new string since its content cannot be partially replaced. Strings are immutable in Python.

Consider the following example.

Example 1

  1. str = "HELLO"    
  2. str[0] = "h"    
  3. print(str)   

 

Output:

Traceback (most recent call last):
  File "12.py", line 2, in <module>
    str[0] = "h";
TypeError: 'str' object does not support item assignment

However, in example 1, the string str can be assigned completely to a new content as specified in the following example.

Example 2

  1. str = "HELLO"    
  2. print(str)    
  3. str = "hello"    
  4. print(str)   
  5. str="HELLO"
  6. print('f'+str[1:]) 

Output:

HELLO
hello  

fello

Deleting the String

As we know that strings are immutable. We cannot delete or remove the characters from the string.  But we can delete the entire string using the del keyword.

  1. str = "PYTHON"  
  2. del str[1]  

Output:

TypeError: 'str' object doesn't support item deletion

Now we are deleting entire string.

  1. str1 = "PYTHON"  
  2. del str1  
  3. print(str1)  

Output:

NameError: name 'str1' is not defined

Comments