Hướng dẫn what is abstraction in python w3schools? - trừu tượng trong w3schools python là gì?

Các lớp và đối tượng PythonClasses and Objects

Các lớp/đối tượng Python

Python là một ngôn ngữ lập trình định hướng đối tượng.

Hầu hết mọi thứ trong Python là một đối tượng, với các thuộc tính và phương pháp của nó.

Một lớp giống như một hàm tạo đối tượng hoặc "bản thiết kế" để tạo các đối tượng.

Tạo một lớp học

Để tạo một lớp, hãy sử dụng từ khóa class:

Thí dụ

Tạo một lớp có tên MyClass, với một thuộc tính có tên X:

lớp MyClass: & nbsp; x = 5
  x = 5

Hãy tự mình thử »

Tạo đối tượng

Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:

Thí dụ

Tạo một lớp có tên MyClass, với một thuộc tính có tên X:

lớp MyClass: & nbsp; x = 5
print[p1.x]

Hãy tự mình thử »

Tạo đối tượng

Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:

Tạo một đối tượng có tên P1 và in giá trị của X:

p1 = myClass [] in [p1.x]

Hàm __init __ []

Thí dụ

Tạo một lớp có tên MyClass, với một thuộc tính có tên X:

lớp MyClass: & nbsp; x = 5
  def __init__[self, name, age]:
    self.name = name
    self.age = age

Hãy tự mình thử »

Tạo đối tượng
print[p1.age]

Hãy tự mình thử »

Tạo đối tượng The __init__[] function is called automatically every time the class is being used to create a new object.

Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:

Tạo một đối tượng có tên P1 và in giá trị của X:

p1 = myClass [] in [p1.x]

Thí dụ

Tạo một lớp có tên MyClass, với một thuộc tính có tên X:

lớp MyClass: & nbsp; x = 5
  def __init__[self, name, age]:
    self.name = name
    self.age = age

Hãy tự mình thử »

Tạo đối tượng

Hãy tự mình thử »

Thí dụ

Tạo một lớp có tên MyClass, với một thuộc tính có tên X:

lớp MyClass: & nbsp; x = 5
  def __init__[self, name, age]:
    self.name = name
    self.age = age

Hãy tự mình thử »
    return f"{self.name}[{self.age}]"

Tạo đối tượng

Tạo đối tượng

Hãy tự mình thử »

Tạo đối tượng

Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:

Tạo một đối tượng có tên P1 và in giá trị của X:

Thí dụ

Tạo một lớp có tên MyClass, với một thuộc tính có tên X:

lớp MyClass: & nbsp; x = 5
  def __init__[self, name, age]:
    self.name = name
    self.age = age

Hãy tự mình thử »
    print["Hello my name is " + self.name]

Tạo đối tượng
p1.myfunc[]

Hãy tự mình thử »

Tạo đối tượng The self parameter is a reference to the current instance of the class, and is used to access variables that belong to the class.

Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:

Tạo một đối tượng có tên P1 và in giá trị của X:

p1 = myClass [] in [p1.x]

Thí dụ

Tạo một lớp có tên MyClass, với một thuộc tính có tên X:

lớp MyClass: & nbsp; x = 5
  def __init__[mysillyobject, name, age]:
    mysillyobject.name = name
    mysillyobject.age = age

Hãy tự mình thử »
    print["Hello my name is " + abc.name]

Tạo đối tượng
p1.myfunc[]

Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:

Tạo một đối tượng có tên P1 và in giá trị của X:

p1 = myClass [] in [p1.x]

Hàm __init __ []

Các ví dụ trên là các lớp và đối tượng ở dạng đơn giản nhất của chúng và không thực sự hữu ích trong các ứng dụng thực tế.

Để hiểu ý nghĩa của các lớp, chúng ta phải hiểu hàm __init __ [] tích hợp.

Tất cả các lớp có một hàm gọi là __init __ [], luôn được thực thi khi lớp được bắt đầu.

Sử dụng hàm __init __ [] để gán các giá trị cho các thuộc tính đối tượng hoặc các hoạt động khác cần thiết để thực hiện khi đối tượng được tạo:

Tạo một lớp có tên là người, sử dụng hàm __init __ [] để gán các giá trị cho tên và tuổi:

người lớp: & nbsp; def __init __ [tự, tên, tuổi]: & nbsp; & nbsp; & nbsp; self.name = name & nbsp; & nbsp; & nbsp; tự.age = tuổi


Trừu tượng được sử dụng để ẩn chức năng nội bộ của hàm từ người dùng. Người dùng chỉ tương tác với việc triển khai cơ bản của chức năng, nhưng hoạt động bên trong được ẩn. Người dùng quen thuộc với "Chức năng nào" nhưng họ không biết "nó hoạt động như thế nào.""what function does" but they don't know "how it does."

Nói một cách đơn giản, tất cả chúng ta đều sử dụng điện thoại thông minh và rất quen thuộc với các chức năng của nó như máy ảnh, ghi âm thoại, quay số gọi, v.v., nhưng chúng ta không biết làm thế nào các hoạt động này đang diễn ra trong nền. Chúng ta hãy lấy một ví dụ khác - khi chúng ta sử dụng điều khiển TV để tăng âm lượng. Chúng tôi không biết làm thế nào việc nhấn một khóa làm tăng âm lượng của TV. Chúng tôi chỉ biết nhấn nút "+" để tăng âm lượng.

Đó chính xác là sự trừu tượng hoạt động trong khái niệm hướng đối tượng.

Tại sao sự trừu tượng là quan trọng?

Trong Python, một sự trừu tượng được sử dụng để ẩn dữ liệu/lớp không liên quan để giảm độ phức tạp. Nó cũng tăng cường hiệu quả ứng dụng. Tiếp theo, chúng ta sẽ tìm hiểu làm thế nào chúng ta có thể đạt được sự trừu tượng bằng chương trình Python.

Các lớp học trừu tượng trong Python

Trong Python, sự trừu tượng có thể đạt được bằng cách sử dụng các lớp và giao diện trừu tượng.

Một lớp bao gồm một hoặc nhiều phương thức trừu tượng được gọi là lớp trừu tượng. Phương pháp trừu tượng không chứa việc thực hiện của họ. Lớp trừu tượng có thể được kế thừa bằng phương pháp phân lớp và phương pháp trừu tượng có được định nghĩa của nó trong lớp con. Các lớp trừu tượng có nghĩa là bản thiết kế của lớp khác. Một lớp trừu tượng có thể hữu ích khi chúng ta đang thiết kế các chức năng lớn. Một lớp trừu tượng cũng hữu ích để cung cấp giao diện tiêu chuẩn cho các triển khai các thành phần khác nhau. Python cung cấp mô -đun ABC để sử dụng sự trừu tượng trong chương trình Python. Hãy xem cú pháp sau.abc module to use the abstraction in the Python program. Let's see the following syntax.

Cú pháp

Chúng tôi nhập lớp ABC từ mô -đun ABC.abc module.

Các lớp cơ sở trừu tượng

Một lớp cơ sở trừu tượng là chương trình ứng dụng phổ biến của giao diện cho một tập hợp các lớp con. Nó có thể được sử dụng bởi bên thứ ba, sẽ cung cấp các triển khai như với các plugin. Nó cũng có lợi khi chúng tôi làm việc với cơ sở mã lớn khó nhớ tất cả các lớp.

Làm việc của các lớp trừu tượng

Không giống như ngôn ngữ cấp cao khác, Python không cung cấp lớp trừu tượng. Chúng ta cần nhập mô -đun ABC, cung cấp cơ sở để xác định các lớp cơ sở trừu tượng [ABC]. ABC hoạt động bằng cách trang trí các phương pháp của lớp cơ sở là trừu tượng. Nó đăng ký các lớp cụ thể như là việc thực hiện cơ sở trừu tượng. Chúng tôi sử dụng bộ trang trí @abstractmethod để xác định một phương thức trừu tượng hoặc nếu chúng tôi không cung cấp định nghĩa cho phương thức, nó sẽ tự động trở thành phương thức trừu tượng. Hãy hiểu ví dụ sau.@abstractmethod decorator to define an abstract method or if we don't provide the definition to the method, it automatically becomes the abstract method. Let's understand the following example.

Thí dụ -

Output:

The mileage is 30kmph
The mileage is 27kmph 
The mileage is 25kmph 
The mileage is 24kmph

Giải trình -

Trong mã trên, chúng tôi đã nhập mô -đun ABC để tạo lớp cơ sở trừu tượng. Chúng tôi đã tạo ra lớp xe được thừa hưởng lớp ABC và xác định một phương thức trừu tượng có tên Mileage []. Sau đó, chúng tôi đã thừa hưởng lớp cơ sở từ ba lớp con khác nhau và thực hiện phương pháp trừu tượng khác nhau. Chúng tôi đã tạo các đối tượng để gọi phương thức trừu tượng.abc module to create the abstract base class. We created the Car class that inherited the ABC class and defined an abstract method named mileage[]. We have then inherited the base class from the three different subclasses and implemented the abstract method differently. We created the objects to call the abstract method.

Hãy hiểu một ví dụ khác.

Hãy hiểu một ví dụ khác.

Thí dụ -

Output:

Triangle has 3 sides
Square has 4 sides
Pentagon has 5 sides
Hexagon has 6 sides

Giải trình -

Trong mã trên, chúng tôi đã nhập mô -đun ABC để tạo lớp cơ sở trừu tượng. Chúng tôi đã tạo ra lớp xe được thừa hưởng lớp ABC và xác định một phương thức trừu tượng có tên Mileage []. Sau đó, chúng tôi đã thừa hưởng lớp cơ sở từ ba lớp con khác nhau và thực hiện phương pháp trừu tượng khác nhau. Chúng tôi đã tạo các đối tượng để gọi phương thức trừu tượng.sides[] method. The hidden implementations for the sides[] method inside the each subclass comes into play. The abstract method sides[] method, defined in the abstract class, is never invoked.

Hãy hiểu một ví dụ khác.

Trong mã trên, chúng tôi đã xác định lớp cơ sở trừu tượng có tên Polygon và chúng tôi cũng đã xác định phương thức trừu tượng. Lớp cơ sở này được thừa hưởng bởi các lớp con khác nhau. Chúng tôi đã thực hiện phương pháp trừu tượng trong mỗi lớp con. Chúng tôi đã tạo đối tượng của các lớp con và gọi phương thức Side []. Các triển khai ẩn cho phương thức Side [] bên trong mỗi lớp con xuất hiện. Phương thức Tóm tắt Phương thức [] Phương thức, được định nghĩa trong lớp trừu tượng, không bao giờ được gọi.

  • Một lớp trừu tượng có thể chứa cả phương thức bình thường và phương pháp trừu tượng.
  • Một bản tóm tắt không thể được khởi tạo; Chúng ta không thể tạo các đối tượng cho lớp trừu tượng.

Trừu tượng là điều cần thiết để ẩn chức năng cốt lõi từ người dùng. Chúng tôi đã đề cập đến tất cả các khái niệm cơ bản về sự trừu tượng trong Python.

Trừu tượng Python là gì?

Sự trừu tượng trong Python được định nghĩa là một quá trình xử lý sự phức tạp bằng cách che giấu thông tin không cần thiết từ người dùng. Đây là một trong những khái niệm cốt lõi của các ngôn ngữ lập trình hướng đối tượng [OOP].a process of handling complexity by hiding unnecessary information from the user. This is one of the core concepts of object-oriented programming [OOP] languages.

Ví dụ trừu tượng với ví dụ là gì?

Nói một cách đơn giản, sự trừu tượng hóa chỉ hiển thị các thuộc tính có liên quan của các đối tượng và ẩn giấu các chi tiết không cần thiết.Ví dụ, khi chúng tôi đang lái một chiếc xe hơi, chúng tôi chỉ quan tâm đến việc lái chiếc xe như khởi động/ dừng xe, tăng tốc/ phá vỡ, v.v.“displays” only the relevant attributes of objects and “hides” the unnecessary details. For example, when we are driving a car, we are only concerned about driving the car like start/stop the car, accelerate/ break, etc.

Các loại trừu tượng trong Python là gì?

Trong Python, sự trừu tượng hoạt động bằng cách kết hợp các lớp và phương pháp trừu tượng.Lớp trừu tượng: Một lớp được chỉ định trong mã có các phương thức trừu tượng được đặt tên là lớp trừu tượng.Phương pháp trừu tượng: Ở đây, nó không có bất kỳ triển khai nào.Tất cả các triển khai được thực hiện bên trong các lớp con.

Một sự trừu tượng trong OOP là gì?

Trừu tượng là khái niệm lập trình hướng đối tượng "hiển thị" chỉ các thuộc tính thiết yếu và "ẩn" thông tin không cần thiết.Mục đích chính của sự trừu tượng là che giấu các chi tiết không cần thiết từ người dùng.the concept of object-oriented programming that "shows" only essential attributes and "hides" unnecessary information. The main purpose of abstraction is hiding the unnecessary details from the users.

Bài Viết Liên Quan

Chủ Đề