Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 01.06.2016
Сообщений: 80
1

Почему в теле функции ее аргумент не изменился?

03.10.2017, 19:49. Показов 633. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
def replacer(source_tuple, replace_with):
    source_tuple = replace_with
    
 
user_info = ('Guido', '31/01')
replacer(user_info, ('Larry', '27/09'))
 
print(user_info)
('Guido', '31/01')
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2017, 19:49
Ответы с готовыми решениями:

Это переменные или аргумент стрелочной функции? Почему?
Код: loadScript("/article/promise-chaining/one.js").then(script1 => { ...

Почему при попытке считать данные с 'Entry' и поместить их как аргумент функции, выдает ошибку?
from tkinter import * class Window: def __init__(self, width, height): ...

Прочитал и записал файл. Почему контент изменился?
Добрый день. Пытаюсь разобраться с чтением/записью файлов. Вот мой код: f=open("1.xml","r",...

Сайт изменился но Google и Yandex он по прежнему не изменился
Я полностью поменял название своего сайта но в поисковике главная страница сайта и все остальные...

Изменился бекграунд с белого на фон хедера и футера, не понятно почему
Здраствуйте, у меня возникла вот такая проблема: У меня есть сайт в разработке, и когда я...

4
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
03.10.2017, 19:53 2
Franek, потому, что ты присваиваешь новое значение локальной переменной (которая существует только внутри функции), а проверяешь состояние глобальной.
0
2 / 2 / 1
Регистрация: 01.06.2016
Сообщений: 80
03.10.2017, 19:58  [ТС] 3
alex925, спасибо.
0
4939 / 3292 / 1140
Регистрация: 21.03.2016
Сообщений: 8,076
03.10.2017, 20:09 4
кто сказал что не изменился? вы же в принт выводите глобальную переменную user_info а в функции меняете локальную переменную source_tuple
Python
1
2
3
4
5
6
7
8
9
def replacer(source_tuple, replace_with):
    source_tuple  = replace_with
    print(source_tuple)
    
user_info = ('Guido', '31/01')
replacer(user_info, ('Larry', '27/09'))
print(user_info)
('Larry', '27/09')
('Guido', '31/01')
0
2 / 2 / 1
Регистрация: 01.06.2016
Сообщений: 80
03.10.2017, 20:23  [ТС] 5
Semen-Semenich, спасибо. Я понял это, когда ответили выше. Извиняюсь, сразу не обратил внимание, что на экран выводится user_info, и не возвращается source_tuple.
0
03.10.2017, 20:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2017, 20:23
Помогаю со студенческими работами здесь

Почему не срабатывает функция в теле цикла while?
Добрый вечер! У меня есть функция инкремента, использующая только битовые операции. int...

Почему теле 2 по-детски меряется интернетом?
Почему теле 2 по-детски меряется интернетом?

Как будут инициализированы переменные в теле функции и вне тела функции?
Здравствуйте. Подскажите, пожалуйста, как будут инициализированы переменные в теле функции и вне...

Почему изменился в отображение программы Ipv4 на Ipv6, что нужно изменить чтобы восстановить
На виртуально машине стоит Windows XP, основная Windows 7. Провели сеть - мост. Через...

Массив указателей на функции, как аргумент функции. Вызов функции
Добрый день друзья. Есть вот такой код #include <iostream> using namespace std; double...

PHP. Почему то ничего не выводит в теле странице, только шапка и подвал
Подскажите плиз... у меня почему-то не выводит на экран не то и не другой файл phtml, то есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru