I created the following class to generate prime numbers in python:
class primeGen:
def __init__(self, maxNum):
self.allNum = [0]*(maxNum+1)
self.allNum[0], self.allNum[1] = 1, 1
self.primeNum = []
for i in range(2, int(math.sqrt(maxNum))+1):
if self.allNum[i] is 0:
for j in range(i*i, len(self.allNum), i):
self.allNum[j] = 1
for i in range(maxNum):
if self.allNum[i] is 0:
self.primeNum.append(i)
def print(self):
print(self.primeNum)
Is there a way to avoid using self parameter in functions multiple times? Like, instead of using self.primeNum every time, can I use only primeNum ?