Definition of the class nn.Linear?

I have a basic question. So when we create a class in python, it contains constructors and methods.
Now, consider this basic example:
class Person(object):
def init(self,name,standard):
self.name = name
self.standard = standard

def marks(self,mark):
    self.mark = mark
    
def print_Data(self):
    print("my name is {}, I am in standard {} and my mark is 
    {}".format(self.name,self.standard,self.mark))

Now, I’ll create an object

bob =  Person(''bob",12)
bob.mark(45)
bob.print_Data()

This will give me the result

my name is bob, I am in standard 12 and my mark is 45 

Now, let’s relate the above example with the class nn.Linear()

I create an object

model = nn.Linear(3,2)

I believe nn.Linear has attributes like ‘weight’ and ‘bias’. So if we use model.weight and model.bias, it will give us the weights and bias for the input 3,2.

Now, I don’t understand how the following works

output =  model (inputs)

model is an object of class. How can we directly pass an argument to the object? If there is a method, it makes sense to pass an argument. In the example I provided, bob is an object of the class Person and I use bob.marks(45) and pass an argument where marks is a method. I believe you understood my question.

I would like to know the class definition of nn.Linear to understand how inputs is passed as an argument directly to an object.

Please use SEARCH function.