0

Below is my code. Here, get_time() is returning the same value even after 5 secs, why is that so?

from datetime import datetime

import time


def get_time(time_now=datetime.now()):
    print('Current time', time_now)


get_time()
time.sleep(5)
get_time()
Maran Sowthri
  • 829
  • 6
  • 14

1 Answers1

2

Python’s default arguments are evaluated once when the function is defined, not each time the function is called. So if you want time_now to be evaluated in each function call then you have to do something like this,

def get_time():
    print('Current time', datetime.now())
Abdul Niyas P M
  • 18,035
  • 2
  • 25
  • 46