# Topic covered
* String Data Type
* Define String literals
* Slicing of Strings
* String in-built function
* Formatting the Strings
5. String Data Type
Strings are used to record the text information
such as name.
In Python, Strings act as Sequence
which means Python tracks every element in the String as a sequence.
This is one of the important features of the Python language.
For example, Python understands the string “hello” to be a sequence of letters
in a specific order
which means the indexing technique to grab particular letters
(like first letter or the last letter).
Note:
In most other languages like C, C++,Java, a single character
with in single quotes is treated as char data type
value.
But in Python we are not having char data type
. Hence it is treated as String only.
ch='a'
type(ch) # <class 'str'>
string = 'Amrit'
type(string) # <class 'str'>
5.1 Define String literals
# valid string
print("This is ' double quote symbol")
print('This is " single quotes symbol')
print('String with escahe \' char')
print('The \"Python Notes\" by \'durga\' is very helpful')
print('''This is a "multi-line"
string''')
# Invalid String
print('This is ' single quote symbol')
print('The "Python Notes" by 'ap' is very helpful')
print("The "Python Notes" by 'ap' is very helpful")
5.2 Slicing of Strings
- Slice means a piece
[ ] operator
is called slice operator, which can be used to retrieve parts of String.
# Syntax --> [start: end: step]
a1 = 'Amrit'
-5 -4 -3 -2 -1
A m r i t
0 1 2 3 4
a1[2:] # rit
a1[:2] # Am
a1[::2] # 'Art'
# a1[::-1] # 'tirmA'
a1[::] # Amrit
a1[:] # Amrit
print("Hello" + "Worlds")
# HelloWorlds
print('Hello'*2)
# HelloHello
5.3 String in-built function
len()
- len() function to find the number of characters present in the string
a1 = 'Amrit'
len(a1) # 5
count()
- Counting substring in the given String
s1 = 'Hello Amrit llo LLo'
s1.count('llo') # 2
s1.count('l') # 4
s1.count('AAA') # 0
replace()
- Replace every occurrence of old string will be replaced with new string
str1 = "Difficult, Python is Difficult"
str2 = str1.replace("Difficult","Easy")
str2
# 'Easy, Python is Easy'
Removing spaces from the string
rstrip()
- To remove spaces at right hand side
lstrip()
- To remove spaces at left hand side
strip()
- To remove spaces both sides
string_a=" pwskills "
string_a.strip(" ")
# 'pwskills'
string_a.lstrip(" ")
# 'pwskills '
string_a.rstrip(" ")
# ' pwskills'
Joining of Strings
join()
- We can join a group of strings(list or tuple) wrt the given seperator
str1 = ('sunny','bunny','chinny')
' '.join(str1)
# 'sunny bunny chinny'
" ".join("abcd")
# 'a b c d'
' Pwskills '.join(reversed("ant"))
# 't Pwskills n Pwskills a'
Splitting of Strings
split()
str1 = '22-02-2018'
str1.split('-')
# ['22', '02', '2018']
partition()
str1.partition('-')
# ('22', '-', '02-2018')
str1.rpartition('-')
# ('22-02', '-', '2018')
Checking starting and ending part of the string
startswith()
endswith()
s = 'learning Python is very easy'
print(s.startswith('learning')) # True
print(s.endswith('learning')) # False
print(s.endswith('easy')) # True
Finding Substrings
find()
andindex()
- Finds sub-string in given string
- Return index of 1st char of first sub-string in forward direction
# find()
s1 = 'Hello Amrit'
s1.find('llo') # 2
# `No Error` if sub-str not found
s1.find('lloo') # -1
# `Returns -1`
# index()
s1.index('llo') # 2
# `gives Error` if sub-str not found
s1.index('loo')
# ValueError: substring not found
rfind()
andrindex()
- Same as find() and index()
- But it works in backward direction
s1 = 'Hello Amrit'
s1.rfind('llo') # 2
s1.rindex('llo') # 2
Changing case of a String:
upper()
- To convert all characters to upper case
lower()
- To convert all characters to lower case
swapcase()
- Converts all lower case characters to upper case and all upper case characters to lower case
title()
- To convert all character to title case
- i.e first character in every word should be upper case and all remaining characters should be in lower case.
capitalize()
- Only first character will be converted to upper case and all remaining characters can be converted to lower case
s='learning Python is very Easy'
print(s.upper())
# LEARNING PYTHON IS VERY EASY
print(s.lower())
# learning python is very easy
print(s.swapcase())
# LEARNING pYTHON IS VERY eASY
print(s.title())
# Learning Python Is Very Easy
print(s.capitalize())
# Learning python is very easy
To check type of characters present in a string:
isalnum()
- Returns True if all characters are alphanumeric( a to z , A to Z ,0 to9 )
isalpha()
- Returns True if all characters are only alphabet symbols(a to z,A to Z)
isdigit()
- Returns True if all characters are digits only( 0 to 9)
islower()
- Returns True if all characters are lower case alphabet symbols
isupper()
- Returns True if all characters are upper case alphabet symbols
istitle()
- Returns True if string is in title case
isspace()
- Returns True if string contains only spaces
5.4 Formatting the Strings
name, salary, age ='Amrit', '50K', 22
print("{} 's salary is {} and his age is {}".format(
name, salary, age))
print("{0} 's salary is {1} and his age is {2}".format(
name, salary, age))
print("{x} 's salary is {y} and his age is {z}".format(
z=age, y=salary, x=name))
# Amrit 's salary is 50K and his age is 22
# Amrit 's salary is 50K and his age is 22
# Amrit 's salary is 50K and his age is 22