python/fun.py

def one(x):
    print(f"one({x})")
    def elf(x):
        print(f"elf({x})")
    elf(f"one({x}) calls elf")

import inspect
def lineno():
    """Returns the current line number in our program."""
    return inspect.currentframe().f_back.f_lineno
from datetime import *
now = datetime.now()
sw = now.second % 2 == 0
print(f"sw={sw} now={now} MAXY {MAXYEAR}")
MAXYEAR *= 3
print(f"sw={sw} now={now} MAXY {MAXYEAR}")
if sw:
    def twoSw(x):
        print(f"sw=True twoSw({x})", lineno())
else: 
    def twoSw(x):
        print(f"sw=False twoSw({x})", lineno())
one('call1')
print(lineno())
twoSw('call3')