1. W linii:
a=Check(sum(2+2),sum(2+2))
Próbujesz wykonać iterację po wartości 4. Jeśli chcesz aby sum() wykonało operację sumowania, powinna być tam przekazana struktura po której da się iterować.
2. W liniach:
self.var1=foo1()
self.var2=foo2()
Probujesz wywołać funkcję na ... spodziewanej wartości z sum(). Abo chcesz mieć tam funkcje albo wyniki.
3. W funkcji konstruktora nie powinieneś zwracać nic. W języku Python jeśli funkcja nic nie zwraca (poprzez return), zwraca None :-)
Jeśli dobrze zrozumiałem Twoje intencje, jednym z rozwiązań może być:
class Check:
def __init__(self, foo1, foo2):
self.var1 = foo1
self.var2 = foo2
a = Check(sum((2, 2)),sum((2, 2)))
print(a.var1)
print(a.var2)