[PYTHON] Eine Einführung in die Objektorientierung - Geben Sie einem Objekt ein Kind.

Ich schreibe einen Artikel als Memo, während ich Teile für die Evolutionssimulation von Python mache. Der vorherige Artikel war hier (Einführung in die Objektorientierung - Ändern wir den internen Status eines Objekts)

Dieses Mal habe ich einen Entwurf für eine Methode (Reproduktion) erstellt, mit der eine virtuelle Person gebären kann. Die Reproduktionsmethode verwendet die Deepcopy des Kopiermoduls.

reproduction.py


#Implementierung der Reproduktion
import copy                     #Verwenden Sie Deepcopy für die Reproduktion.

class SampleIndividual:
    def __init__(self,x,y,z):
            self.state_x = x
            self.state_y = y
            self.state_z = z

    def mutation(self):                     #Methode zur Variation des internen Zustands.
        self.state_x = 10

    def reproduction(self):                 #Methode, um ein Kind zur Welt zu bringen
        self.child = copy.deepcopy(self)    
        self.child.mutation()               #Variation des inneren Zustands
        return self.child

Unten ist die Ausgabe. Richtig, Mutter und Kind sind getrennte Instanzen.

Ausgabe


mother = SampleIndividual(5,5,5)        #Übergeordnetes Element erstellen

child = mother.reproduction()           #Ein Kind schaffen
print(vars(child))
#=> {'state_x': 10, 'state_y': 5, 'state_z': 5}

print("mother id:{}".format(id(mother)))             #Überprüfen Sie, ob es sich um eine andere Instanz handelt
print("child id:{}".format(id(child)))
#=> 4453353808
#=> 4453466064

das ist alles. Danke fürs Lesen.

Recommended Posts

Eine Einführung in die Objektorientierung - Geben Sie einem Objekt ein Kind.
Eine leichte Einführung in die Objekterkennung
Eine Einführung in das maschinelle Lernen
Eine Einführung in die Python-Programmierung
Einführung in die Bayes'sche Optimierung
Einführung in das maschinelle Lernen mit Simple Perceptron
Eine Einführung in die Objektorientierung: Ändern Sie den internen Status eines Objekts
Konvertieren Sie eine Zeichenfolge in ein Bild
Erste Schritte mit Python für Nicht-Ingenieure
[Python Tutorial] Eine einfache Einführung in Python
Python Bit Arithmetic Super Einführung
Eine Einführung in OpenCV für maschinelles Lernen
Rekursives neuronales Netzwerk: Eine Einführung in RNN
Eine Einführung in Python für maschinelles Lernen
Eine Einführung in Python für C-Sprachprogrammierer
Eine Einführung in selbst erstellte Python-Webanwendungen für einen trägen Webingenieur im dritten Jahr
Einführung in MQTT (Einführung)
Was ist ein Algorithmus? Einführung in den Suchalgorithmus] ~ Python ~
Einführung in Scrapy (1)
Einführung in Scrapy (3)
Erste Schritte mit Supervisor
Eine Einführung in die objektorientierte Programmierung für Anfänger von Anfängern
Einführung in Tkinter 1: Einführung
So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
Eine Einführung in Cython, ohne tief zu gehen
Einführung in PyQt
Einführung in Scrapy (2)
Eine Einführung in die statistische Modellierung für die Datenanalyse
[Einführung in Python3, Tag 23] Kapitel 12 Werden Sie Paisonista (12.1 bis 12.6)
[Linux] Einführung in Linux
Ich habe versucht, ein Objekt mit M2Det zu erkennen!
Einführung in Scrapy (4)
Speichern Sie das Objekt in einer Datei mit pickle
Einführung in Python "Re" 1 Erstellen einer Ausführungsumgebung
Einführung in discord.py (2)
Eine Einführung in die Sprachanalyse für Musik-Apps
Einführung in Cython ohne tief zu gehen -2-
[Python] Sie können ein Objekt mithilfe des Pickle-Moduls in einer Datei speichern.
Konvertieren Sie das Slice-Objekt in eine Liste mit Indexnummern
So konvertieren Sie ein Klassenobjekt mit SQLAlchemy in ein Wörterbuch
Einführung in die verteilte Parallelverarbeitung von Python durch Ray
Lesehinweis: Einführung in die Datenanalyse mit Python
[Einführung in Python] Hochgeschwindigkeits-Einführung in Python für vielbeschäftigte C ++ - Programmierer
So verwandeln Sie eine .py-Datei in eine .exe-Datei
Einführung in Word2Vec, die auch Katzen verstehen können
So stellen Sie eine Go-Anwendung auf einer ECS-Instanz bereit
Python: Ruft eine Liste der Methoden für ein Objekt ab
Einführung in die lineare Algebra mit Python: A = LU-Zerlegung
Erste Schritte mit Web Scraping
Einführung in nichtparametrische Felder
Einführung in die Python-Sprache
Einführung in die TensorFlow-Bilderkennung
Einführung in OpenCV (Python) - (2)
Einführung in die Abhängigkeitsinjektion
Einführung in Private Chainer
Einführung in das maschinelle Lernen
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch