Bevor ich mit der Übung im Titel fortfahre, möchte ich die Grundlagen von Python lernen. Daher denke ich, dass die [vorherige] Vorlage (https://qiita.com/waka_taka/items/eb582e767485c6ba0a4a) geändert und verwendet wird. Ich denke nicht, dass es notwendig ist, es so zu machen, aber ich werde mit dem Geist fortfahren, mich daran zu erinnern, wie ich es benutze (ich erinnere mich nicht, wenn ich es nicht benutze). Wenn es also etwas gibt, das offensichtlich gefährlich ist, tut es mir leid, Sie zu beunruhigen. Bitte weisen Sie darauf hin. .. ..
Es ist eine persönliche Methode, aber wenn Sie studieren, ist es meiner Meinung nach besser, über das Wissen nachzudenken, das Sie gewaltsam gelernt haben, als über Kodawaru, um schönen Code zu schreiben. Ich werde lernen, was falsch ist, wenn ich versage.
sample.py
# -*- coding:utf-8 -*-
import logging
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import japanize_matplotlib ### [Japanische Unterstützung]
#Geben Sie das Protokollformat an
# %(asctime)s :Eine lesbare Darstellung der Zeit, zu der der LogRecord generiert wurde.
# %(funcName)s :Der Name der Funktion, die den Protokollierungsaufruf enthält
# %(levelname)s :Zeichenprotokollierungsstufe für Nachrichten
# %(lineno)d :Quellzeilennummer, unter der der Protokollierungsanruf ausgegeben wurde
# %(message)s : msg %Protokollnachricht als Argumente angefordert
fomatter = logging.Formatter('%(asctime)s:%(funcName)s:%(levelname)s:%(lineno)d:\n%(message)s')
#Logger-Einstellungen(INFO-Protokollstufe)
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
#Handler-Einstellungen(Ausgabedatei ändern/Einstellung der Protokollebene/Protokollformateinstellungen)
handler = logging.FileHandler('handler_log.log')
handler.setLevel(logging.INFO)
handler.setFormatter(fomatter)
logger.addHandler(handler)
class SampleClass(object) :
def SampleFunc(self) :
try :
logger.info("Hello World")
#Ausnahmebehandlung
except :
logger.exception("", exc_info=True)
if __name__ == '__main__' :
try :
main_Class = SampleClass()
main_Class.SampleFunc()
#Ausnahmebehandlung
except :
logger.exception("", exc_info=True)
2019-11-22 16:54:28,955:SampleFunc:INFO:31:
Hello World
sample.py
(Weggelassen)
class SampleClass(object) :
def __init__(self) :
try :
logger.info("Klasseninitialisierung")
#Ausnahmebehandlung
except :
logger.exception("", exc_info=True)
(Weggelassen)
2019-11-22 17:00:41,888:__init__:INFO:31:
Klasseninitialisierung
2019-11-22 17:00:41,889:SampleFunc:INFO:39:
Hello World
sample.py
(Weggelassen)
class SampleClass(object) :
def __init__(self, argv="sample_01") :
try :
self.argv = argv
logger.info("Klasseninitialisierung: " + argv)
#Ausnahmebehandlung
except :
logger.exception("", exc_info=True)
def SampleFunc(self) :
try :
logger.info("Hello World : " + self.argv)
self.SampleFunc02()
#Ausnahmebehandlung
except :
logger.exception("", exc_info=True)
def SampleFunc02(self, argv02="InitSample02") :
try :
logger.info("SampleFunc02 : " + argv02)
#Ausnahmebehandlung
except :
logger.exception("", exc_info=True)
(Weggelassen)
2019-11-22 17:12:43,213:__init__:INFO:32:
Klasseninitialisierung: sample_01
2019-11-22 17:12:43,213:SampleFunc:INFO:40:
Hello World : sample_01
2019-11-22 17:12:43,213:SampleFunc02:INFO:49:
SampleFunc02 : InitSample02
Dieser Destruktor war schwer zu verstehen, seit ich C ++ studiert habe. .. .. Im Moment mache ich viele Fehler, und ich werde eine Haltung einnehmen, an die ich mich erinnern muss, während ich Fehler mache, also werde ich versuchen, sie gewaltsam einzubeziehen.
sample.py
(Weggelassen)
def __del__(self) :
try :
print('This Class is deleted')
#Ausnahmebehandlung
except :
logger.exception("", exc_info=True)
(Weggelassen)
Kürzung
Sie können die Vererbung auf die gleiche Weise verwenden, aber ich werde es auf meine eigene Weise tun, weil ich Autodidakt bin.
sample.py
(Weggelassen)
class ChildClass01(SampleClass) :
pass
class ChildClass02(SampleClass) :
def ChildClass02Func(self) :
try :
logger.info("ChildClass02Func Hello World : " + self.argv)
#Ausnahmebehandlung
except :
logger.exception("", exc_info=True)
(Weggelassen)
if __name__ == '__main__' :
try :
#Klassenvariablen erstellen(An diesem Punkt__init__Funktion wird aufgerufen)
main_Class = SampleClass()
main_Class1 = ChildClass01("★")
main_Class2 = ChildClass02("■")
#Aufruf einer Klassenfunktion
main_Class.SampleFunc()
main_Class1.SampleFunc()
main_Class2.SampleFunc()
main_Class2.ChildClass02Func()
(Weggelassen)
2019-11-22 17:37:03,556:__init__:INFO:32:
Klasseninitialisierung: sample_01
2019-11-22 17:37:03,556:__init__:INFO:32:
Klasseninitialisierung: ★
2019-11-22 17:37:03,556:__init__:INFO:32:
Klasseninitialisierung: ■
2019-11-22 17:37:03,556:SampleFunc:INFO:40:
Hello World : sample_01
2019-11-22 17:37:03,556:SampleFunc02:INFO:49:
SampleFunc02 : test
2019-11-22 17:37:03,556:SampleFunc:INFO:40:
Hello World : ★
2019-11-22 17:37:03,557:SampleFunc02:INFO:49:
SampleFunc02 : test
2019-11-22 17:37:03,557:SampleFunc:INFO:40:
Hello World : ■
2019-11-22 17:37:03,557:SampleFunc02:INFO:49:
SampleFunc02 : test
2019-11-22 17:37:03,557:ChildClass02Func:INFO:69:
ChildClass02Func Hello World : ■
Es gibt viele andere Dinge, die ich gerne ausprobieren würde, aber da ich die Kapazität meines Gehirns überschritten habe, möchte ich beim nächsten Mal ein Programm mit dieser Vorlage zwangsweise schreiben (und es gegebenenfalls überprüfen).
Recommended Posts