import subprocess
var = 'my_variable_name_i_want_to_check'
p = subprocess.Popen('declare -f ' + var, shell=True, stdout=subprocess.
    PIPE, stderr=subprocess.PIPE)
p.communicate()
if p.returncode == 0:
    print('function')
else:
    print('variable')
Есть ли способ в Python проверить, является ли запись в os.environ переменной или функцией оболочки?