Вызвать функцию из цикла

179 просмотра
0
0 Комментариев

помогите пожалуйста исправить скрипт

import datetime
import time
 
def nowTime():
    nowTime = datetime.datetime.now()
    return str(nowTime)
 
while True:
    nowTime = nowTime()
    time.sleep(1)
    print(nowTime)

проблема в том, что функция nowTime() не вызывается. сообщение об ошибке такое:

Traceback (most recent call last):
File
«C:\VINT\OPENSERVER\OpenServer\domains\localhost\python\parse_html\2_vk_fiends\q.py»,
line 11, in
nowTime = nowTime() TypeError: ‘str’ object is not callable


Добавить комментарий

1 Ответы

Python Опубликовано 12.12.2018
0

В питоне все — объект

nowTime = nowTime()

В переменную nowTime в первое прохождение цикла записывается строчка. А во второе прохождение цикла эта переменная вызывается как функция, но так как она теперь строка, а не функция, она не может быть вызвана.

Если вы помните, то doc у функций вызывается как свойство объекта:

>>> print len.__doc__
len(object) -> integer
 
Return the number of items of a sequence or mapping.

И точно так же можно убедиться, что переменная содержит функцию

def nowTime():
    nowTime = datetime.datetime.now()
    return str(nowTime)
 
>>> nowTime
<function nowTime at 0x02A9D470>

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up