Level 9 : What happens when we send() values into a generator?


def accumulator():
    total = 0
    while True:
        value = yield total
        if value is None:
            break
        total += value

gen = accumulator()
print(next(gen))
print(gen.send(10))
print(gen.send(20))
print(gen.send(None))

Author: SandhyaR | Tags: iterator | 1859+ Python FAQs | Share
encapsulation | name-mangling | directory-operations | for | input | formatting-with-strftime | frozenset | generator | __all__-attribute | append | indexing:-loc-vs-iloc | built-in-modules | application | feature | assignment-operator | introduction-to-python | handling-missing-values-(fillna,-dropna) | functional-programming | global-variable | identifier | class-and-instance-variable | assert | __future__ | comment | exponentiation | bitwise | command-line-parsing | iterable | binary-operation | class-and-object | advanced-file-operations | functions | boolean | boolean-masking | join | list-join | asyncio | file | built-in | binary | joining-and-merging-dataframes | call | asyncio-module | keyword | iterator | global-variable | enumerate() | class | filtering-and-indexing | list | filter-function | attribute | creating-and-starting-threads | function-argument | choice | floats | __init_subclass__ | error | inheritance | escape-operator | iterators | heap-memory | function | basic | dicts | list-comprehensions | generators-in-python | benefit | copy | bitwise-operator | conditional-statement | expand-tab | encoding | counter-function | assignment-operators | collection | dictionary-comprehensions | default-mutable-argument | exception-handling | dataframe-and-series-objects | boolean-and-non-boolean | center | classes | array | file_handling | yield | conversion | introduction-to-threads | string-formatting | file-handling | sorted | rollback | single-inheritance | sum() | list-indexing | sys | syntaxerror | error-handling | return-statement | pickling--unpickling | test-discovery | virtual-environment | descriptors | zip-function | identity-operators-(is,-is-not) | list-comprehension | oop | regular-expressions | docstring | polymorphism | inherit | namespace | mutable | sorting | installation | python_version | built-in-function | higher-order-function | data-types | defining-functions | memory-management | collections | else | range | head-and-tail | data-type-conversions | factorial-function | booleans | postfix | lambda-function | filter | zfill-function | gil | multiple-inheritance | access-modifier | operator | functional-programming | time-series-with-pandas | mapping-function | sorting-and-ranking | objects | staticmethod | strings | function-and-scope | deep-copy | loop | error-handling | datetime | list-methods-and-slicing | why-use-multiprocessing-over-threading?-(gil) | bitwise-operator | global-keyword | complex-number | regex | nested-loop | literal-characters-and-special-characters | data-structures | python-django | mathematical-function | loop-control-statements | formal-and-actual-parameter | data_structure | pseudocode | threading | id-function | list-mutation | set-operation | round-function | generators | else-statement | thread-safe-data-structures-(queue.queue) | oops | key-value-pairs | data-type | global | while-loops | exception | decimal | datetime.date,-datetime.time,-datetime.datetime | exception-handling | using-join()-and-is_alive()-methods | control-statement | operator-and | parameter | fabs-function | goto-function | random | type-conversion | string | package-management | destructor | while-and-for-loop | max-min | working-with-file-paths | floating-point-precision | sum-function | comparison | aggregating-data-with-functools.reduce() | immutability | interpreter | format | library | context-manager | map-function | print-statement | multiple-except-blocks | string-methods | lambdas | arithmetic-expression | list-slicing | expression | math | debugging | async | class-and-inheritance | sets | built-in-function | int | conditional-statement | math-copysign | split | list-method | loop-control | dictionaries | intering | writing:-write(),-writelines() | input-function | matplotlib | indexing | compute | statement | string-slicing | pass | lambda | datatype | init | using-lists-as-stacks | logical-operation | multiple-inheritance | arbitrary-arguments-(*args,-**kwargs) | data-structure | arithmetic-operation | identity-operator | operator-or | anchors-(^,-$) | design-principle | indentation | object-attribute | mysql | numeric | control-flow | data-structures-in-python | condition | immutable-data-type | precedence-and-associativity | string-method | conditional-statements | using-map()-for-transformations | import-method | pep | pandas | using-assertions-(assertequal,-assertraises) | complex | counter | constructor | implementation | difference-between-threads-and-processes | dictionary | slicing | python-operators | integers | set | data-type | identity-operator | decorator | input-function | integer | string-concatenation | data-structure | lambda-functions | list-comprehension | invalid-list | thread-synchronization | def | introduction-to-multiprocessing | list,-set,-and-dictionary-comprehensions | mathematics | dictionary-methods | file-handling | multiprocessing | string-formatting | lists | default-arguments | logical-operator | memory | using-yield-in-functions | creating-custom-modules | logical-operator | stack | parsing-with-strptime | comprehension | class-decorators | managing-directories-with-os-and-shutil | working-with-binary-files-(rb,-wb) | control-flow | membership-operators-(in,-not-in) | regular-expression | touples | min-function | min-max-function | match | recursion | using-else-and-finally | reading:-read(),-readline(),-readlines() | typeerror | multithreading | string-manipulation | module | with-statement | version | while-loop | syntax-error | numpy | methods | opening-files-(open()) | round | precedence | raise-statement | operators | quantifiers-(*,-+,-?,-{}) | reading-and-writing-large-files-efficiently | turtle | unit-testing | tuple | thread | python-history | python-repl | slice | operations | python-module | scientific-notation | version-check | loops | walking-through-directories-using-os.walk() | python | odd-number | string-slicing | list-operation | string-iteration | string-method | update | method-overloading | logical-operators | method | raise | type_conversion | list-vs-tuple | type-conversion-and-casting | virtual-environment | namedtuple | tuple-unpacking | magic-method | matrix | working-with-temporary-files-using-tempfile | overriding-methods | recurssion | zip | print | reading-and-writing-files | working-with-dates-and-times | while-else-loop | static-method | syntax-error | swapping | tuples | operand | sys-module | overflow | software-design | operator-overloading | using-the-threading-module | tuple-methods | variable | syntax | type-conversion | python-syntax-and-structure | random-function | using-os-and-pathlib-modules | matrix-list-comprehension | shallow-copy ...