The Python crash course is free and will be posted here on dev.to. I will publish a new article every two days or so. To not miss anything, you can follow me on twitter: Follow @EricTheCoder_
String Manipulations
Let's now see in a little more detail how to create and manipulate character strings (Strings) with Python.
A variable of type String can be created with single or double quotes
name = 'Mike' # or name = "Mike"
Python allows you to insert special characters into your Strings.
message = "Hello \nWorld" print(message) # Hello # World
The special character “\n” will be replaced by a line break. Python provides you with several special characters. Here is a list: https://www.w3schools.com/python/gloss_python_escape_characters.asp
Interpolation
Using the “f” prefix displays the contents of the variable specified between the brackets {}
name = "Mike" print(f"Hello {name}") # Hello Mike
Python can also execute any expression inside the {} brackets, so this concept can become very powerful. Here is an example:
name = "Mike" print(f"Hello {name.upper()}") # Hello MIKE
It is also possible to join two Strings with the "+" (plus) operator
name = "Mike" print("Hello " + name) # Hello Mike
Ignore special characters
Using the “r” prefix displays the contents of the String as is. That is to say without taking into account special characters (ex. \n)
message = r"https:\\example.com\index.html" print(message) # https:\\example.com\index.html
Here the use of the “r” prefix allows the path to be displayed correctly. Otherwise Python would have interpreted the double backslash "\\" as a special character.
String over multiple lines
Python also allows you to create a String exactly as entered even with line breaks. To do this you must use three quotes.
message = """This is multiline String that is easier to read and assign""" print(message) # This is multiline # String that is easier to # read and assign
As a result, reading the String in the code is very explicit.
Retrieving part of String
Python allows to retrieve only part of the String.
A String variable is indeed composed of several characters that can be read one by one or in groups. Here is some example
product = "iPhone 12" # position 012345678 print(product[0]) # i print(product[2]) # h print(product[1:6]) # Phone
Each character is associated with a position number. The first position is always 0. To access a particular position, it must be specified between square brackets []
Note that it is not possible to modify the String in this way. Any attempt to modify will return an error.
product = "iPhone 12" product[0] = "e" # TypeError: 'str' object does not support item assignment
It is possible to access the characters of the String from the end.
message = "Hello World"; print(message[-1]) # d
Position -1 represents the last character, -2 the penultimate, and so on.
When retrieving several characters, if one of the two positions is omitted, the retrieval will be from the beginning of the String
message = "Hello World"; print(message[:5]) # Hello print(message[-5:]) # World
String Manipulations
Python has several functions that allow you to transform the contents of the String. Here are a few :
Uppercase and lowercase conversion
name = 'Mike Taylor' print(name.lower()) # mike taylor print(name.upper()) # MIKE TAYLOR
Remove white spaces before and after a String
message = " Hello World " print(message.strip()) # "Hello World"
Return the number of characters in the String
name = "Mike Taylor" nb_char = len(name) print(nb_char) # 11
Change the first letter of a String to uppercase
name = "mike" name_cap = name.capitalize() print(name_cap) # Mike
Change the first letter of all words in a String to uppercase
name = 'mike Taylor' name_title = name.title() print(name_title) # Mike Taylor
Check if the String starts or ends with a particular character or characters
name = 'Mike' print(name.startswith('M')) # True print(name.endswith('ke')) # True
Replace part of the String with other characters
name = "Mike" new_name = name.replace('M', 'P') print(new_name) # Pike
Return the position of a specific character
name = "Mike" print(name.find('k')) # 2
Note that the first position always starts at zero and if the character is not found, the function will return -1
Conclusion
That's all for today, I'll post a new article every other day or so. To make sure you don't miss anything, you can follow me on twitter: Follow @ EricTheCoder_
Top comments (0)