Dicionários globais não precisam de palavra-chave global para modificá-los? [duplicado]

Duplicata Possível:
Por que a palavra-chave global não é necessária neste caso?

Eu me pergunto por que eu posso mudar o dicionário global semglobal palavra-chave? Por que é obrigatório para outros tipos? Existe alguma lógica por trás disso?

Por exemplo. código:

#!/usr/bin/env python3

stringvar = "mod"
dictvar = {'key1': 1,
           'key2': 2}

def foo():
    dictvar['key1'] += 1

def bar():
    stringvar = "bar"
    print(stringvar)

print(dictvar)
foo()
print(dictvar)

print(stringvar)
bar()
print(stringvar)

Dá os seguintes resultados:

me@pc:~/$ ./globalDict.py 
{'key2': 2, 'key1': 1}
{'key2': 2, 'key1': 2}  # Dictionary value has been changed
mod
bar
mod

onde eu esperaria:

me@pc:~/$ ./globalDict.py 
{'key2': 2, 'key1': 1}
{'key2': 2, 'key1': 1}  # I didn't use global, so dictionary remains the same
mod
bar
mod