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