### 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
def execute(self, context):
        assert context == get_current_context()
def get_all_the_context(**context):
    current_context = get_current_context()
    assert context == current_context._context
@pytest.fixture()
def clear_db():
    clear_db_runs()
    yield
    clear_db_runs()
@pytest.mark.usefixtures("clear_db")
class TestCurrentContextRuntime:
    def test_context_in_task(self):
        with DAG(dag_id="assert_context_dag", default_args=DEFAULT_ARGS):
            op = MyContextAssertOperator(task_id="assert_context")
            op.run(ignore_first_depends_on_past=True, ignore_ti_state=True)
    def test_get_context_in_old_style_context_task(self):
        with DAG(dag_id="edge_case_context_dag", default_args=DEFAULT_ARGS):
            op = PythonOperator(python_callable=get_all_the_context, task_id="get_all_the_context")
            op.run(ignore_first_depends_on_past=True, ignore_ti_state=True)
@pytest.mark.parametrize(
    "choice,expected_states",
    [