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