While the 'if var:' statement works correctly in Python IDE, it is not behaving the same when run from a Python script. Any idea why is that?
Code to reproduce the problem:
%%writefile if_var.py
import argparse
def if_var_fn(Flag):
    if Flag:
        print(f'Flag is True: {Flag}')
    else:
        print(f'Flag is False or None: {Flag}')
        
if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Process Flag argument.')
    parser.add_argument('Flag_', help='Enter Flag value')
    args = parser.parse_args()
    print(f'Value of args.Flag_: {args.Flag_}')
    print('Running if var ...')
    
    if_var_fn(args.Flag_)
The problem is that the passed argument always takes only one value: True
(base) /.../: python if_var.py 1
Value of args.Flag_: 1
Running if var ...
Flag is True: 1
(base) /.../: python if_var.py 0
Value of args.Flag_: 0
Running if var ...
Flag is True: 0
 
    