### Description

`ShortCircuitOperator` does not return any value regardless of the result. 

Still, if `condition` evaluates to `falsey`, it can be useful to store/save the result of the condition to XCom so that downstream tasks. can use. 
Many objects evaluates to True/False, not just booleans - see  https://docs.python.org/3/library/stdtypes.html

### Use case/motivation

The change is trivial and would allow to combine a Python task and ShortCircuit into one.:

1. if callable returns None (or False) -> skip
2. if callable returns non-empty object (or True) -> continue. The proposed change is to pass on the condition to XCom.

### Related issues

_No response_

### Are you willing to submit a PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

tests/operators/test_python.py
pass
        version = self._invert_python_major_version()
        with pytest.raises(AirflowException):
            self._run_as_operator(f, python_version=version, op_args=[1])
        with pytest.raises(AirflowException):
            self._run_as_operator(f, python_version=version, op_kwargs={"arg": 1})
    def test_without_dill(self):
        def f(a):
            return a
        self._run_as_operator(f, system_site_packages=False, use_dill=False, op_args=[4])
    def test_string_args(self):
        def f():
            global virtualenv_string_args
            print(virtualenv_string_args)
            if virtualenv_string_args[0] != virtualenv_string_args[2]:
                raise Exception
        self._run_as_operator(f, python_version=self._invert_python_major_version(), string_args=[1, 2, 1])
    def test_with_args(self):
        def f(a, b, c=False, d=False):
            if a == 0 and b == 1 and c and not d:
                return True
            else:
                raise Exception
        self._run_as_operator(f, op_args=[0, 1], op_kwargs={'c': True})
    def test_return_none(self):
        def f():
            return None
        task = self._run_as_operator(f)
        assert task.execute_callable() is None
    def test_return_false(self):