2

first I define a function c1() in a file called CT.py as below

def c1():
    result = 1
    return result

so now if I type the following code in python console

from CT import c1

then run c1(), it will give a value of 1

however, if now I change CT.py as below (change declaration of c1) and save it

def c1():
    result = 100
    return result

now if I type the following code in python console

from CT import c1

and run c1(), why do I still get a value of 1?

Why won't it import the new c1 function whose resulting value should be 100?

To get the new c1 function, it seems that I have to close the python console (or pycharm) and run the code again.

Is there a way to reload the function without rerun the python console in pycharm?

Thank you in advance!

dd23
  • 17
  • 6
AAA
  • 695
  • 1
  • 7
  • 21
  • 1
    Possible duplicate of [Reloading a function within a module](https://stackoverflow.com/questions/48038180/reloading-a-function-within-a-module) – FlyingTeller Jul 09 '18 at 06:57

1 Answers1

0

You can reload using this code:

reload(c1)
from CT import c1

This answer may help.

Documentation

dd23
  • 17
  • 6
  • 1
    You should flag duplicates, not restate the answer – FlyingTeller Jul 09 '18 at 06:57
  • Thanks, dd23. What if I have updated many functions in CT.py? I need to type reload for each of them? i.e reload(c1) reload(c2) ... reload(cN)... Are there a way to do this in batch? – AAA Jul 12 '18 at 04:10