### 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
raise Exception
        with pytest.raises(CalledProcessError):
            self._run_as_operator(f)
    def test_python_2(self):
        def f():
            {}.iteritems()
        self._run_as_operator(f, python_version=2, requirements=['dill'])
    def test_python_2_7(self):
        def f():
            {}.iteritems()
            return True
        self._run_as_operator(f, python_version='2.7', requirements=['dill'])
    def test_python_3(self):
        def f():
            import sys
            print(sys.version)
            try:
                {}.iteritems()
            except AttributeError:
                return
            raise Exception
        self._run_as_operator(f, python_version=3, use_dill=False, requirements=['dill'])
    @staticmethod
    def _invert_python_major_version():
        if sys.version_info[0] == 2:
            return 3
        else:
            return 2
    def test_wrong_python_version_with_op_args(self):
        def f():