Depth and breadth first search
Small syntactical changes

Bfs should at least be bfs. Some would probably argue that you should spell out depth_first_search and breadth_first_search entirely. I personally like small names,  but regardless, the capital B should not be there.

You wrote this one time:

if visited[i] == False:


And used the correct idiom the second time:

if not visited[i]:


Performance

According to here, generating a list with multiplication is the fastest way, so change both occurrences of:

visited = [False for i in range(len(self.graph))]


to:

visited = [False] * len(self.graph)