So erhalten Sie den Klassennamen eines Objekts als Zeichenfolge in Python


Beste Antwort

Sie können den Namen erhalten, indem Sie auf \_\_name\_\_ Attribut der Klasse; Wenn Sie ein Objekt haben, können Sie die Klasse abrufen, indem Sie auf das Attribut \_\_class\_\_ des Objekts zugreifen.

>>> class SillyClassName:

... @classmethod

... def my\_name(cls\_):

... return cls\_.\_\_name\_\_

...

... def class\_name(self):

... return self.\_\_class\_\_.\_\_name\_\_

...

>>> SillyClassName.my\_name()

SillyClassName

>>>

>>> inst = SillyClassName()

>>> inst.class\_name()

SillyClassName

Vorsicht – Wenn Sie dies verwenden, um in einer Situation, in der Sie Vererbung verwenden, auf den Klassennamen zuzugreifen, gibt die Verwendung von self.\_\_class\_\_.\_\_name\_\_\_ den Namen der ursprünglichen Klasse zurück, nicht den Klasse, die den Code enthält.

>>> class SecondSillyClass(SillyClassName):

... pass

...

>>> inst = SecondSillyClass()

>>> SecondSillyClass.my\_name()

SecondSillyClass

>>> inst.class\_name()

SecondSillyClass

Beantworten Sie

auf drei Arten :

  • Verwenden Sie den Operator in: "orld" in "Hello World" zum Beispiel
  • Verwenden Sie den find() Methode: "Hello World".find("or") – Dies gibt den Index der Unterzeichenfolge in der Hauptzeichenfolge zurück. – Gibt -1 zurück, wenn die Unterzeichenfolge verwendet wird befindet sich nicht in der Hauptzeichenfolge.
  • Verwenden Sie die Methode count() "Hello World".count("or") – dies gibt zurück, wie oft die Unterzeichenfolge verwendet wird ist in der Hauptzeichenfolge enthalten – gibt 0 zurück, wenn die Unterzeichenfolge nicht in der Hauptzeichenfolge enthalten ist.

Verwenden Sie entweder find () oder count (), um zu testen, ob eine Teilzeichenfolge enthalten ist In einer Hauptzeichenfolge ist dies keine gute Vorgehensweise. Sie kann jedoch durchgeführt werden, wenn Sie die von ihnen bereitgestellten Informationen aus anderen Gründen verwenden möchten.

Führen Sie beispielsweise Folgendes aus:

if substring in mainstring:

index = mainstring.find(substring)

after = maintstring[index+len(substring):]

Ist tatsächlich schlecht üben – es wäre besser, dies zu tun:

index = mainstring.find(substring)

if index != -1:

after = maintstring[index+len(substring):]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.