summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/builtin_dir.py
blob: 1eecbd044b7b0bafb60074b63e5e0887d7a3a3c9 (plain) (blame)
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
# test builtin dir

# dir of locals
print('__name__' in dir())

# dir of module
import sys
print('version' in dir(sys))

# dir of type
print('append' in dir(list))

class Foo:
    def __init__(self):
        self.x = 1
foo = Foo()
print('__init__' in dir(foo))
print('x' in dir(foo))

# dir of subclass
class A:
    def a():
        pass
class B(A):
    def b():
        pass
d = dir(B())
print(d.count('a'), d.count('b'))

# dir of class with multiple bases and a common parent
class C(A):
    def c():
        pass
class D(B, C):
    def d():
        pass
d = dir(D())
print(d.count('a'), d.count('b'), d.count('c'), d.count('d'))