File: recursion.py

package info (click to toggle)
python-jedi 0.19.1%2Bds1-1
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 11,680 kB
  • sloc: python: 28,783; makefile: 172; ansic: 13
file content (117 lines) | stat: -rw-r--r-- 1,757 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
"""
Code that might cause recursion issues (or has caused in the past).
"""

def Recursion():
    def recurse(self):
        self.a = self.a
        self.b = self.b.recurse()

#?
Recursion().a

#?
Recursion().b


class X():
    def __init__(self):
        self.recursive = [1, 3]

    def annoying(self):
        self.recursive = [self.recursive[0]]

    def recurse(self):
        self.recursive = [self.recursive[1]]

#? int()
X().recursive[0]


def to_list(iterable):
    return list(set(iterable))


def recursion1(foo):
    return to_list(to_list(foo)) + recursion1(foo)

#? int()
recursion1([1,2])[0]


class FooListComp():
    def __init__(self):
        self.recursive = [1]

    def annoying(self):
        self.recursive = [x for x in self.recursive]


#? int()
FooListComp().recursive[0]


class InstanceAttributeIfs:
    def b(self):
        self.a1 = 1
        self.a2 = 1

    def c(self):
        self.a2 = ''

    def x(self):
        self.b()

        if self.a1 == 1:
            self.a1 = self.a1 + 1
        if self.a2 == UNDEFINED:
            self.a2 = self.a2 + 1

        #? int()
        self.a1
        #? int() str()
        self.a2

#? int()
InstanceAttributeIfs().a1
#? int() str()
InstanceAttributeIfs().a2



class A:
    def a(self, b):
        for x in [self.a(i) for i in b]:
            #?
            x

class B:
    def a(self, b):
        for i in b:
            for i in self.a(i):
                #?
                yield i


foo = int
foo = foo  # type: foo
#? int
foo

while True:
    bar = int
    bar = bar  # type: bar
    #? int()
    bar


class Comprehension:
    def __init__(self, foo):
        self.foo = foo

    def update(self):
        self.foo = (self.foo,)


#? int() tuple()
Comprehension(1).foo[0]