Level 10 : What will this code do?


class MultiplyIterator:
    def __init__(self, num, times):
        self.num = num
        self.times = times
        self.count = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self.count >= self.times:
            raise StopIteration
        self.count += 1
        return self.num * self.count

it = MultiplyIterator(4, 3)
print(list(it))
print(list(it))

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