[PYTHON] [Numpy / pandas / matplotlib Übung 01] Vorlage aktualisieren

Zunaechst

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.

Vorlage

Klasse hinzufügen

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)

Ausführungsergebnis

2019-11-22 16:54:28,955:SampleFunc:INFO:31:
Hello World

Klasseninitialisierung hinzugefügt

sample.py


(Weggelassen)
class SampleClass(object) :
	def __init__(self) :
		try :
			logger.info("Klasseninitialisierung")

		#Ausnahmebehandlung
		except :
			logger.exception("", exc_info=True)
(Weggelassen)

Ausführungsergebnis

2019-11-22 17:00:41,888:__init__:INFO:31:
Klasseninitialisierung
2019-11-22 17:00:41,889:SampleFunc:INFO:39:
Hello World

Initialisierung von Funktionsargumenten in der Klasse und Funktionsaufruf in der Klasse

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)

Ausführungsergebnis

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

Zerstörer

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)

Ausführungsergebnis

Kürzung

Klassenvererbung

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)

Ausführungsergebnis

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 : ■

Schließlich

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

[Numpy / pandas / matplotlib Übung 01] Vorlage aktualisieren
[Numpy / Pandas / Matplotlib Übung 01]
Installieren Sie Python3, Numpy, Pandas, Matplotlib usw. unter Windows
Einführung in Python numpy pandas matplotlib (für ~ B3 ~ part2)
Python Basic - Pandas, Numpy -
pandas Matplotlib Zusammenfassung nach Verwendung
Umgebungskonstruktion von NumPy und Matplotlib