Detaillierte Erklärung der neuen Python-Spezialmethode
object.__new__(cls[, ...])
Wird aufgerufen, um eine neue Instanz der Klasse cls zu erstellen. __new__() ist eine statische Methode (in Sonderfällen, sodass Sie sie nicht als solche deklarieren müssen), die die Klasse, deren Instanz angefordert wurde, als erstes Argument verwendet. Die übrigen Argumente werden an den Objektkonstruktorausdruck (den Aufruf der Klasse) übergeben. Der Rückgabewert von __new__() sollte die neue Objektinstanz sein (normalerweise eine Instanz von cls).
Typische Implementierungen erstellen eine neue Instanz der Klasse, indem sie die Methode __new__() der Oberklasse mit super(currentclass, cls) aufrufen ).__new__(cls[, ...]) mit entsprechenden Argumenten und dann die neu erstellte Instanz nach Bedarf ändern, bevor sie zurückgegeben wird.
Wenn __new__() eine Instanz von cls zurückgibt, dann wird die __init__ der neuen Instanz () Methode wird wie __init__(self[, ...]) aufgerufen, wobei self die neue Instanz ist und die verbleibenden Argumente dieselben sind, die an __new__() übergeben wurden.
Wenn __new__() dies tut keine Instanz von cls zurückgibt, wird die Methode __init__() der neuen Instanz nicht aufgerufen.
__new__() ist hauptsächlich dazu gedacht, Unterklassen unveränderlicher Typen (wie int, str oder tuple) die Anpassung der Instanz zu ermöglichen Schaffung. Es wird auch häufig in benutzerdefinierten Metaklassen überschrieben, um die Klassenerstellung anzupassen.
调用产生一个新的类的实例,cls. __new__()是一个静态方法(不需要声明), 类本身(cls)作为第一个参数,其他的的参数是传递给对象构造函数的表达式(对类的调用),__new()__的返回值应该是一个新的对象实例(一般是cls的实例).典型的实现方法就是在返回新生成的实例之前,调用父类的__new()__方法(super(currentclass, cls).__new__ (cls[, ...]))的)。
如果__new()_ _返回了一个cls的实例对象, 然后就会调用这个新的实例的__init()__方法(__init__[,...]), self指新创建的实例其余的参数和传递给__new( ). ()__主要用来进行不可变类型(像是int,str,或者元组)的子类自定义实例的创建.也可以重写自定义元类来进行自定义类的创建.
举例:在
class Word(str): def __new__(cls,word): if ' ' in word: print("there is qutos") word = ''.join(word.split()) return str.__new__(cls,word) a = Word('hello sherry') print(a)

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

In dem Artikel werden beliebte Python-Bibliotheken wie Numpy, Pandas, Matplotlib, Scikit-Learn, TensorFlow, Django, Flask und Anfragen erörtert, die ihre Verwendung in wissenschaftlichen Computing, Datenanalyse, Visualisierung, maschinellem Lernen, Webentwicklung und h beschreiben

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

Fastapi ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Regelmäßige Ausdrücke sind leistungsstarke Tools für Musteranpassung und Textmanipulation in der Programmierung, wodurch die Effizienz bei der Textverarbeitung in verschiedenen Anwendungen verbessert wird.
