VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Python Cơ Bản

Giới thiệu về Python Cài đặt Python Hướng dẫn lập trình Python với Visual Studio Code Hướng dẫn lập trình Python với PyCharm Community Edition Hướng dẫn lập trình Python với Eclipse Chương trình Hello World Cú pháp Python cơ bản Biến và kiểu dữ liệu trong Python Toán tử trong Python Tham số dòng lệnh trong Python Comment trong Python Từ khóa trong Python Đọc file CSV

Câu Lệnh Điều Khiển

Lệnh If-else Vòng lặp While Vòng lặp For Lệnh Break Lệnh Continue Vòng lặp lồng nhau Lệnh pass trong Python

Các Kiểu Dữ Liệu Chuẩn

Number String List Set Tuple Dictionary Phân biệt List, Tuple, Set, Dict

Hàm, Module và File I/O

Date & Time Hàm Module Vào ra dữ liệu File I/O Xử lý ngoại lệ Regex trong Python Module Collection Module Math Module OS Module Random Module Statistics Module SYS Giới thiệu Python IDEs

Python OPPs

Lập trình hướng đối tượng Lớp và đối tượng trong Python Constructor trong Python Kế thừa trong Python Ghi đè phương thức – Method Overriding Trừu tượng dữ liệu trong Python

Python MySQL

Cài đặt môi trường Python MySQL Kết nối Python với MySQL Tạo new database Tạo Table insert Table select Table update Table delete Table join Table Quản lý transaction
Python Tkinter(GUI) Python Web Blocker Python Numpy Python Django Python Flask Bài tập Python có lời giải
1 / 3
❮ ❯

Constructor trong Python


Lớp và đối tượng trong Python
Kế thừa trong Python

Constructor trong Python là một loại phương thức (hàm) đặc biệt được sử dụng để khởi tạo các thể hiện của lớp. Constructor có thể có hai loại.

  1. Constructor tham số.
  2. Constructor không tham số.

Định nghĩa contructor được thực thi khi chúng ta tạo đối tượng của lớp này.


Nội dung chính

  • Tạo contructor trong Python
  • Ví dụ: Đếm số lượng đối tượng của một lớp
  • Ví dụ: constructor không tham số trong Python
  • Ví dụ: constructor tham số trong Python
  • Các hàm lớp dựng sẵn của Python
  • Các thuộc tính lớp tích hợp

Tạo contructor trong Python

Trong python, phương thức __ init __ mô phỏng contructor của lớp. Phương thức này được gọi khi lớp được khởi tạo. Chúng ta có thể chuyển bất kỳ số lượng đối số nào tại thời điểm tạo đối tượng lớp, tùy thuộc vào định nghĩa __ init __. Nó chủ yếu được sử dụng để khởi tạo các thuộc tính của lớp. Mỗi lớp phải có một constructor.

Ví dụ sau khởi tạo các thuộc tính của lớp Employee.


class Employee:

    def __init__(self, name, id):
        self.id = id;
        self.name = name;

    def display (self):
        print("ID: %d \nName: %s" % (self.id, self.name))

emp1 = Employee("Vinh", 101)
emp2 = Employee("Trung", 102)

# gọi phương thức display() để hiển thị thông tin employee 1
emp1.display();
  
# gọi phương thức display() để hiển thị thông tin employee 2
emp2.display();

Kết quả:

ID: 101 
Name: Vinh
ID: 102 
Name: Trung


Ví dụ: Đếm số lượng đối tượng của một lớp


class Student:
    count = 0

    def __init__(self):
        Student.count = Student.count + 1

s1 = Student()
s2 = Student()
s3 = Student()
print("Số lượng sinh viên là:", Student.count)

Kết quả:

Số lượng sinh viên là: 3

Ví dụ: constructor không tham số trong Python


class Student:

    # Constructor không tham số
    def __init__(self):
        print("Đây là constructor không tham số")

    def show(self, name):
        print("Hello", name)

student = Student()
student.show("The Mac")

Kết quả:

Đây là constructor không tham số
Hello The Mac


Ví dụ: constructor tham số trong Python


class Student:

    # Constructor tham số
    def __init__(self, name):
        print("Đây là constructor tham số.")
        self.name = name

    def show(self):
        print("Hello", self.name)

student = Student("The Mac")
student.show()

Kết quả:

Đây là constructor tham số.
Hello The Mac

Các hàm lớp dựng sẵn của Python

Các hàm dựng sẵn được định nghĩa trong lớp được mô tả trong bảng sau.

Hàm Mô tả
1 getattr(obj,name,default) Nó được sử dụng để truy cập thuộc tính của đối tượng.
2 setattr(obj, name,value) Nó được sử dụng để đặt một giá trị cụ thể cho thuộc tính cụ thể của một đối tượng.
3 delattr(obj, name) Nó được sử dụng để xóa một thuộc tính cụ thể.
4 hasattr(obj, name) Nó trả về true nếu đối tượng chứa một số thuộc tính cụ thể.

Ví dụ:


class Student:

    def __init__(self, name, id, age):
        self.name = name;
        self.id = id;
        self.age = age

  
# tạo đối tượng của lớp Student 
s = Student("Trung", 101, 22) 

# in thuộc tính name của đối tượng s
print(getattr(s, 'name'))
  
# gán giá trị của age cho 23
setattr(s, "age", 23)

# in giá trị của age
print(getattr(s, 'age'))

# true nếu student chứa thuộc tính id
print(hasattr(s, 'id'))

# xóa thuộc tính age
delattr(s, 'age')

# bắn ra lỗi nếu age đã bị xóa
print(s.age)

Kết quả:

Trung
23
True
    print(s.age)
AttributeError: 'Student' object has no attribute 'age'

Các thuộc tính lớp tích hợp

Cùng với các thuộc tính khác, một lớp python cũng chứa một số thuộc tính lớp tích hợp cung cấp thông tin về lớp.

Các thuộc tính lớp tích hợp được đưa ra trong bảng dưới đây.

Hàm Mô tả
1 __dict__ Nó trả về dictionary chứa namespace của lớp.
2 __doc__ Nó chứa một chuỗi về tài liệu lớp.
3 __name__ Nó được sử dụng để truy cập tên lớp.
4 __module__ Nó được sử dụng để truy cập mô-đun trong đó, lớp này được định nghĩa.
5 __bases__ Nó chứa một tuple bao gồm tất cả các lớp cơ sở.

Ví dụ:


class Student:

    def __init__(self, name, id, age):
        self.name = name;
        self.id = id;
        self.age = age

    def display_details(self):
        print("Name:%s, ID:%d, age:%d" % (self.name, self.id))

s = Student("Trung", 101, 22)
print(s.__doc__)
print(s.__dict__)
print(s.__module__)

Kết quả:

None
{'name': 'Trung', 'id': 101, 'age': 22}
__main__

Lớp và đối tượng trong Python
Kế thừa trong Python

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Vẽ tam giác Pascal trong PythonVẽ tam giác Floyd trong PythonVẽ tam giác đều trong PythonBài tập vòng lặp trong PythonBài tập quản lý sinh viên trong PythonBài tập Python có lời giảiVẽ tam giác vuông cân trong PythonCheck số nguyên tố trong PythonCách cài đặt Python (Thiết lập môi trường)Hướng dẫn lập trình Python với EclipseHướng dẫn lập trình Python với PyCharm Community EditionHướng dẫn lập trình Python với Visual Studio Code

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml