Aus einem Buch, das Programmierer lernen können (Python): Klassendeklaration (öffentlich / privat usw.)

[Dieses Buch](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3 % 81% AE% E8% 80% 83% E3% 81% 88% E6% 96% B9% E3% 81% 8C% E3% 81% 8A% E3% 82% 82% E3% 81% 97% E3% 82 % 8D% E3% 81% 84% E3% 81% BB% E3% 81% A9% E8% BA% AB% E3% 81% AB% E3% 81% A4% E3% 81% 8F% E6% 9C% AC -% E5% 95% 8F% E9% A1% 8C% E8% A7% A3% E6% B1% BA% E8% 83% BD% E5% 8A% 9B% E3% 82% 92% E9% 8D% 9B% E3% 81% 88% E3% 82% 88% E3% 81% 86% EF% BC% 81-% E3% 82% A2% E3% 82% B9% E3% 82% AD% E3% 83% BC% E6 % 9B% B8% E7% B1% 8D-% EF% BC% B6% EF% BC% 8E% EF% BC% A1% EF% BD% 8E% EF% BD% 94% EF% BD% BD% 8F% EF% BD% 8E-% EF% BC% B3% EF% BD% 90% EF% BD% 92% EF% BD% 81% EF% BD% 95% EF% BD% 8C-ebook / dp / B00MB2STXK? Ie = UTF8 & btkr = 1 & ref_ = dp-kindle-redirect) Wie kann ich in Python schreiben? Ich studiere die Idee des Programmierens.

Kapitel 5 Problemlösung nach Klasse Obwohl es sich um diesen Inhalt handelte, hatte ich nie über das Klassendesign von Python nachgedacht, daher habe ich verschiedene Suchanfragen durchgeführt und es wurde in [hier Qiita](http://qiita.com/0xfffffff7/items/6ef16e79fe9886acb3f2) veröffentlicht. Es gab einen sehr leicht verständlichen Artikel, daher habe ich ihn als Referenz verwendet.

Zuerst gab es eine "Klassendeklaration" als Problem, also habe ich sie in Python umgeschrieben.

Klassendeklaration

test.cpp


class sample {
public:
    sample();
    sample(int num);
    int doesSomething(double param);

private:
    int intData;
};

Wenn ich darüber nachdachte, hatte ich nie getrennt über "öffentlich" und "privat" nachgedacht, daher verweise ich auf die Referenzseite und ändere sie unten.

test501.py


#!/usr/bin/env python
#coding:utf-8

class Sample(object):

#public:
    #C++Stichprobe()
    def sample1(self):
        print("sample")

    #C++Stichprobe(int num)
    def sample2(self,r):
        return int(r)

    #C++Int macht etwas(double param)
    def doesSomething(self,param):
        return float(param)

##Unten korrigiert
    #private:
    __intData = 5  ###Der Anruf ist_Name der Klasse__Variablennamen
    

>>>(Terminalausführung)
>>> from test501 import Sample
>>> w = Sample()
>>> w.sample1()
sample
>>> w.sample2(1)
1
>>> w.doesSomething(1.5)
1.5
>>> w._Sample__intData
5


Im c ++ - Code wurden sample () und sample (1) zunächst mit demselben Methodennamen geschrieben. Wenn Sie also denselben in Python vorbereitet haben, tritt ein Fehler auf, und Sie können ihn durch Ändern des Namens verschieben. Seien Sie also vorsichtig bei der Verwendung des Methodennamens. Mir ist aufgefallen, was zu tun ist (´Д`) Themen wie die Kapselung werden fortgesetzt, aber ich möchte weiter untersuchen, was mit dem Design von Python-Klassen passiert.

Recommended Posts

Aus einem Buch, das Programmierer lernen können (Python): Klassendeklaration (öffentlich / privat usw.)
Aus einem Buch, das Programmierer lernen können ... (Python): Zeiger
Aus einem Buch, das Programmierer lernen können ... (Python): Über das Sortieren
Aus einem Buch, das Programmierer lernen können (Python): Nachrichten dekodieren
Aus einem Buch, das der Programmierer lernen kann ... (Python): Finden Sie den häufigsten Wert
Aus einem Buch, das Programmierer lernen können ... (Python): Überprüfung von Arrays
Aus einem Buch, das Programmierer lernen können (Python): Statistischer Verarbeitungsabweichungswert
Aus einem Buch, das der Programmierer lernen kann ... (Python): Bedingte Suche (Maximalwert)
Aus einem Buch, in dem die Gedanken des Programmierers gelernt werden können: Fassen Sie die Teile kleiner Probleme zusammen
Aus einem Buch, das der Programmierer lernen kann ... Überprüfung der Runenprüfsumme (feste Länge)
Aus einem Buch, das der Programmierer lernen kann ... Überprüfung der Runenprüfsumme (variable Länge) Teil 2
Aus einem Buch, das der Programmierer lernen kann ... Konvertieren von Zeichen, die Zahlen darstellen, in einen ganzzahligen Typ
Aus einem Buch, das die Denkweise des Programmierers interessanterweise gelernt hat (Python)
[Python] Ich habe eine Klasse erstellt, die schnell einen Dateibaum schreiben kann
Generieren Sie eine Klasse aus einer Zeichenfolge in Python
Klasse für PYTHON, die ohne Kenntnis von LDAP betrieben werden kann
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
Ich habe ein Docker-Image erstellt, das FBX SDK Python von Node.js aus aufrufen kann
[Python / Tkinter] Eine Klasse, die einen scrollbaren Frame erstellt
"Python Kit", das Python-Skripte von Swift aufruft
Python: Erstellen Sie eine Klasse, die entpackte Zuweisungen unterstützt
Ein Mechanismus zum Aufrufen von Ruby-Methoden aus Python, der in 200 Zeilen ausgeführt werden kann
Ich habe versucht, Python aus einer Bat-Datei auszuführen
Die Denkweise des Programmierers stammt aus dem XX. Buch (Python)
"Ein Buch, das Flask von Grund auf versteht" Memo lesen
Die Denkweise des Programmierers stammt aus dem XX. Buch (Python)
Ich habe versucht, einen Generator zu erstellen, der mit Python eine C # -Containerklasse aus CSV generiert
Ein Memo, das mit Python & Spark Daten aus dashDB liest
Python-Programm von "Buch, das schwieriges Programmieren leicht lehrt"
Python-Bedingungsextraktion aus der Liste, die ich oft vergesse
So generieren Sie einen öffentlichen Schlüssel aus einem privaten SSH-Schlüssel
[MQTT / Python] Implementierte eine Klasse, die Pub / Sub von MQTT in Python ausführt
Python-Programm, das die Zeitnutzung aus icalendar-Daten aggregiert