python字典里变量指向的是key,为什么会打印出value?

Python编程:从入门到实践.美.Eric
6.3.2
里的一段代码

favorite_languages = {
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python'
    }
friends = ['phil','sarah']

for name in favorite_languages.keys():
    print(name.title())
    if name in friends:
        print("Hi " + name.title() +
              ", I see your favorite language is " +
              favorite_languages[name].title() + "!")


#favorite_languages[name].title()  (为什么这里变量name打印出来的是value?还有为什么这里的name要用方括号?)

这里favorite_languages是一个字典,favorite_languages.keys()是以列表的形式返回该字典中所有键的信息

for name in favorite_languages.keys():这条程序是遍历字典所有的键信息,每个键临时用变量name表示,所以 print(name.title())是打印不在列表friend中的
键的'标题化'形式,
favorite_languages[name].title() 这条程序中name就是上边遍历字典的键,字典中dict[key]=value,调用键时会返回相应的值,方括号时调用格式