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