Hướng dẫn what is class name in python? - tên lớp trong python là gì?

Làm cách nào để tìm ra tên của lớp được sử dụng để tạo một thể hiện của một đối tượng trong Python?

Tôi không chắc liệu tôi có nên sử dụng mô -đun

x.__class__.__name__
7 hay phân tích thuộc tính
x.__class__.__name__
8.

Hướng dẫn what is class name in python? - tên lớp trong python là gì?

Mateen Ulhaq

22.6K16 Huy hiệu vàng86 Huy hiệu bạc128 Huy hiệu đồng16 gold badges86 silver badges128 bronze badges

Đã hỏi ngày 4 tháng 2 năm 2009 lúc 11:37Feb 4, 2009 at 11:37

2

Bạn đã thử thuộc tính

x.__class__.__name__
9 của lớp chưa? IE
instance.__class__.__name__
0 sẽ cho bạn tên của lớp, mà tôi nghĩ là những gì bạn muốn.

>>> import itertools
>>> x = itertools.count(0)
>>> type(x).__name__
'count'

Nếu bạn vẫn đang sử dụng Python 2, hãy lưu ý rằng phương thức trên chỉ hoạt động với các lớp kiểu mới (trong Python 3+ Tất cả các lớp là các lớp "kiểu mới"). Mã của bạn có thể sử dụng một số lớp kiểu cũ. Các tác phẩm sau đây cho cả hai:

x.__class__.__name__

Đã trả lời ngày 4 tháng 2 năm 2009 lúc 12:02Feb 4, 2009 at 12:02

Sykorasykorasykora

92.9k11 Huy hiệu vàng62 Huy hiệu bạc71 Huy hiệu đồng11 gold badges62 silver badges71 bronze badges

10

Bạn có muốn tên của lớp dưới dạng chuỗi không?

instance.__class__.__name__

Đã trả lời ngày 4 tháng 2 năm 2009 lúc 12:02Feb 4, 2009 at 12:02

Sykorasykoramthurlin

92.9k11 Huy hiệu vàng62 Huy hiệu bạc71 Huy hiệu đồng4 gold badges37 silver badges46 bronze badges

6

Bạn có muốn tên của lớp dưới dạng chuỗi không?

>>> class A:
...     def whoami(self):
...         print(type(self).__name__)
...
>>>
>>> class B(A):
...     pass
...
>>>
>>>
>>> o = B()
>>> o.whoami()
'B'
>>>

MthurlinmthurlinFeb 4, 2009 at 11:42

25.5k4 Huy hiệu vàng37 Huy hiệu bạc46 Huy hiệu đồngGHZ

instance.__class__.__name__
1?3 gold badges24 silver badges26 bronze badges

4

class A:
  pass

a = A()
str(a.__class__)

Đã trả lời ngày 4 tháng 2 năm 2009 lúc 11:42

"{0}.{1}".format(a.__class__.__module__,a.__class__.__name__)

GHZGHZ

3.2053 huy hiệu vàng24 Huy hiệu bạc26 Huy hiệu đồng

Mã mẫu ở trên (khi đầu vào trong trình thông dịch tương tác) sẽ tạo ra

instance.__class__.__name__
2 trái ngược với
instance.__class__.__name__
3 được tạo ra nếu thuộc tính
x.__class__.__name__
9 được gọi. Chỉ cần chuyển kết quả của
instance.__class__.__name__
5 cho hàm tạo
instance.__class__.__name__
6, phân tích cú pháp được xử lý cho bạn. Tuy nhiên, bạn cũng có thể sử dụng mã sau nếu bạn muốn một cái gì đó rõ ràng hơn.Jun 9, 2014 at 23:04

Hành vi này có thể thích hợp hơn nếu bạn có các lớp có cùng tên được xác định trong các mô -đun riêng biệt.Jonathan

Mã mẫu được cung cấp ở trên đã được thử nghiệm trong Python 2.7.5.4 silver badges2 bronze badges

0

Đã trả lời ngày 9 tháng 6 năm 2014 lúc 23:04

type(instance).__name__ != instance.__class__.__name__
# if class A is defined like
class A():
   ...

type(instance) == instance.__class__
# if class A is defined like
class A(object):
  ...

Example:

Jonathanjonathan

Hướng dẫn what is class name in python? - tên lớp trong python là gì?

5094 Huy hiệu bạc2 Huy hiệu đồng

Trong Python 2,8 gold badges53 silver badges74 bronze badges

>>> class aclass(object):
...   pass
...
>>> a = aclass()
>>> type(a)

>>> a.__class__

>>>
>>> type(a).__name__
'aclass'
>>>
>>> a.__class__.__name__
'aclass'
>>>


>>> class bclass():
...   pass
...
>>> b = bclass()
>>>
>>> type(b)

>>> b.__class__

>>> type(b).__name__
'instance'
>>>
>>> b.__class__.__name__
'bclass'
>>>
Apr 30, 2013 at 5:50

wjandreaPrasath

25.2k8 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng4 silver badges11 bronze badges

1

Đã trả lời ngày 30 tháng 4 năm 2013 lúc 5:50

class A:
    @classmethod
    def get_classname(cls):
        return cls.__name__

    def use_classname(self):
        return self.get_classname()

Usage::

>>> A.get_classname()
'A'
>>> a = A()
>>> a.get_classname()
'A'
>>> a.use_classname()
'A'

PrasathprasathSep 13, 2017 at 19:11

0

5654 Huy hiệu bạc11 Huy hiệu đồng

Ngoài ra, bạn có thể sử dụng trình trang trí

instance.__class__.__name__
7:

x.__class__.__name__
0

Đã trả lời ngày 13 tháng 9 năm 2017 lúc 19:11Feb 21, 2012 at 19:07

Câu hỏi hay.RyanN

Đây là một ví dụ đơn giản dựa trên GHZ có thể giúp ai đó:8 silver badges19 bronze badges

Đã trả lời ngày 21 tháng 2 năm 2012 lúc 19:07

Ryannryann

x.__class__.__name__
1

7408 Huy hiệu bạc19 Huy hiệu đồng

Ngoài việc lấy thuộc tính

x.__class__.__name__
9 đặc biệt, bạn có thể thấy mình cần tên đủ điều kiện cho một lớp/chức năng nhất định. Điều này được thực hiện bằng cách lấy các loại
instance.__class__.__name__
9.Jul 12, 2017 at 15:01

Hướng dẫn what is class name in python? - tên lớp trong python là gì?

3

Trong hầu hết các trường hợp, những điều này sẽ hoàn toàn giống nhau, nhưng, khi xử lý các lớp/phương pháp lồng nhau này khác nhau trong đầu ra bạn nhận được. Ví dụ:

Example:

x.__class__.__name__
2

Vì hướng nội là những gì bạn theo đuổi, điều này luôn luôn là bạn có thể muốn xem xét.qualname

Đã trả lời ngày 12 tháng 7 năm 2017 lúc 15:01Nov 15, 2020 at 10:12

Hướng dẫn what is class name in python? - tên lớp trong python là gì?

1

Bạn có thể chỉ cần sử dụng

instance.__class__.__name__
9 trong đó viết tắt của tên đủ điều kiện của một chức năng hoặc lớp học

x.__class__.__name__
3

Liên kết tài liệu Qualname

instance.__class__.__name__

Đã trả lời ngày 15 tháng 11 năm 2020 lúc 10:12

Để có được phiên bản ClassName:May 21, 2020 at 15:03

v.babakv.babakv.babak

hoặc9 silver badges13 bronze badges

1

cả hai đều giống nhau

x.__class__.__name__
5

Đã trả lời ngày 21 tháng 5 năm 2020 lúc 15:03

x.__class__.__name__
6

7589 Huy hiệu bạc13 Huy hiệu ĐồngSep 18 at 9:33

Trước tiên bạn có thể sử dụng

>>> class A:
...     def whoami(self):
...         print(type(self).__name__)
...
>>>
>>> class B(A):
...     pass
...
>>>
>>>
>>> o = B()
>>> o.whoami()
'B'
>>>
1 và sau đó
instance.__class__.__name__
6 để trích xuất tên lớp từ nó.Supergamer

Kết quả2 silver badges9 bronze badges

Lớp học trong Python với ví dụ là gì?

Một lớp tạo ra một không gian tên cục bộ mới nơi tất cả các thuộc tính của nó được xác định. Các thuộc tính có thể là dữ liệu hoặc chức năng. Ngoài ra còn có các thuộc tính đặc biệt trong đó bắt đầu với Double nhấn mạnh __. Ví dụ, __doc__ cung cấp cho chúng ta tài liệu của lớp đó.creates a new local namespace where all its attributes are defined. Attributes may be data or functions. There are also special attributes in it that begins with double underscores __ . For example, __doc__ gives us the docstring of that class.

Một lớp học trong Python là gì?

Một lớp là một mẫu mã để tạo các đối tượng.Đối tượng có các biến thành viên và có hành vi liên quan đến chúng.Trong Python, một lớp được tạo bởi lớp từ khóa.Một đối tượng được tạo bằng cách sử dụng hàm tạo của lớp.Đối tượng này sau đó sẽ được gọi là thể hiện của lớp.a code template for creating objects. Objects have member variables and have behaviour associated with them. In python a class is created by the keyword class . An object is created using the constructor of the class. This object will then be called the instance of the class.

Lớp học trong __ init __ là gì?

Phương pháp __init__ là tương đương Python của hàm tạo C ++ theo cách tiếp cận hướng đối tượng.Hàm __init__ được gọi mỗi khi một đối tượng được tạo từ một lớp.Phương thức __init__ cho phép lớp khởi tạo các thuộc tính của đối tượng và không phục vụ mục đích nào khác.Nó chỉ được sử dụng trong các lớp học.lets the class initialize the object's attributes and serves no other purpose. It is only used within classes.

__ Lớp __ có nghĩa là gì trong Python?

__ class__ là một thuộc tính trên đối tượng đề cập đến lớp mà từ đó đối tượng được tạo.một.__Class__ # Đầu ra: b.__Class__ # Đầu ra: Sau các loại dữ liệu đơn giản, giờ đây chúng ta hãy hiểu chức năng loại và __Class__ với sự trợ giúp của lớp do người dùng xác định, con người.an attribute on the object that refers to the class from which the object was created. a. __class__ # Output: b. __class__ # Output: After simple data types, let's now understand the type function and __class__ attribute with the help of a user-defined class, Human .