<jupyter_start><jupyter_text>In the following cell, `b` is not defined yet:<jupyter_code>a = b + 1
a<jupyter_output><empty_output><jupyter_text>But the variable `a` *is* defined, its *value* is not (`None`).Because `b` was used in the definition of `a`, `b` is now implicitly defined, and its value is also undefined.<jupyter_code>b<jupyter_output><empty_output><jupyter_text>Now let's give a value to `b`.<jupyter_code>b = 0<jupyter_output><empty_output><jupyter_text>Its representation in cell 2 is immediately updated, as is the representation of `a`, which depends on `b`, in cell 1.Each time we change `b`'s value, cells 1 and 2 update accordingly.<jupyter_code>b = 1
b = 2<jupyter_output><empty_output><jupyter_text>We can of course build much more complex data flows, by defining variables on top of others.<jupyter_code>from math import sin, cos, pi
y = sin(x) + cos(x) + a<jupyter_output><empty_output><jupyter_text>The directed graph can be visualized.<jupyter_code>y.visualize()
y
x
x = 0
x = pi / 2
x = pi
x = 3 * pi / 2
x = 2 * pi
b = 3<jupyter_output><empty_output><jupyter_text>For a variable to be redefined, it must be deleted first. Previous representations still refer to the previous definition, though (see cell 7).<jupyter_code>del y
y = 2 * a
y
b = 4<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10667689946277821, 'fraction_numerical': 0.013046815042210284, 'mean_word_length': 5.791666666666667, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '306761', 'license': 'MIT', 'n_tokens_mistral': 485, 'n_tokens_neox': 460, 'n_words': 159, 'path': 'examples/reactivity.ipynb', 'repo_name': 'davidbrochart/quenelles', 'size': '1303'}