Hàm tạo trong Python đưa ra và ví dụ là gì?

Trong Python, để tạo và khởi tạo một đối tượng của một lớp, bạn cần một phương thức đặc biệt và phương thức [hàm] đặc biệt đó được gọi là constructor. Mỗi lớp có một hàm tạo, nhưng không bắt buộc phải định nghĩa nó một cách rõ ràng. Trong hướng dẫn này, chúng ta sẽ đọc về các hàm tạo Python và cách sử dụng chúng

Mục lục

  • Hàm tạo Python - định nghĩa
  • Các loại hàm tạo
  • Bớt tư tưởng

Constructor trong Python là gì?

Constructor thường được sử dụng để khởi tạo một đối tượng của một lớp. Mục tiêu chính của các hàm tạo là gán các giá trị cho các thành viên dữ liệu của một lớp khi một đối tượng của lớp được tạo.
Constructor luôn được gọi khi một đối tượng được tạo và được mô phỏng bằng phương thức __init__[]. Nó chấp nhận từ khóa self, tham chiếu đến chính nó [đối tượng], làm đối số đầu tiên cho phép truy cập các thuộc tính hoặc phương thức của lớp.

cú pháp

def __init__[self]: 
    

Đầu vào

class Student:
  def __init__[self, name, roll_no]
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Alex", 34]
stud2 = Student["Mark", 67]

stud1.display[]
stud2.display[]

Chúng ta có thể truyền bất kỳ số lượng đối số nào khi tạo đối tượng lớp, dựa trên định nghĩa __init__[]. Hãy nhớ rằng, mọi lớp phải có một hàm tạo, ngay cả khi nó chỉ dựa vào hàm tạo mặc định

đầu ra

Roll No.: 34
Name: Alex
Roll No.: 67
Name: Mark

Trong C++ hoặc Java, hàm tạo có cùng tên với lớp của nó nhưng trong Python thì không giống như vậy


Các loại hàm tạo Python

Có hai loại hàm tạo khác nhau trong Python

Trình xây dựng được tham số hóa

Hàm tạo được tham số hóa có nhiều tham số cùng với bản thân. Nó lấy đối số đầu tiên của nó làm tham chiếu đến cá thể đang được xây dựng được gọi là self và phần còn lại của các đối số được cung cấp bởi lập trình viên

Đầu vào

class Student:

# Parameterized constructor
  def __init__[self, name, roll_no]:
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Navya", 34]
stud2 = Student["Mia", 67]

stud1.display[]
stud2.display[]

Trong ví dụ trên, một hàm tạo được tham số hóa được xác định có hai tham số

đầu ra

Roll No.: 34
Name: Navya
Roll No.: 67
Name: Mia

Trình tạo không tham số

Hàm tạo không tham số hóa sử dụng khi chúng ta không muốn thao tác giá trị hoặc hàm tạo chỉ có self làm đối số. Định nghĩa của nó chỉ có một đối số là tham chiếu đến thể hiện đang được xây dựng

Đầu vào

class Student:
  
# no-argument constructor
  def __init__[self]
    self.name = "Mark"
    self.roll_no = "67"

  def display[self]:
    print ['Roll No.:', self.roll_no, \n'Name:', self.name]

# Creating object of the class
stud = Student[]

stud.display[]

Như bạn có thể thấy, không có đối số nào được gửi tới hàm tạo trong khi tạo đối tượng

đầu ra

Roll No.: 67
Name: Mark

Bớt tư tưởng

Hãy nhớ rằng, nếu bạn tạo bốn đối tượng, hàm tạo của lớp cũng được gọi bốn lần. Giống như Python có hàm tạo, nó cũng có hàm hủy được sử dụng để hủy đối tượng của một lớp. Mọi người có thể tìm hiểu thêm về các khái niệm Python tại đây

Hàm tạo là phương thức đầu tiên được gọi khi tạo đối tượng [một khái niệm từ Lập trình hướng đối tượng]. Nó luôn là một phần của một lớp [các phương thức đối tượng được định nghĩa trong một lớp]

Hàm tạo luôn được gọi khi tạo một đối tượng mới. Nó có thể được sử dụng để khởi tạo các biến lớp và các thói quen khởi động

khóa học liên quan. Khóa học & bài tập lập trình Python

Giới thiệu

Hàm tạo là một phương thức bên trong lớp, được gọi nếu một đối tượng mới được tạo

Hàm tạo cho phép bạn đặt biến cho đối tượng ngay lập tức

user[1] = User['Alice','Coder','Windows']
user[2] = User['Bea','Marketeer','Mac']

Thay vì phải đặt từng biến theo cách thủ công như

________số 8

Mỗi lớp có thể chứa một và chỉ một hàm tạo

Hàm tạo luôn có tên là

user[1].name = 'Alice'
user[1].job = 'Coder'
user[1]....
# etc
9

Hình ảnh bên dưới hiển thị hai lớp, mỗi lớp có một hàm tạo [được đánh dấu]

Có một vài quy tắc cho các nhà xây dựng

  • Một hàm tạo phải được xác định với tên
    class Student:
      def __init__[self, name, roll_no]
        self.name = name
        self.roll_no = roll_no
    
      def display[self]:
        print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]
    
    # Creating object of the class
    stud1 = Student["Alex", 34]
    stud2 = Student["Mark", 67]
    
    stud1.display[]
    stud2.display[]
    00
  • Một hàm tạo phải được xác định bằng từ khóa self trong các tham số của nó
  • Hàm tạo không thể trả về bất kỳ giá trị nào, ngoại trừ Không có
  • Chỉ có một hàm tạo được phép cho một lớp
  • Chỉ dành cho khởi tạo đối tượng

Thí dụ

Cú pháp của hàm tạo là

user[1].name = 'Alice'
user[1].job = 'Coder'
user[1]....
# etc
9. Bên trong một lớp nó trông như thế này

class Student:
  def __init__[self, name, roll_no]
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Alex", 34]
stud2 = Student["Mark", 67]

stud1.display[]
stud2.display[]
0

Sau đó, nếu bạn tạo một ví dụ, hàm tạo sẽ được gọi. Nếu bạn tạo hai đối tượng, hàm tạo sẽ được gọi hai lần

class Student:
  def __init__[self, name, roll_no]
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Alex", 34]
stud2 = Student["Mark", 67]

stud1.display[]
stud2.display[]
3

Ý tưởng của hàm tạo là đặt các biến đối tượng

Bạn có thể có một lớp học như thế này

class Student:
  def __init__[self, name, roll_no]
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Alex", 34]
stud2 = Student["Mark", 67]

stud1.display[]
stud2.display[]
4

Sau đó tạo một vài đối tượng

Mỗi đối tượng có các giá trị duy nhất, giống như thế giới thực

Các giá trị đó được đặt khi tạo đối tượng, đây là nơi hàm tạo được gọi trong nền

class Student:
  def __init__[self, name, roll_no]
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Alex", 34]
stud2 = Student["Mark", 67]

stud1.display[]
stud2.display[]
5

Nếu bạn là người mới bắt đầu học Python, thì tôi thực sự khuyên bạn nên đọc cuốn sách này

ví dụ trực quan

Trong ví dụ bên dưới, chúng ta tạo một lớp C với hàm tạo và phương thức xem. Trong Python, hàm tạo được đặt tên là init

class Student:
  def __init__[self, name, roll_no]
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Alex", 34]
stud2 = Student["Mark", 67]

stud1.display[]
stud2.display[]
6

Hàm tạo [init] chỉ là một phương thức khác. Điều đặc biệt về nó là nó được gọi mỗi khi một đối tượng mới được tạo

Chúng tôi tạo một đối tượng C với dòng

class Student:
  def __init__[self, name, roll_no]
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Alex", 34]
stud2 = Student["Mark", 67]

stud1.display[]
stud2.display[]
7

Khi thực hiện, nó sẽ xuất cả hai dòng văn bản. Tại sao?

class Student:
  def __init__[self, name, roll_no]
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Alex", 34]
stud2 = Student["Mark", 67]

stud1.display[]
stud2.display[]
8

Điều này sẽ xuất ra

class Student:
  def __init__[self, name, roll_no]
    self.name = name
    self.roll_no = roll_no

  def display[self]:
    print ["Roll No.: %d \nName: %s" % [self.roll_no, self.name]]

# Creating object of the class
stud1 = Student["Alex", 34]
stud2 = Student["Mark", 67]

stud1.display[]
stud2.display[]
9

Xem cách đầu ra của hàm tạo được hiển thị trước

Hàm tạo được gọi ngay lập tức khi tạo đối tượng, điều này đặc biệt rõ ràng trong trình bao Python

Nếu đây là lớp học của bạn

user[1].name = 'Alice'
user[1].job = 'Coder'
user[1]....
# etc
0

Sau đó, nó gọi hàm tạo cho từng đối tượng được tạo

user[1].name = 'Alice'
user[1].job = 'Coder'
user[1]....
# etc
1

Ví dụ thế giới thực

Trong một kịch bản trong thế giới thực, hàm tạo thực hiện những điều hữu ích cho đối tượng mới được tạo. Ví dụ, một constructor cho Car. Nó đặt giá trị mặc định của các biến như số bánh xe, số cửa

Nếu bạn định nghĩa một lớp Car, lớp này đặt một số biến đối tượng [lưu ý self được sử dụng để chỉ các giá trị của đối tượng], nó sẽ được đặt khi tạo

user[1].name = 'Alice'
user[1].job = 'Coder'
user[1]....
# etc
2

Sau đó, nếu bạn tạo một số đối tượng và yêu cầu các biến đối tượng được hiển thị, chúng đã được đặt sẵn [vì chúng tôi đặt chúng trong hàm tạo

Hàm tạo trong Python với ví dụ là gì?

Trình xây dựng thường được sử dụng để khởi tạo một đố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. Trong Python, phương thức __init__[] được gọi là hàm tạo và luôn được gọi khi một đối tượng được tạo.

Hàm tạo trong Python với ví dụ thời gian thực là gì?

Ví dụ thực tế . Nó đặt giá trị mặc định cho các biến như số bánh xe, số cửa . Nếu bạn định nghĩa một lớp Car, lớp này đặt một số biến đối tượng [lưu ý self được sử dụng để chỉ các giá trị của đối tượng], nó sẽ được đặt khi tạo.

Hàm tạo trong lớp Python là gì?

Các hàm tạo lớp là một phần cơ bản của lập trình hướng đối tượng trong Python. Chúng cho phép bạn tạo và khởi tạo đúng cách các đối tượng của một lớp nhất định, giúp các đối tượng đó sẵn sàng sử dụng .

Ví dụ về phương thức khởi tạo là gì?

Một hàm tạo trong Java tương tự như một phương thức được gọi khi một đối tượng của lớp được tạo. Không giống như các phương thức Java, hàm tạo có cùng tên với tên của lớp và không có bất kỳ kiểu trả về nào. Ví dụ: class Test { Test[] { // constructor body } } Ở đây, Test[] là một hàm tạo.

Chủ Đề