Die Python-Klasse verstehen Kampf (2) Arbeit Das ist noch nicht alles, oder? _ Informationen zur Klassenvererbung

Synopse bis zum letzten Mal

Vorläufig konnte ich die Codierung löschen, die die Vorteile der Klasse und die Herangehensweise an das Problem (hier die Verarbeitung für das Genehmigungsformular) genoss, und dankenswerterweise konnte ich die Codierungsmethode für die Klasse aufzeigen. Als Mitglied der Buchhaltung habe ich jedoch den Wunsch, dass die für Genehmigungsdokumente zuständige Person mehr Arbeit leistet.

Die Geschichte der kontinuierlichen Verarbeitung

Letztes Mal konnte ich die Verarbeitung für das "neu verteilte Genehmigungsformular" verkörpern. Die Verarbeitung für "bereits umgedrehte und noch nicht in Betrieb genommene Sachanlagen" wird jedoch vernachlässigt. Es wird keine neuen Genehmigungsdokumente für dieses "Anlagevermögen geben, das bereits umgedreht wurde und noch nicht in Betrieb genommen wurde". Daher müssen Sie der verantwortlichen Person eine E-Mail senden, wenn Sie sich kontinuierlich darum kümmern und sie jeden Monat verwenden.

Neue Arbeit

Die neue Aufgabe, die hier auftreten wird, besteht darin, regelmäßig E-Mails an Projekte zu senden, die den Dienst das letzte Mal nicht genutzt haben. Wir werden versuchen, dies durch Klassenvererbung zu erreichen. Die vorherige Codierung war ein Prozess für "neu kommende Genehmigungsdokumente".

Neu geschriebener Code

qiita.rb



import openpyxl
import datetime



class NewAssets():
    def __init__(self,apdnum,apdmen,unitname,assetname,money):
        self.apdnum=apdnum
        self.apdmen=apdmen
        self.unitname=unitname
        self.assetname=assetname
        self.money=money

    #Funktion zum Anhängen von PDF an E-Mails Arbeiten Sie, um Ziel-E-Mail-Adressen von der verantwortlichen Person und der verantwortlichen Abteilung abzurufen
    def make_mail(self):
        mail=("{}{}Danke für deine harte Arbeit. Ich bin verantwortlich für das Anlagevermögen in der Buchhaltung. Zulassungsnummer{}von{}Über\
            \n Bitte teilen Sie uns die Situation in diesem Monat mit, wenn Sie damit begonnen haben. Wenn eine Rechnung vorhanden ist, können Sie die Rechnung auch anhängen\
            \n Danke.".format(self.unitname,self.apdmen,self.apdnum,self.assetname))
        print(mail)

    def insert_excel(self):
        wb=openpyxl.load_workbook("../data/Bestellvermögensverwaltungstabelle bestellen.xlsx")
        sh=wb.active
        for dt_row in range(2,50):
            if sh["A"+str(dt_row)].value!=None:
                continue
            else:
                sh["A"+str(dt_row)].value=self.apdnum
                sh["B"+str(dt_row)].value=self.unitname
                sh["C"+str(dt_row)].value=self.apdmen
                sh["D"+str(dt_row)].value=self.assetname
                sh["E"+str(dt_row)].value=self.money
                break
        wb.save("../data/Bestellvermögensverwaltungstabelle bestellen_{}_Erstellen Sie Johannesrom.xlsx".format(datetime.date.today()))
#Der Code, der dem Kernteil entspricht, den ich zuletzt geschrieben habe
#Unten neuer Code
#New_Kaufen, eine Unterklasse aus der Assets-Klasse_Assets erstellen und als Attribut verwenden(Ausgaben)Hinzufügen

class BuyingAssets(NewAssets):
    def __init__(self,apdnum,apdmen,unitname,assetname,money,consume):
        super().__init__(apdnum,apdmen,unitname,assetname,money)
        self.consume=consume
    def make_buying_mail(self):
        if self.consume=="Noch nicht":    
            print("{}von{}様お疲れ様です。経理部von固定資産担当です。先月未使用であった稟議書No{}von{}Über\
            \n Bitte teilen Sie uns die Situation in diesem Monat mit, wenn Sie damit begonnen haben. Wenn eine Rechnung vorhanden ist, können Sie die Rechnung auch anhängen\
            \n Danke.".format(self.unitname,self.apdmen,self.apdnum,self.assetname))
            sh["G"+str(dt_row)].value="✔"
        else:
            None
        


#Ausgabecode unten
wb=openpyxl.load_workbook("../data/Bestellvermögensverwaltungstabelle bestellen_Erstellen Sie Johannesrom.xlsx")
sh=wb.active
for dt_row in range(2,50):
    apdnum=sh["A"+str(dt_row)].value
    unitname=sh["B"+str(dt_row)].value
    apdmen=sh["C"+str(dt_row)].value
    assetname=sh["D"+str(dt_row)].value
    money=sh["E"+str(dt_row)].value
    consume=sh["F"+str(dt_row)].value
    m=Buying_Assets(apdnum,apdmen,unitname,assetname,money,consume)
    m.make_buying_mail()
wb.save("../data/Bestellvermögensverwaltungstabelle bestellen_Erstellen Sie Johannesrom.xlsx")

Die Codierungsmethode, auf die Sie zuletzt hingewiesen haben, wurde korrigiert Gerade Buyin_Assets als Unterklasse als Klassenvererbung erstellt und verbrauchen als Attribut hinzugefügt Und als Programm möchte ich, dass Sie diesmal eine Funktion zum Erstellen eines E-Mail-Textes nicht verwendeter Assets und zum Einfügen von creating in Excel nach dem Erstellen ausführen.

Klicken Sie hier für Excel vor der Ausführung assets_mail01.png

Und wenn du rennst

assets_mail02.png

Überprüft (∩´∀ `) ∩

mail g.png

Es kam gut (◠‿◠)

Zusammenfassung

Diesmal habe ich die Methoden und Daten vor der Vererbung nicht verwendet, daher dachte ich, dass dies eine schlechte Idee als Einstellungsthema und -ansatz wäre. Ich persönlich hatte das Bild, die Methode vor der Vererbung gut zu nutzen.

Während ich codierte, bemerkte ich jedoch, dass der Vorteil der Klasse darin bestand, dass ich bemerkte, dass es möglich war, zu einer Codierung zu wechseln, die die Attribute der Klasse in der Mitte der Codierung verwendet, die openpyxl öffnete und sie bei def make_buying_mail (self) verarbeitete :. Ich hab es geschafft. Ich möchte die Klasse immer mehr nutzen und mich schnell daran gewöhnen.

Wenn Sie Meinungen haben, wie Sie die Vorteile der Klasse mit einem solchen Thema genießen können, kommentieren Sie bitte! (`・ Ω ・ ´)

Recommended Posts

Die Python-Klasse verstehen Kampf (2) Arbeit Das ist noch nicht alles, oder? _ Informationen zur Klassenvererbung
Über Python, Klasse
Informationen zur Python-Vererbung
[Python] Klassenvererbung (super)
[Python] Klassenvererbung, überschreiben
Über __all__ in Python
Informationen zu Python-Objekten und -Klassen
Paiza Python Primer 8: Grundlegendes zu Klassen
Grundlegendes zur Python-Klasse Kampf (1) Verschieben wir sie vorerst