def first(town): town['name'] = town['name'][::-1] return town def second(town): town['name'] = town['name'].upper() return town town = {'name': 'Moscow', 'population': '10000000'} town = first(town) town = second(town) print(town['name'])
И в самом деле, если мы сделаем так:
def first(): town['name'] = town['name'][::-1] def second(): town['name'] = town['name'].upper() town = {'name': 'Moscow', 'population': '10000000'} first() second() print(town['name'])
Почему функции видят то, что по идее должно быть за пределами области видимости?
Я ведь не делал global town
Как сделать что бы всё было на “чистых” функциях?