Typeerror tuple object is not callable

Typeerror tuple object is not callable

391 просмотра

5 ответа

36 Репутация автора

Я получаю такую ​​ошибку, когда запускаю свой код, но я не понял, что это значит, я пытаюсь найти в Google похожий случай, но ничего не нашел. Это ошибка, которую я получаю, когда нажимаю кнопку «Нет ответа».

и вот код, который я написал:

Ответы (5)

1 плюс

859 Репутация автора

У вас есть столкновение пространства имен. Как только вы говорите data = data() , функция data() исчезла, поэтому, когда вы вызываете ее с помощью values = data() , вы пытаетесь вызвать значение, которое она возвратила ранее.

Обратите внимание, я также

  • Удалены точки с запятой (они не нужны в Python)
  • snake_cased data_check функция (это соглашение)
  • Используется распаковка кортежей вместо индивидуального назначения data_check() , это удобный ярлык

Автор: robinsax Размещён: 26.12.2018 07:53

плюса

6328 Репутация автора

Сделайте что-то вроде этого:

Проблема с кодом, что вы называли в tuple качестве функции , следовательно , ошибка: ‘tuple’ object is not callable .

-1 плюса

197 Репутация автора

Вы должны использовать raw_input , raw_input вернется , и с input , если вы хотите ввести строку, вы должны использовать так:

1 плюс

10329 Репутация автора

На одном уровне вы допустили ошибку, потому что вы определили data как функцию, переопределили data как возвращаемую функцией и в конце концов попытались использовать data в качестве функции, которую вы определили вначале (и Python пожаловался, что вы пытаетесь использовать кортеж в качестве функции: TypeError: ‘tuple’ object is not callable ). Для решения вашей проблемы достаточно использовать разные имена для этой функции и информацию об игроке.

На другом уровне вы назвали свою функцию неправильно. Функции представляют действия , поэтому вы должны попытаться использовать имена действий для них. dataCheck это хорошо, (это, или check_data если вы хотите подчеркнуть глагол), data это не хорошо, get_data может быть хорошо, но get_player_data даже лучше, в сочетании с check_player_data .

Читайте также:  Как изменить ключ активации office 2013

В качестве первой сноски вместо и name=data[0]; т. Д. Более идиоматично распаковывать весь кортеж / список, как в a, b, c = data .

Во-вторых, dataCheck вы не получаете результат . вам data нужно редактирование, которое вы получаете новое, values но data не будет изменено вашей функцией.

В- третьих , и , наконец, если вы хотите изменить data в checkData , не делать

потому что это создаст локальное назначение, которое не отражается на уровне пространства имен вызывающего.

Автор: gboffi Размещён: 26.12.2018 08:26

1 плюс

21 Репутация автора

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

Есть функция, при вызове её через GET запрос, она показывает нынешнею дату и время.

При запуске функции, появляется ошибка — TypeError: ‘int’ object in not callable

1 Ответы

datetime.year
Between MINYEAR and MAXYEAR inclusive.

datetime.month
Between 1 and 12 inclusive.

datetime.day
Between 1 and the number of days in the given month of the given year.

datetime.hour
In range(24).

datetime.minute
In range(60).

Как видно из справки — данные поля не являются функциями и при обращении к ним не нужны ()

В то время как timetz и weekday — это методы и в их случае нужны.

код программы (перевод времени из одного типа в другой)

in_time = (int ( "raw_input" ( "Input time value:" ) ) )
in_tipe = (str ( "raw_input" ( "Input value type (s.m.h):" ) ) )
convert_to = (raw_input ( "Input out value type (s,m,h):" ) )

if int_type == "h":
if convert_to == "s":
result = in_time * 60 * 60

Читайте также:  Как сделать из негатива позитив в фотошопе

if convert_to == "m":
result = in_time * 60

if in_type == "m":
if convert_to == "s":
result = in_time * 60

if convert_to == "h":
result = float (in_time) / 60

print ("Convertation result:")
print (in_time, in_type, " equal ", result, convert_to)

пользуюсь python 3.3 и sublim text 2, не понимаю в чем причина ошибки

1) Если имелась ввиду функция raw_input, то двойные скобки тут не нужны.
2) В Python 3.0 и выше функция raw_input переименована в input
3) Есть еще пара неправильно написанных переменных

in_time = (int ( input ( "Input time value:" ) ) )
in_type = (str ( input ( "Input value type (s.m.h):" ) ) )
convert_to = (input ( "Input out value type (s,m,h):" ) )

if in_type == "h":
&nbsp&nbsp&nbsp&nbspif convert_to == "s":
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspresult = in_time * 60 * 60

if convert_to == "m":
&nbsp&nbsp&nbsp&nbspresult = in_time * 60

if in_type == "m":
&nbsp&nbsp&nbsp&nbspif convert_to == "s":
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspresult = in_time * 60

if convert_to == "h":
&nbsp&nbsp&nbsp&nbspresult = float (in_time) / 60

Ссылка на основную публикацию
Samsung galaxy j7 duo 2018
Samsung Galaxy J7 2018 года имеет форм-фактор фаблета благодаря тому, что диагональ его экрана равна 5.5 дюймам. Физическое разрешение матрицы...
Macrium reflect инструкция на русском
Windows Linux Mac OS Windows Phone Android Меню сайта Партнеры Статьи » Практикум Macrium Reflect инструкция пользователя Macrium Reflect —...
Mad moxxi borderlands 2
Неигровой персонаж в "Borderlands", "Borderlands 2" и "Borderlands: The Pre-Sequel", а также в "Poker Night 2" и "Tales from the...
Samsung galaxy radio fm
"FM радио (Radio FM)" – бесплатная программа для андроид, которая пригодится каждому радиолюбителю. Приложение отличается от себе подобного ПО полной...
Adblock detector