Làm thế nào để bạn khởi tạo trong python?

Điều kiện tiên quyết – Lớp Python, Đối tượng, Bản thân Bất cứ khi nào lập trình hướng đối tượng được thực hiện bằng Python, chúng ta hầu như bắt gặp phương thức __init__ trong rất tiếc mà chúng ta thường không hiểu đầy đủ. Bài viết này giải thích khái niệm chính về __init__ nhưng trước khi hiểu về __init__, cần có một số điều kiện tiên quyết

__init__ trong Python là gì?

Trình xây dựng __init__ mặc định trong C++ và Java. Constructor được sử dụng để khởi tạo trạng thái của đối tượng. Nhiệm vụ của constructor là khởi tạo (gán giá trị) cho các thành viên dữ liệu của lớp khi một đối tượng của lớp được tạo. Giống như các phương thức, một hàm tạo cũng chứa một tập hợp các câu lệnh (i. e. hướng dẫn) được thực thi tại thời điểm tạo Đối tượng. Nó được chạy ngay khi một đối tượng của một lớp được khởi tạo. Phương pháp này rất hữu ích để thực hiện bất kỳ khởi tạo nào bạn muốn thực hiện với đối tượng của mình

Ví dụ.  

Python3




Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
00

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
01
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
02

 

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
04

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
0
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
1
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
3

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
4
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2____06
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
8

 

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
A init called
B init called
0

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
0
A init called
B init called
3
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2
A init called
B init called
5

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
4
A init called
B init called
7____98
A init called
B init called
9
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
80
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
82

 

 

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
83
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
85____186
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
87

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
88

đầu ra

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7

Hiểu mã

Trong ví dụ trên, một người tên Nikhil được tạo. Trong khi tạo một người, “Nikhil” được truyền dưới dạng đối số, đối số này sẽ được truyền cho phương thức __init__ để khởi tạo đối tượng. Từ khóa self đại diện cho thể hiện của một lớp và liên kết các thuộc tính với các đối số đã cho. Tương tự, nhiều đối tượng của lớp Person có thể được tạo bằng cách chuyển các tên khác nhau làm đối số. Dưới đây là ví dụ về init trong python với các tham số

Ví dụ về __init__

Python3




Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
00

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
01
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
02

 

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
04

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
0
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
1
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
3

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
4
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2____06
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
8

 

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
A init called
B init called
0

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
0
A init called
B init called
3
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2
A init called
B init called
5

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
4
A init called
B init called
7____98
A init called
B init called
9
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
80
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
82

 

 

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
028

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
029
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
85____186
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
87

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
034
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
85____1037
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
87

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
039
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
85____1042
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
87

 

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
044

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
045

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
046

đầu ra

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul

__init__ với thừa kế

Kế thừa là khả năng của một lớp kế thừa hoặc kế thừa các thuộc tính từ một số lớp khác. Hãy xem xét ví dụ dưới đây để xem cách __init__ hoạt động trong thừa kế.  

Python3




Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
047

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
048

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
049

 

________ 101 ________ 1031 ________ 1032 ________ 95

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
0
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
1
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
038

_______04____97____98

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
02
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
87

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
4
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2____006
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
08

 

 

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
01
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
10

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
03
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
0
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
1
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
038

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
4
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
17

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
4
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
19____02
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
21

_______04____97____98

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
25
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
87

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
4
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
2____006
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
08

 

 

Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
32
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
7
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
34
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
35
Hello, my name is Nikhil
Hello, my name is Abhinav
Hello, my name is Anshul
87

đầu ra

A init called
B init called

Vì vậy, hàm tạo của lớp cha được gọi trước. Nhưng trong Python, không bắt buộc hàm tạo của lớp cha sẽ luôn được gọi trước. Thứ tự gọi phương thức __init__ cho lớp cha hoặc lớp con có thể được sửa đổi. Điều này có thể được thực hiện đơn giản bằng cách gọi hàm tạo của lớp cha sau phần thân của hàm tạo của lớp con.  

Khởi tạo trong Python có nghĩa là gì?

Hàm __init__ được gọi mỗi khi một đối tượng được tạo từ một lớp. Phương thức __init__ cho phép lớp khởi tạo các thuộc tính của đối tượng và không phục vụ mục đích nào khác . Nó chỉ được sử dụng trong các lớp học.

Làm cách nào để khởi tạo một bộ trong Python?

Bạn có thể khởi tạo một tập hợp bằng cách đặt các phần tử vào giữa các dấu ngoặc nhọn . Giống như các dãy khác, một tập hợp có thể có các phần tử thuộc nhiều kiểu dữ liệu. Ngoài ra, bạn cũng có thể tạo một tập hợp từ danh sách bằng cách sử dụng hàm set().

Làm cách nào để khởi tạo một đối tượng trong Python?

Sau khi bạn có đối tượng mới, bạn có thể khởi tạo nó bằng cách gọi. __init__() với một nhóm đối số thích hợp . Sau cuộc gọi này, đối tượng Điểm của bạn được khởi tạo đúng cách, với tất cả các thuộc tính của nó được thiết lập.

Làm cách nào để khởi tạo một lớp trong Python?

Để tạo các thể hiện của một lớp, bạn gọi lớp đó bằng tên lớp và truyền vào bất kỳ đối số nào mà phương thức __init__ của nó chấp nhận