# SOFTWARE ENGINEERING AT BLOCKFUSE LABS: WEEK 5
I would not call myself a Pythonista at the moment but I am very much on my way to being one! Week 5 at the hub very well made sure of that. In week 5 we started digging deeper into python as continued from the previous week where we were introduced to python data types.
**WEEK 5 RECAP COURSES/TOPICS**
**DATA TYPES**
**Constructor Functions:**
While looking at data types we went into constructor functions in python; These functions help us to instantiate a values types using keywords `like int, float, bool` and `str`. When a variables value is wrapped inside a constructor function, the values type is automatically influenced by the constructor; in most cases changing it from one type to another.

Using constructor functions to manipulate operation types.
**STRINGS**
**String formatting and manipulation:**
We looked at the string data type and various methods to format it. Strings by definition are a sequence of characters, these could be as a literal or values of variables and they are denoted or identified by double quotes `"String", "123"`. Strings are stored in python in an array format with every character having an index and these characters can be accessed using these index numbers which begin from zero "0" to nth, depending on the length of the string.

Printing the value of the variable; company_name using indexes
**Slicing:**
You can return a range of characters in python using this method slicing. The methods extracts specific portions of string characters we want and returns a new rendition. slicing can be done using the start and end values; with or without them physically in place.

Using the start and end(stop) values to slice.
You can also slice a string using negative start and end points. While using this negative method, the 0 index is not included and it always starts from -1.

Using negative index to slice
**`.lower(), .upper(), .capitalize()`:**
These are string formatting methods used to manipulate the outlook or display of strings; just liked I used them in the screenshot above and below

Using `.capitalize()`
**`.split(" ")`**
Sometimes data given in string format can be in large quantity; accessing these characters can be quite tasking and tedious but the` .split(" ")` method helps in making this easier by converting the string data type into a list data type. The `.split(" ") `accepts an argument which is called a delimiter; This delimiter can be a character or a sequence that separates elements in a list.

Using the `.split(" ")`
**CONCLUSION**
We covered a lot of string formatting methods and the ones listed in this article are not the only ones in python, string is a very broad data type and covering all of it will be time consuming. Also to note, the solutions to the questions and code snippets are of my own choosing and method, some you may find more efficient than others but just know that there are several ways to approach a problem and it must not be done like mine.