Python lấy tên lớp

Trong một số trường hợp, điều quan trọng là phải biết loại của lớp khi khởi tạo một đối tượng. Chúng tôi sẽ sử dụng lớp trên để chỉ cho bạn các phương pháp khác nhau để thực hiện việc này

Python Nhận tên lớp. Sử dụng __class__. __Tên__

Để lấy tên lớp của một đối tượng hoặc kiểu của nó, phương pháp đầu tiên là sử dụng thuộc tính __class__. Chúng ta có thể kết hợp thuộc tính này với thuộc tính __name__ để lấy tên lớp của một đối tượng. Đây là cách làm

class Superhero:
    def __init__[self, name, p]:
        self.name = name
        self.power = self.Power[p]

    class Power:
        def __init__[self, power]:
            self.power = power


superhero = Superhero["Superman", ['X-rays vision', 'superhuman strength', 'super-speed']]

print[superhero.__class__]
print[superhero.__class__.__name__]
  

đầu ra

Superhero

Để hiển thị tên của lớp bạn phải

  • Tạo một đối tượng siêu anh hùng của lớp Superhero[]
  • Hiển thị tên của lớp bằng class. Tên

Python Nhận tên lớp. Sử dụng thuộc tính type[] và __name__

Một phương pháp khác là sử dụng hàm type[]. Hàm type[] là một hàm được xác định trước trong python được sử dụng để tìm ra loại hoặc tên lớp của một đối tượng

Chúng ta có thể kết hợp hàm type[] với biến __name__ để lấy tên của một lớp

class Superhero:
    def __init__[self, name, p]:
        self.name = name
        self.power = self.Power[p]

    class Power:
        def __init__[self, power]:
            self.power = power


superhero = Superhero["Superman", ['X-rays vision', 'superhuman strength', 'super-speed']]

print[type[superhero].__name__]
 

đầu ra

Superhero

Biến __name__ là một biến đặc biệt được tích hợp trong python cung cấp tên của mô-đun hiện tại nơi nó được sử dụng

Các lớp lồng nhau. Sử dụng __qualname__ thay vì __name__

Trong một số trường hợp, có thể có các lớp lồng nhau. Trong trường hợp này, nên sử dụng thuộc tính __qualname__ hơn là __name__ để lấy tên đủ điều kiện của loại

Đây là một ví dụ

class Superhero:
    def __init__[self, name, p]:
        self.name = name
        self.power = self.Power[p]

    class Power:
        def __init__[self, power]:
            self.power = power


superhero = Superhero["Superman", ['X-rays vision', 'superhuman strength', 'super-speed']]

print[superhero.power.__class__.__name__]
print[superhero.power.__class__.__qualname__]

đầu ra

Power
Superhero.Power

Phần kết luận

Hướng dẫn này giải thích cho bạn các phương pháp khác nhau để lấy tên hoặc loại của một lớp. Cảm ơn bạn đã dành thời gian để đọc nó và tôi hy vọng nó đã giúp bạn

Trong ví dụ này, chúng ta có thể lấy tên của đối tượng lớp bằng cách sử dụng thuộc tính __qualname__ thay vì thuộc tính __name__. __qualname__ cung cấp đường dẫn chấm đến tên của đối tượng đích. Khi xử lý các cấu trúc lồng nhau, chẳng hạn như khi một phương thức được chứa trong một lớp, sử dụng __qualname__ sẽ có lợi

Superhero
0 là thuộc tính của lớp mà nó được liên kết và
Superhero
1 là một biến đặc biệt trong Python. Chức năng của nó phụ thuộc vào nơi nó được sử dụng

  • Tạo một đối tượng
    Superhero
    
    2 của lớp
    Superhero
    
    3
  • In tên của lớp bằng cách sử dụng
    Superhero
    
    4

ví dụ 2. Sử dụng thuộc tính type[] và __name__

class Vehicle:
    def name[self, name]:
        return name

v = Vehicle[]
print[type[v].__name__]

đầu ra

Vehicle

Sử dụng thuộc tính

Superhero
1 với
Vehicle
0, bạn có thể lấy tên lớp của một thể hiện/đối tượng như trong ví dụ trên.
Vehicle
0 đưa ra lớp đối tượng
Superhero
2 và
Superhero
1 đưa ra tên lớp

Một lớp, giống như một hàm tạo của một đối tượng, có thể được coi là một mẫu do người dùng định nghĩa để tạo các đối tượng. Với thuật ngữ “lớp” được sử dụng trong chương trình python, bạn có thể xây dựng các lớp. Một lớp là một loại cấu trúc dữ liệu có thể chứa cả dữ liệu và phương thức thành viên

Các lớp là cốt lõi của OOP và thông qua chúng mà các đối tượng được tạo ra. Lớp được định nghĩa là mô tả hoặc định nghĩa của đối tượng. Lớp mô tả đặc điểm của đối tượng nhưng không liên quan đến bản thân đối tượng

Hơn nữa, nhiều đối tượng được mô tả bởi một lớp duy nhất. Việc lập trình tuân theo một luồng trong đó lớp được chỉ định trước, sau đó là mô tả đối tượng. Mỗi lớp có tên riêng và tập hợp các thuộc tính và hành vi riêng

Cú pháp của lớp trong Python

Sau đây là cú pháp để tạo lớp python

lớp Tên lớp.

#dòng mã 1

.

.

.

#dòng mã n

Một thuật ngữ khác cho một lớp là thủ tục. Các phương thức là tên của các hàm trong các lớp. Họ có một khối mã có thể được gọi để thực hiện một tập hợp các hoạt động và trả về kết quả

ví dụ 1. Tạo một lớp trong Python

Các lớp được tạo bằng cách sử dụng thuật ngữ lớp và mỗi lớp có một bộ thuộc tính riêng. Các thuộc tính đề cập đến các biến bao gồm một lớp. Dấu chấm [. Toán tử ] thường được sử dụng để truy cập các thuộc tính luôn công khai

Chúng tôi đã tạo một lớp bằng cách sử dụng thuật ngữ "lớp" trong tập lệnh python sau. Tên lớp được định nghĩa là “Những bông hoa. ” Chúng tôi đã tạo một hàm tạo init của lớp, hàm này đã nhận một biến “f_name” và “f_color. ” Sau đó, chúng tôi truy cập biến bằng cách sử dụng toán tử dấu chấm. Hàm được xây dựng ở đây dưới dạng một “hàm” trong đó chúng ta đã chuyển thể hiện “bản thân” của lớp. Biểu thức in hiển thị giá trị thuộc tính lớp. Sau đó, cuối cùng, chúng ta đã khởi tạo các giá trị cho f_name và f_color trong một biến mới, “flower1,” và gọi hàm[]

lớp Hoa.

def __init__[bản thân, . f_name, f_color]:

bản thân . f_name = f_name

self . Hàm f_color = f_color

def . [self]:

in["Hoa là " + self.f_name]

hoa1 = Hoa . ["Rose", "Red"]

flower1.chức năng[]

Giá trị thuộc tính lớp được hiển thị trên màn hình như sau

ví dụ 2. Nhận Tên lớp bằng cách sử dụng __class__. __name__ trong Python

Thuộc tính __class__ thường áp dụng cho lớp của đối tượng mà chúng ta muốn lấy, là cách đầu tiên và dễ nhất để lấy tên lớp trong Python. __name__ có thể được sử dụng với __class__ để lấy lớp của đối tượng. Để xác định lớp của đối tượng, đoạn mã sau sử dụng cả __class__ và __name__

Chúng tôi đã thành lập một lớp học với tên là động vật. ” Hàm tạo init được gọi khi chúng ta đã truyền một đối tượng “self” và tên biến “animal” làm đối số. Sau đó, biến đối tượng “động vật” được định nghĩa. Để hiển thị tên lớp, trước tiên chúng tôi xây dựng đối tượng là “obj1” cho lớp đó và sau đó sử dụng lớp. tên để hiển thị tên của nó

lớp động vật.

def __init__[bản thân, . animal]:

bản thân . động vật = động vật

obj1 = . __class__ animal["Horse"]

print [obj1.__class__]

in [ obj1. __lớp__. __name__ ]

Tên lớp được trình biên dịch python truy cập trong trình bao dấu nhắc đã cho

ví dụ 3. Lấy tên lớp bằng cách sử dụng type[] và __name__attribute trong Python

Một tùy chọn khác là sử dụng phương thức type[], đây là phương thức Python tích hợp để xác định loại đối tượng hoặc tên lớp. Như đã thấy trong ví dụ bên dưới, bạn phải kết hợp phương thức type[] với biến __name__ để lấy tên lớp

Trong tập lệnh python sau đây, chúng ta có một lớp có tên “nhân viên. ” Sau khi tạo một lớp, chúng ta đã gọi một hàm tạo mà đối tượng “self” và biến “employee” được truyền vào. Sau đó, chúng ta đã tạo một biến đối tượng “self. người lao động". Id đối tượng lớp được thiết lập là “emp_name” và cũng được khởi tạo bằng cách gọi tên lớp. Phương thức loại được tạo bên trong chức năng in. Chúng tôi đã chuyển đối tượng của lớp với __name__. Tên của lớp được cung cấp sẽ được lấy bằng phương pháp này

hạng nhân viên.

def __init__[bản thân, . employee]:

bản thân . nhân viên = nhân viên

emp_name = . __name__ employee["kalsoom"]

print [type[emp_name].__name__]

Do đó, chúng tôi đã nhận được tên lớp theo loại và phương thức __name__attribute khi đầu ra được hiển thị trong hình ảnh

Ví dụ 4. Lấy tên lớp bằng cách sử dụng các lớp lồng nhau trong Python

Đôi khi bạn cần một tên lớp cho các lớp lồng nhau trong chương trình của chúng ta. Để có được tên của đối tượng có thẩm quyền, trong trường hợp này, chúng ta có thể sử dụng thuộc tính __qualname__ thay vì thuộc tính __name__

Ở đó chúng tôi có hai lớp được định nghĩa là “nước trái cây” và “Bữa ăn. ” Ngoài ra, chúng tôi đã tạo các thể hiện biến cho cả hai lớp, như được hiển thị trong mã nguồn. Đối tượng của bữa ăn được gọi bên trong lớp “juice” và truyền một biến “j” làm tham số. Sau đó, lớp “juice” đối tượng “obj_juice” được thiết lập nơi chúng ta đã đặt các giá trị cho đối tượng juice và meal. Hàm in có cả phương thức “__name__” để lấy tên của lớp và __qualname__ để lấy tên đối tượng đủ điều kiện

lớp Nước trái cây.

def __init__[bản thân, . j_name, j]:

bản thân . j_name = j_name

self . obj_meal = bản thân . Bữa ăn[ j ]

 < .

class Meal:

def __init__[bản thân, . obj_meal]:

bản thân . obj_meal = obj_meal

 

obj_juice < . = Juice["pineapple", ['fries']]

print[obj_juice .obj_meal . __lớp__. __name__ ]

in[ obj_juice. obj_meal . __lớp__. __qualname__ ]

Đầu ra được tạo ra như sau

Phần kết luận

Nhiều lợi ích của lập trình hướng đối tượng trong Python bao gồm tính trừu tượng, tính đa hình và các tính năng khác. Nó tạo điều kiện cho việc bảo trì mã của bạn dễ dàng và không có lỗi bằng cách tăng cường cấu trúc của nó và cho phép nó được sử dụng lại. Bài viết này trình bày cách sử dụng các phương thức __class__, type[] và __qualname__ trong Python để nhanh chóng lấy tên lớp. Điều quan trọng là bạn phải nắm bắt và hiểu đúng chiến lược này để lập trình đơn giản và hiệu quả.

__ lớp __ __ tên __ trong Python là gì?

__name__ là một biến tích hợp dùng để đánh giá tên của mô-đun hiện tại .

Làm cách nào để tìm lớp trong Python?

ví dụ 1. Sử dụng __class__. __class__ là thuộc tính của lớp mà nó được liên kết và __name__ là một biến đặc biệt trong Python. Chức năng của nó phụ thuộc vào nơi nó được sử dụng. Tạo một đối tượng v của lớp Xe[]. In tên của lớp bằng cách sử dụng __class__

__ str __ trong Python là gì?

Trăn __str__[] . Phương thức này được gọi khi hàm print[] hoặc str[] được gọi trên một đối tượng. Phương thức này phải trả về đối tượng String. This method returns the string representation of the object. This method is called when print[] or str[] function is invoked on an object. This method must return the String object.

Chủ Đề