Create New Instances of a Class

Q

How to Create a New Instance of a Class?

✍: FYIcenter.com

A

There are two ways to create a new instance (object) of a class (or type):

1. The short way: Call the class name as the class constructor function with the following syntax. It will return an instance of the given class.

>>> x = class_name(parameter_list)

2. The long way: Call the class "__new__()" method to get an un-initialized instance, and call the instance "__init__()" method to initialize it, with the following syntax:

>>> x = class_name.__new__(class_name)
>>> x.__init__(parameter_list)

The Python code below shows you how to create instances of "user" class in 2 different ways:

>>> class user():
...     nextID = 1
...     def __init__(self,name="Joe",age=25):
...         self.id = user.nextID
...         self.name = name
...         self.age = age
...         user.nextID = user.nextID + 1
...     def dump(self):
...         print("ID: "+str(self.id))
...         print("Name: "+self.name)
...         print("Age: "+str(self.age))
...
>>> jeo = user("Joe",30)
>>> jeo.dump()
ID: 1
Name: Joe
Age: 30
>>>
>>> jay = user.__new__(user)
>>> jay.__init__("Jay",18)
>>> jay.dump()
ID: 2
Name: Jay
Age: 18

 

Defining and Using Class for New Data Types

⇒⇒Python Tutorials

2017-09-09, 119👍, 0💬