Interested in Python for Finance? Follow me on Instagram for daily updates!

Let me just start by saying this 100 Days of Code Python bootcamp by Dr. Angela Yu has been one of the best academic purchases I have made in my life. As its name suggests, the bootcamp is designed to be finished in 100 days. The length of each day varies, but there are 60 hours worth of video in total. However, depending on the difficulty of the exercise or project, the length of the video does not fully translate to how long the day will be (e.g., if I struggle with the concept or exercise, the day will be longer).

RELATED POST – Learn Python for Finance As An Accountant — Why & My First Plan

Learning Python As An Accountant – 3 Months In

I came across this Udemy course a couple of months ago and made a mental note to check it out later. I chose not to pay for any Python course or bootcamp until I was certain I was committed to learning this new skill. As a result, I took advantage of resources that were free (to me anyway). I spent less than 6 hours on the Become a Python Developer learning path before I decided to give up on it. I did not want to give up on Python but the course material was too dry for me to stay engaged after a long day of work. I also took a break to work on my Etsy shop.

When I was ready to get back to Python, a reader who is also an accountant recommended Corey Schafer’s YouTube channel to me. One video in, I already knew why he said it was the best Python YouTube channel he found. Corey is engaging and explains the concepts clearly. I managed to finish most of his Python Beginner Tutorials in just over a week. I barely started his Pandas playlist when I decided to look around for the best next step. I was Googling when I found Angela’s Udemy Python bootcamp again. Udemy was also running a Black Friday sale when I looked so I figured it will not hurt to spend an equivalent of one meal on an extremely highly-rated Python course.

Angela Yu’s 100 Days of Code Python Bootcamp – Day 1 to 10

In addition to watching the tutorials and completing all the challenges (and some were indeed CHALLENGES), I made handwritten notes. The notes were useful as soon as the next day as the daily challenges require knowledge from prior lessons. Note, what I am sharing below is strictly what I learned and how I understood them as a beginner.

What Did I Learn From The First 10 Days of The Python Bootcamp?

Obviously, I learned a lot about the Python language itself. However, this is not what this section is about (the next section dives into the technicals). This section is about what I learned beyond the language. More importantly, my thoughts as an accountant learning Python.

The Python Bootcamp Is Like Workout For The Brain

The bootcamp has been fun but it has not been easy. Angela’s course is designed so that you are solving mini problems every other video and a project at the end of the day. Since I have been taking weekends off, I mostly did the bootcamp in the evening. It was winter when I started so it would often be dark by the time I started the first video. So, the biggest motivating force has been the satisfaction I would get when I solve a problem or complete a project. Angela’s motivational video at the end of each day has also been of great help.

The Python Bootcamp Has Been Forcing Me To Think Logically

I never considered myself a logical thinker because I did not fully understand what logical thinking meant. Thanks to the bootcamp, I realized how much my job as an accountant relied on logical thinking skills. At work, I have been working to move our commission calculation process from a web-based software to good ol’ Excel. As a result, I was building formula after formula to make the calculation as automated as possible.

While I was going through the bootcamp, I realized the more I understood the logic of what I was trying to achieve with my formula, the cleaner my formula can be. As a rule of thumb, a simple formula is always preferred over a long-winded complex concoction (e.g., a cell with multiple formulae). This is because it is more user-friendly if a reviewer can trace the work and calculations without spending too much time to understand what the cell is doing or trying to do.

Is Python Really Going to Help My Finance Career?

I spent more time trying to look for a definite answer in the past 3 months. I wish I can convince you the answer is yes by showering you with success stories or examples. Unfortunately, I am not there yet. As much as I tried, there simply were not a lot of well-documented examples of accountants/CPAs getting promotions or huge raises after learning Python.

However, coding hasn’t been a skill reserved for software engineers or hackers in a long time. People have been coding as a hobby and schools have been teaching the next generation coding the same way I was taught about geography and history. In my opinion, learning how to code has no downside. At the very least, it serves as time better spent than binging an entire season of Succession in one day (which, by the way, is awesome). I am not saying you should stop watching shows (I know I will never). What I am saying is if you got time and wanted to check out what coding is all about, this brain workout simply will not hurt.

What Did I Learn About Python?

I am not going to list everything I learned over the 10 days but I am sharing some highlights of my lessons so far.

In the first two days, I learned about data types (integer, float, strings and Boolean) and functions that convert objects into specific data types (str(), float() and int()). I also learned a useful function called type() which allow me to check the type of the object as it is not always obvious to me as a beginner. Then, I learned the following useful shorthand:

score = 0
score += 1 instead of score = score +1
score = 1

I was then introduced to f-string which is a useful formatting syntax available in Python 3. Below is an example:

user_name = input(“What is your name? “)
print(f”Hello, {user_name}”)

The f-string allows the print output to be dynamic depending on what the user_name is.

I also learned the difference between format and round().

“{0:.2f}”.format(33.6000) would return 33.60
round(33.6000,2) would return 33.6

On Day 3, I was introduced to the if, elif & else statements. In addition, having an understanding comparison operators is ideal so I can fully utilize the if statement:

> greater than
< smaller than
<= smaller or equal than
>= greater or equal than
== equal to
!= not equal to

I also learned a neat trick to avoid confusing Python when you need to include ‘ in a string.

print(‘You’re welcome.’) would return an error as Python would think second ‘ as the end of the string
print(‘You\’re welcome.’) or print(“You’re welcome.”) would both work

On Day 4, I learned how to import the built-in module random. It allowed me to use a variety of functions within the module such as:

import random

character = random.choice(‘chocolate’)
print(character)
#would return a random character within the string

number = random.randint(1, 100)
print(number)
#would return a random integer from 1 to 100

I also learned about list.

city = [“Paris”, “Hong Kong”, “Tokyo”, “Toronto”] #is a list called city

example (1) if I want to change the first item on the list from Paris to Seoul:
city[0] = “Seoul”

example (2) if I want to add Seoul to the end of the list instead:
city.append(“Seoul”)

example (3) if I want lists inside of a list called travel_log (called nested list):
year_of_visit = [2018, 2019, 2020]
travel_log = [city, year_of_visit]

On Day 5, I was introduced to the for loop. This was a difficult concept for me to grasp but has proven to be very versatile already.

continue with the list called city from the last example

example (1)
for x in city:
print(f”I want to visit {x}”)

Outcome: Python will loop through the entire list of cities and print “I want to visit (insert city’s name)” for every city on the list

example (2)
for number in range(1, 10):
print(number)


Outcome: Python will print the number 1 to 9 (as it excludes the ending number)

On Day 6, I learned how to create my own function!

def my_function():
print(“Hello World!”)

my_function()
my_function()
my_function()
my_function()


Outcome: Python will print Hello World 4 times as the function has been called 4 times

But what if you need to run the function 15 times and you don’t want to type my_function the same number of times (as it will look cluttered)?

for x in range(15):
my_function()


Outcome: Python will print Hello World 15 times as the function will be called 15 times as the for loop runs through 15 times

However, Day 6 did not stop there. Angela’s video taught me how to use while loop as well. Before that though, I was made aware of the main difference between for loop and while loop:

FOR LOOP: Python will do something to each item on the list/ in the range
WHILE LOOP: Python will do something while something remains true

So, how can you use while loop?

to_continue = True

while to_continue: #means while to_continue is True
print(“Hello World.”)
user_input = input(“Do you want it to print another Hello World? ‘y’ for yes and ‘n’ for no.”)
if user_input == ‘n’:
to_continue = False
#means the while loop will end

Outcome: Python will print Hello World once and ask the user if the user wants it to print another Hello World. If the user enters ‘y,’ it will print another Hello World before asking the same question. If the user enters ‘n,’ the program will end.

For Day 7, the challenge was to create the game hangman. I really had to combine what I learned so far: for/while loop, If/else statements, data types, functions etc. The challenge was quite difficult but it helped solidify my limited Python knowledge.

On Day 8, I learned even more about function. This time, I learned how to allow for input within a function I create.

def introduction(name, age): #defining a function called introduction
print(f”My name is {name}. I am {age} years old.”)

introduction(“Jennifer”, “30”)
#callling the function and feeding Jennifer and 30 as the inputs name and age, respectively

Outcome: Python will print the string “My name is Jennifer. I am 30 years old.”

On Day 9, I was introduced to another Python data structure called dictionary. Unlike list, dictionary has both a key and a value.

to_do = {“grocery”: “apples”, “book”: “168 Hours”} #grocery and book are keys, apples and 168 hours are values

example (1) to edit the value for grocery (the key):
to_do[“grocery”] = “orange”


Outcome: apples will be replaced by orange

example (2) to add a key and value pair to to_do:
to_do[“chore”] = “deposit cash”

Outcome: the dictionary called to_do will now have 3 keys (grocery, book, chore) with its corresponding value (orange, 168 hours, deposit cash)

example (3) to add a dictionary and a list to to_do:
chores = [“vacuum”, “mop”, “clean windows”]
books = {“fiction”: “1984”, “non-fiction”: “A Promised Land”}

to_do[“chore”] = chores
#to assign the list chores to the key ‘chore
to_do[“book”] = books
#to assign the dictionary books to the key ‘book’
print(to_do)


Outcome: Python will print the dictionary called to_do this way:
{‘grocery’: ‘apples’, ‘book’: {‘fiction’: ‘1984’, ‘non-fiction’: ‘A Promised Land’}, ‘chore’: [‘vacuum’, ‘mop’, ‘clean windows’]}

I was back to learning about function on Day 10. This time, instead of input, Angela taught me how to define a function with output:

def format_name(full_name):
return full_name.title() #the title() method returns a string where the first character in every word is capitalized

f_name = format_name(“jennifer chun”) #since I used ‘return’ in my function, the output of the format_name function is now defined once the function is run
print(f_name)

Outcome: Python will print the input in the title format (the first character of each word is capitalized), meaning Jennifer Chun instead of jennifer chun

%d bloggers like this: