Con trăn xây dựng

Hàm tạo là một hàm duy nhất được gọi tự động khi một đối tượng được tạo từ một lớp. Mục đích chính của hàm tạo là khởi tạo hoặc gán giá trị cho các thành viên dữ liệu của lớp đó. Nó không thể trả về bất kỳ giá trị nào khác ngoài none

Hãy xem cách sử dụng hàm tạo

Cú pháp của Python Constructor

def __init__[self]:
	# initializations

init là một trong những chức năng dành riêng trong Python. Trong lập trình hướng đối tượng, nó được gọi là hàm tạo

Quy tắc của Python Constructor

  • Nó bắt đầu bằng từ khóa def, giống như tất cả các hàm khác trong Python
  • Theo sau nó là từ init, có tiền tố và hậu tố bằng dấu gạch dưới kép với một cặp dấu ngoặc, i. e. , __trong đó__[]
  • Nó nhận một đối số gọi là self, gán giá trị cho các biến

Bản thân là một tham chiếu đến thể hiện hiện tại của lớp. Nó được tạo và chuyển tự động/ngầm định tới __init__[] khi hàm tạo được gọi

Các loại Constructor trong Python

  1. Trình xây dựng được tham số hóa
  2. Hàm tạo không tham số
  3. Nhà xây dựng mặc định

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

Khi hàm tạo chấp nhận các đối số cùng với bản thân, nó được gọi là hàm tạo được tham số hóa

Các đối số này có thể được sử dụng bên trong lớp để gán giá trị cho các thành viên dữ liệu. Hãy xem một ví dụ

Mã số

class Family:  
    # Constructor - parameterized  
    members=5
    def __init__[self, count]:  
        print["This is parametrized constructor"]  
        self.members = count
    def show[self]:  
        print["No. of members is", self.members]  
        
object = Family[10]  
object.show[]   

đầu ra

This is parameterized constructor
No. of members is 10

Giải trình

  • Một đối tượng của lớp Family được tạo. Nó có một biến được gọi là thành viên
  • Khi đối tượng được tạo, một tham số [ở đây là 10] được truyền dưới dạng đối số
  • Tham số này [10 như trong ví dụ trên] được sử dụng bởi hàm tạo khi đối tượng được tạo
  • Số 10 được gán cho biến đếm, số này được gán thêm cho self. các thành viên
  • cái tôi. thành viên có thể được sử dụng trong lớp để in dữ liệu

2. Trình xây dựng không tham số hóa trong Python

Khi hàm tạo không chấp nhận bất kỳ đối số nào từ đối tượng và chỉ có một đối số, bản thân, trong hàm tạo, nó được gọi là hàm tạo không tham số

Điều này có thể được sử dụng để gán lại một giá trị bên trong hàm tạo. Hãy xem một ví dụ

Mã số

class Fruits:
    favourite = "Apple"

    # non-parameterized constructor
    def __init__[self]:
        self.favourite = "Orange"

    # a method
    def show[self]:
        print[self.favourite]


# creating an object of the class
obj = Fruits[]

# calling the instance method using the object obj
obj.show[]

đầu ra

Giải trình

Trong ví dụ trên, chúng tôi khởi tạo loại trái cây yêu thích của mình là Apple bên trong lớp. Nhưng chúng tôi muốn thay đổi nó ngay khi đối tượng được tạo

Điều này có thể được thực hiện bằng cách gán lại giá trị cho hàm tạo. Loại hàm tạo này không nhận bất kỳ đối số nào khác ngoài self. Nó có thể được sử dụng để in và kiểm tra xem giá trị của chúng tôi có bị thay đổi không

3. Trình xây dựng mặc định trong Python

Khi bạn không viết hàm tạo trong lớp đã tạo, Python tự tạo một hàm tạo trong quá trình biên dịch chương trình

Nó tạo ra một hàm tạo trống không có mã trong đó. Hãy xem một ví dụ

Thí dụ

class Assignments:
    check= "not done"
    # a method
    def is_done[self]:
        print[self.check]

# creating an object of the class
obj = Assignments[]

# calling the instance method using the object obj
obj.is_done[]

đầu ra

Giải trình

Trong ví dụ trên, chúng tôi kiểm tra xem nhiệm vụ của chúng tôi đã được thực hiện chưa

Chúng tôi tạo một đối tượng của một lớp mà chúng tôi không viết hàm tạo

Python tạo một hàm tạo khi chúng tôi không cung cấp bất kỳ hàm khởi tạo nào để khởi tạo các biến thể hiện. Nó không làm gì cả

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

________số 8

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 Family:  
    # Constructor - parameterized  
    members=5
    def __init__[self, count]:  
        print["This is parametrized constructor"]  
        self.members = count
    def show[self]:  
        print["No. of members is", self.members]  
        
object = Family[10]  
object.show[]   
0

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

class Family:  
    # Constructor - parameterized  
    members=5
    def __init__[self, count]:  
        print["This is parametrized constructor"]  
        self.members = count
    def show[self]:  
        print["No. of members is", self.members]  
        
object = Family[10]  
object.show[]   
1

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 trong Python là gì?

Hàm tạo là một phương thức được gọi khi một đối tượng được tạo từ một lớp . Việc tạo constructor phụ thuộc vào lập trình viên, nếu không Python sẽ tự động tạo constructor mặc định. Nó có thể được sử dụng trong ba loại - Trình tạo được tham số hóa, Trình tạo không tham số hóa, Trình tạo mặc định.

Có phải __ init __ hàm tạo không?

Phương thức đặc biệt __init__ là hàm tạo của Python . Với sự hiểu biết về lập trình hướng đối tượng và các lớp, bây giờ chúng ta hãy xem cách phương thức __init__ hoạt động trong chương trình Python.

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

Hàm tạo là phương thức được gọi khi một đối tượng được tạo . Phương thức này được định nghĩa trong lớp và có thể được sử dụng để khởi tạo các biến cơ bản. Nếu bạn tạo bốn đối tượng, hàm tạo của lớp được gọi bốn lần. 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.

Hàm tạo __ new __ có trong Python không?

Trong Python, khái niệm đó được chia thành hàm tạo và hàm khởi tạo. Và bạn có thể đoán, __new__ là hàm tạo và __init__ là hàm khởi tạo.

Chủ Đề