Home > other >  How to create an object with function created outside class in Python?
How to create an object with function created outside class in Python?

Time:10-10

I have just started learning OOP in python and I have learned basics like creating class and it's methods, variables and Constructors. Now to create an object we use following steps.

class Example: #Class
    name = None
    number = None
    def __init__(self, name, number): #Constructor
        self.name = name
        self.number = number
#Step 1
harry = Example("Harry", 45) #Creates an Object

Now here we have manually created Object of Example class named harry.

I have a question that how to create an object with a function. Like we created a function outside the class and we passed arguments to like name and number and when that function is called it will create a Object of class.

CodePudding user response:

Are you looking for something like this ?

def build_object(name, number):
    # returns Example object initialized with name and number
    return Example(name, number)

CodePudding user response:

You're talking about Factory Methods

To create objects in functions and returning it would be like:

class Example:

    def __init__(self, name, number):
        self.name = name
        self.number = number

def object_creator(name, number):
    new_obj = Example(name, number)
    return new_obj

if __name__ == "__main__":
    example_object = object_creator("Iago", 1)
    print(example_object.name)
    print(example_object.number)

CodePudding user response:

Not sure what do you mean exactly. in oop you can create a function/method then you can from it's object or class.

class Example: #Class
    name = None
    number = None
    def __init__(self, name, number): #Constructor
        self.name = name
        self.number = number
    def your_function(self, x, y):
       return x   y

#Step 1
harry = Example("Harry", 45) #Creates an Object
result = harry.your_function(5, 2)

print (result)

output : 7
  • Related