Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
1 / 2 / 1
Регистрация: 27.01.2020
Сообщений: 60

'str' object is not callable Почему?

31.01.2020, 18:08. Показов 7116. Ответов 21

Студворк — интернет-сервис помощи студентам
Я конечно туплю но не думал что на столько
Пишу типа Адресную книгу
При выборе действия Посмотреть мои контакты вылезает ошибка 'str' object is not callable,но контакты показываются,но и программа вылетает\завершается..
Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import os
import sys
import time
print("---АДРЕСНАЯ КНИГА---")
 
def base():
    def add():
        which2 = input("Введите имя и фамилию контакта: ")
    def change():
        whatd = input("Введите действите что бы выбрать его: \nПосмотреть мои контакты\nДобавить контакт\nВвод: ")
        if whatd == "Посмотреть мои контакты":
            which = input("Нажмите Enter для входа в меню добавления или (Введите Контакты для просмотра контактов) : ")
            if which == "Контакты":
                print(contacts)
                return change()
            if which == "":
                return add()
            else:
                print("Завершение программы...")
                time.sleep(2)
                sys.exit
 
    def what():
        whatdo = input("Введите действие: \nПосмотреть мои контакты\nИзменить мои контакты\nВвод: ")
        if whatdo == "Посмотреть мои контакты":
            print("Ваши контакты:\n")
            print(contacts)
            return whatdo()
        if whatdo == "Изменить мои контакты":
            return change()
            
    contacts = {'Вадя Мусоров' : 'Телефон: 8800613461',
    'Жопа Генадьевна': 'Телефон: 7980307025',
    'Ибрагим Консервович': 'Телефон: 87297919645'}
    go = input("Введите Click что бы войти в контакты, или любое слово что-бы выйти из программы: ")
    if go == "Click":
        return what()
    else:
        print("Завершение программы...")
        time.sleep(2)
        sys.exit
 
 
            
        
 
 
 
base()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.01.2020, 18:08
Ответы с готовыми решениями:

'Str' object is not callable
Форумчане, привет! Извлекаю текст из ссылок между тегами a. Выводится сообщение об ошибке: for i in range(depth): ...

TypeError: 'str' object is not callable
Здравствуйте! Первый раз встретился с данной ошибкой, поэтому не бейте. def log_files_check_ls(command = "ls"): #...

TypeError: 'str' object is not callable. Как исправить?
import string file = open("input.txt", "r") db = file.readlines() file.close() file = open("output.txt", "w") i = len(db) - 1 ...

21
 Аватар для Semen-Semenich
5228 / 3474 / 1174
Регистрация: 21.03.2016
Сообщений: 8,301
31.01.2020, 22:59
Студворк — интернет-сервис помощи студентам
ну их все знать невозможно. каждый составляет свой алгоритм. главное понимать что и для чего делается. как это должно работать и учиться на своих ошибках.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
01.02.2020, 01:37
Примеры реализаций адресной книги из A Byte of Python
https://github.com/amitness/ad... address.py
на русском
https://github.com/Gregorsa/ad... er/Main.py

В обоих примерах не соблюден принцип "не хардкодить литеральные строки", но на для уровня начинающих, OK, можно и так.
Хотя бы guide style более-менее соблюдается и код читабелен.

Добавлено через 2 минуты
P.S. К вопросу примеров: github.com это просто гигантский сборник примеров кодов на любые задачи.
И там тоже есть поисковик.

Добавлено через 9 минут
Лайфхаки.
Как не писать километровые строки, которые трудно воспринимаются при чтении.
Тройные кавычки для строк (переносы строк сохраняются)
Python
1
2
3
4
5
6
7
8
9
10
>>> s="""Введите действите что бы выбрать его:
Посмотреть мои контакты
Добавить контакт
Ввод:"""
>>> print(s)
Введите действите что бы выбрать его:
Посмотреть мои контакты
Добавить контакт
Ввод:
>>>
Python
1
2
3
4
5
6
7
8
9
>>> s=("Очень длинная строка, которую нам "
"нужно написать без переносов строк, "
"однако, мы хотим ее написать в коде "
"компактно и красиво. Используем тот факт, что "
"интерпретатор автоматически склеивает строки, "
"которые находятся рядом.")  # чтобы интепретатор воспринял наши строки как одну, нужно обернуть их скобками
>>> print(s)
Очень длинная строка, которую нам нужно написать без переносов строк, однако, мы хотим ее написать в коде компактно и красиво. Используем тот факт, что интерпретатор автоматически склеивает строки, которые находятся рядом.
>>>
Длинные условия
Python
1
if t in registry and t not in cls.__mro__ and match not in cls.__mro__ and not issubclass(match, t):
писать нужно так (внутри скобок можно написать с переносами любую длинную инструкцию):
Python
1
2
3
if (t in registry and t not in cls.__mro__
                  and match not in cls.__mro__
                  and not issubclass(match, t)):
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.02.2020, 01:37
Помогаю со студенческими работами здесь

Как исправить ошибку TypeError: 'str' object is not callable?
Как исправить ошибку типа объекта. try: WebDriverWait(chrome, 60).until( ...

TypeError: 'str' object is not callable. Как исправить? - Python
import time, socket, threading, requests, urllib, socks def thread(numthreads, attack): threads = for n in...

Почему возникает ошибка object is not callable?
Отрывок кода def opr(self): path = File_location + "1_classes/" + self.lineEdit1.text() + '.txt' try: ...

Внезапный лишний аргумент: str ('str' object has no attribute 'Name')
Здравствуйте, уважаемые форумчане! Создаю простейшее приложение на Python: класс и его использование. Совершенно выбивает из колеи...

str' object is not callable
Пишу FeedBack бота для ВУЗа. Есть пару проблем: 1. При команде /mail не меняется тема сообщения. 2. Возникает ошибка " 'str' object is...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru