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