Level 10 : What happens when we run the following code?


class InfiniteSquares:
    def __init__(self):
        self.num = 0

    def __iter__(self):
        return self

    def __next__(self):
        self.num += 1
        return self.num ** 2

it = InfiniteSquares()
for _ in range(5):
    print(next(it), end=" ")

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