### 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
self.dag.create_dagrun(
            run_type=DagRunType.MANUAL,
            execution_date=DEFAULT_DATE,
            start_date=DEFAULT_DATE,
            state=State.RUNNING,
            external_trigger=False,
        )
        def func():
            return 'test_return_value'
        python_operator = PythonOperator(
            task_id='python_operator',
            python_callable=func,
            dag=self.dag,
            show_return_value_in_logs=False,
        )
        with self.assertLogs('airflow.task.operators', level=logging.INFO) as cm:
            python_operator.run(start_date=DEFAULT_DATE, end_date=DEFAULT_DATE)
        assert (
            'INFO:airflow.task.operators:Done. Returned value was: test_return_value' not in cm.output
        ), 'Return value should not be shown'
        assert (
            'INFO:airflow.task.operators:Done. Returned value not shown' in cm.output
        ), 'Log message that the option is turned off should be shown'
class TestBranchOperator(unittest.TestCase):
    @classmethod
    def setUpClass(cls):