Constructor in Python
In Python, every class has a constructor, which is a special method specified inside the class. The constructor/initializer will be called automatically when a new object is created for the class. When an object is initialized, the constructor assigns values to data members in the class.
There is no need to explicitly define the constructor. But in order to create a constructor we need to follow the following rules -
For a class, it only allows one constructor.
The constructor name must be __init__.
Constructors must be defined using instance properties (just specify the self keyword as the first argument).
It cannot return any value except None.
grammar
class A(): def __init__(self): pass
Example
Consider the following example and understand how constructors work.
class SampleClass(): def __init__(self): print("it a sample class constructor") # creating an object of the class A = SampleClass()
Output
it a sample class constructor
In the above block, object A is created for SampleClass(), and for this instance, the method __init__(self) is automatically executed. This way it shows the constructor statement.
Constructors are divided into three types.
Default constructor
Parameterized constructor
Non-parametric constructor
Default constructor
The default constructor is not defined by the user, Python itself creates a constructor during program compilation. It does not perform any tasks but initializes the object.
Example
Python generates an empty constructor with no code in it. See example below.
class A(): check_value = 1000 # a method def value(self): print(self.check_value) # creating an object of the class obj = A() # calling the instance method using the object obj.value()
Output
1000
Let us use Python’s built-in dir() function to verify the constructor of class A.
dir(A) Output: ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'check_value', 'value']
python dir() The function returns a list of all properties and methods of the specified object. In the above list we can see that the default constructor __init__ is created for object A.
Parameterized constructor
The parameterized constructor accepts one or more parameters and self. It is useful when you want to create an object with custom property values. Parameterized constructors allow us to specify the values of object properties when creating an object.
Example
Let’s look at an example of a class with a parameterized constructor
class Family: members = 10 def __init__(self, count): self.members = count def disply(self): print("Number of members is", self.members) joy_family = Family(25) joy_family.disply()
Output
Number of members is 25
Here the object Joy series is created using a custom value of 25 instead of using the default member property value of 10. And the value is available to this instance because it is assigned to the self.members property.
Non-parameterized constructor
Non-parameterized constructors do not accept any parameters except self. It is useful when you want to manipulate the value of an instance property.
Example
Let’s look at an example of a non-parametric constructor.
class Player: def __init__(self): self.position = 0 # Add a move() method with steps parameter def move(self, steps): self.position = steps print(self.position) def result(self): print(self.position) player1 = Player() print('player1 results') player1.move(2) player1.result() print('p2 results') p2 = Player() p2.result()
Output
player1 results 2 2 p2 results 0
player1 object operates the "position" property by using the move() method. And the p2 object accesses the default value of the "position" property.
The above is the detailed content of Constructor in Python. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



There is no built-in sum function in C language, so it needs to be written by yourself. Sum can be achieved by traversing the array and accumulating elements: Loop version: Sum is calculated using for loop and array length. Pointer version: Use pointers to point to array elements, and efficient summing is achieved through self-increment pointers. Dynamically allocate array version: Dynamically allocate arrays and manage memory yourself, ensuring that allocated memory is freed to prevent memory leaks.

There is no absolute salary for Python and JavaScript developers, depending on skills and industry needs. 1. Python may be paid more in data science and machine learning. 2. JavaScript has great demand in front-end and full-stack development, and its salary is also considerable. 3. Influencing factors include experience, geographical location, company size and specific skills.

Although distinct and distinct are related to distinction, they are used differently: distinct (adjective) describes the uniqueness of things themselves and is used to emphasize differences between things; distinct (verb) represents the distinction behavior or ability, and is used to describe the discrimination process. In programming, distinct is often used to represent the uniqueness of elements in a collection, such as deduplication operations; distinct is reflected in the design of algorithms or functions, such as distinguishing odd and even numbers. When optimizing, the distinct operation should select the appropriate algorithm and data structure, while the distinct operation should optimize the distinction between logical efficiency and pay attention to writing clear and readable code.

!x Understanding !x is a logical non-operator in C language. It booleans the value of x, that is, true changes to false, false changes to true. But be aware that truth and falsehood in C are represented by numerical values rather than boolean types, non-zero is regarded as true, and only 0 is regarded as false. Therefore, !x deals with negative numbers the same as positive numbers and is considered true.

C language identifiers cannot contain spaces because they can cause confusion and difficulty in maintaining. The specific rules are as follows: they must start with letters or underscores. Can contain letters, numbers, or underscores. Cannot contain illegal characters (such as special symbols).

There is no built-in sum function in C for sum, but it can be implemented by: using a loop to accumulate elements one by one; using a pointer to access and accumulate elements one by one; for large data volumes, consider parallel calculations.

In C language, snake nomenclature is a coding style convention, which uses underscores to connect multiple words to form variable names or function names to enhance readability. Although it won't affect compilation and operation, lengthy naming, IDE support issues, and historical baggage need to be considered.

The H5 page needs to be maintained continuously, because of factors such as code vulnerabilities, browser compatibility, performance optimization, security updates and user experience improvements. Effective maintenance methods include establishing a complete testing system, using version control tools, regularly monitoring page performance, collecting user feedback and formulating maintenance plans.
