Dieser Artikel wurde für den ** Inhouse Workshop ** vorbereitet. Bitte haben Sie Verständnis dafür, dass wir von den folgenden Annahmen ausgehen.
Ziel ist es, den Teilnehmern zu ermöglichen, ** am Eingang zu stehen, wo sie bei Bedarf selbst lernen können **.
Der Workshop konzentriert sich hauptsächlich auf praktische Übungen. (Einige Erklärungen sind enthalten)
Dieser Workshop wird voraussichtlich ** 60-120 Minuten ** dauern. Daher machen wir kein ** systematisches Lernen **, weil wir nicht genug Zeit für ein umfassendes Lernen haben.
Um das gewünschte Programm ernsthaft von Grund auf neu erstellen zu können, müssen Sie selbst lernen oder einen Kurs belegen.
Dieser Workshop richtet sich hauptsächlich an folgende Teilnehmer.
Bitte beachten Sie, dass es viele Dinge gibt, die ich nicht zu erwähnen wage, weil ich mich überhaupt nicht mit fortgeschrittenen und fortgeschrittenen Menschen befasse.
Bitte sehen Sie hier.
Bitte beantworten Sie die folgenden Fragen.
review3-1.py
for i in range(5):
print("Yes")
Einige Leerzeichen werden am Anfang der zweiten Zeile im Skript von 1 eingegeben. Das nennt man "". Es macht Sinn (ja / nein), dass dieser Platz frei ist
Wenn das folgende Skript ausgeführt wird, wird "" angezeigt.
review3-3.py
a = (3 * 5 + 1 ) / 2
print(a)
Woran ich mich letztes Mal erinnerte
Erstellen Sie ein Skript (fast Slack Bot), das regelmäßig und zufällig auf Slack veröffentlicht.
Wenn möglich, stellen Sie sicher, dass Sie verstehen, was Sie später geschrieben haben. Sie müssen sich jedoch nicht perfekt daran erinnern.
Bereiten Sie wie zuvor Folgendes vor.
Die endgültige Slack-Upload-Ziel-URL wird von nun an als "** POST-Ziel-URL **" bezeichnet. (Der Grund war das letzte Mal)
Speichern Sie das folgende Skript als exp311.py im Ordner c: \ script und führen Sie es aus.
ex311.py
import requests
import json
URL = "[POST-Ziel-URL]"
MESSAGE = json.dumps({"text": "TEST"})
requests.post(URL, MESSAGE)
Ersetzen Sie natürlich [POST-Ziel-URL] durch die vorbereitete URL.
Kopieren Sie ex11.py und schreiben Sie es wie folgt neu. (Sie können den von Ihnen geschriebenen Code kopieren.)
ex312.py
import requests
import json
import time
time.sleep(10)
URL = "[POST-Ziel-URL]"
MESSAGE = json.dumps({"text": "TEST"})
requests.post(URL, MESSAGE)
Speichern Sie dann exp312.py und führen Sie das Skript aus.
Kopieren Sie ex11.py und schreiben Sie es wie folgt neu. (Sie können den von Ihnen geschriebenen Code kopieren.)
ex313.py
import requests
import json
import datetime
NOW = datetime.datetime.now()
URL = "[POST-Ziel-URL]"
MESSAGE = json.dumps({"text": str(NOW)})
requests.post(URL, MESSAGE)
Speichern Sie dann exp313.py und führen Sie das Skript aus.
Hier ist der Unterschied zwischen dem ausgeführten ex312.py und dem ex311.py.
ex312.py (Auszug)
import time
Ich importiere hier ein Zeitmodul, das die Zeit verarbeitet.
ex312.py (Auszug)
time.sleep(10)
Mit diesem Befehl versuche ich 10 Sekunden zu schlafen.
Während Sie 10 Sekunden warten, wird nichts angezeigt. Wenn Sie es jedoch zählen, können Sie vor dem Posten 10 Sekunden warten.
Wenn Sie möchten, dass es so schläft, verwenden Sie Folgendes.
Schlafformat
time.sleep(Die Anzahl der Sekunden)
Dies ist einer der häufig verwendeten Prozesse, z. B. das Warten von einigen Sekunden bis zu einigen Tagen.
Hier ist der Unterschied zwischen dem ausgeführten ex313.py und dem ex311.py.
ex312.py (Auszug)
import datetime
Importieren Sie hier das Datum / Uhrzeit-Modul, das die Zeit verarbeitet.
Das zuvor erwähnte Zeitmodul ist ein Modul, das sich auf Werkzeuge konzentriert, die sich mit Zeit befassen, aber das Datum / Uhrzeit-Modul ist ein Modul, das hauptsächlich verschiedene Operationen am Datum und an der Uhrzeit selbst ausführt.
ex312.py (Auszug)
NOW = datetime.datetime.now()
Mit dieser Anweisung wird die aktuelle Zeit in der Variablen NOW gespeichert.
ex312.py (Auszug)
MESSAGE = json.dumps({"text": str(NOW)})
Diese str (JETZT) ist der Punkt.
JETZT speichert Zeitdaten und kann vom menschlichen Auge als Text (Zeichenfolge) erkannt werden, der die Zeit darstellt.
Computer haben jedoch die Eigenschaft, dass Zeichenfolgen und Zeitdaten nicht als dieselben Daten behandelt werden können.
Die Eigenschaften von Daten auf diese Weise werden als ** Datentyp (Typ) ** bezeichnet.
Die in JETZT gespeicherten Zeitdaten sind ** Zeittyp ** und der Typ der Zeichenfolge (Text) ist ** Zeichenfolge (Zeichenfolge) **.
Es gibt viele ** Datentypen (Typen) **, aber vorerst setzen Sie einfach ** Zeittyp ** und ** String-Typ (String / String) ** in die Ecke Ihres Kopfes.
ex312.py (Auszug)
MESSAGE = json.dumps({"text": str(NOW)})
In dieser Beschreibung erstelle ich eine Slack-Post-Nachricht, aber der Punkt ist ** str (JETZT) **.
Normalerweise sollte JETZT in Ordnung sein, aber wenn es so bleibt, wie es ist, tritt ein Fehler auf.
Dies liegt daran, dass ** NOW kein Zeichenfolgentyp ** ist.
Als Versprechen müssen alle JSON-Formate Zeichenfolgen sein.
Daher kann mit str (NOW) der in NOW gespeicherte Wert in einen Zeichenkettentyp konvertiert werden.
Es ist ein sehr nerviger "Typ", aber dieser Mechanismus verhindert auch, dass falsche Daten eingemischt werden.
Lassen Sie uns deshalb allmählich daran gewöhnen.
Speichern Sie das folgende Skript als exp321.py im Ordner c: \ script und führen Sie es aus.
ex321.py
import requests
import json
import random
import time
URL = "[POST-Ziel-URL]"
MESSAGE = json.dumps({"text": "TEST"})
num = random.randint(1, 10)
time.sleep(num)
requests.post(URL, MESSAGE)
Ersetzen Sie natürlich [POST-Ziel-URL] durch die vorbereitete URL.
Speichern Sie das folgende Skript als exp322.py im Ordner c: \ script und führen Sie es aus.
ex322.py
import requests
import json
flag = True
URL = "[POST-Ziel-URL]"
MESSAGE = json.dumps({"text": "TEST"})
if flag is True:
requests.post(URL, MESSAGE)
Ersetzen Sie natürlich [POST-Ziel-URL] durch die vorbereitete URL.
Speichern Sie das folgende Skript als exp23.py im Ordner c: \ script und führen Sie es aus.
ex323.py
import requests
import json
URL = "[POST-Ziel-URL]"
MESSAGE = json.dumps({"text": "TEST"})
if "OK" in MESSAGE:
requests.post(URL, MESSAGE)
MESSAGE = json.dumps({"text": "It is OK."})
if "OK" in MESSAGE:
requests.post(URL, MESSAGE)
Ersetzen Sie natürlich [POST-Ziel-URL] durch die vorbereitete URL.
Hier ist der Punkt zum Einchecken der ausgeführten ex321.py.
ex321.py (Auszug)
import random
Hier laden wir das Modul, um eine Zufallszahl zu generieren.
ex321.py (Auszug)
num = random.randint(1, 10)
Es ist ein Prozess, der eine Zufallszahl generiert.
Es gibt verschiedene Typen, die Zahlen darstellen, aber Python befasst sich häufig mit den folgenden beiden.
Dies sind die gleichen Zahlen, aber Sie müssen bedenken, dass sie möglicherweise unterschiedlich verwendet werden.
Basierend darauf wird ** randint ** als Anweisung verwendet, um "Zufallszahl = zufällige Ganzzahl" zu erzeugen.
Übrigens habe ich einen Befehl als random.randint (1, 10) geschrieben, um nur eine ganze Zahl von 1 bis 10 zufällig zu generieren.
random.Randint-Format
random.randint(Anzahl der Starts,Anzahl der Enden)
Bitte haben Sie Verständnis dafür, dass die Formel die Anzahl der Starts <= N <= die Anzahl der Enden ist.
Hier ist der Punkt zum Einchecken der ausgeführten ex322.py.
ex322.py (Auszug)
flag = True
Ich habe einen Wert in eine Variable eingefügt, die weder eine Zeichenfolge noch eine Zahl ist.
Der hier durch True / False ausgedrückte Wert heißt ** Boolean **.
Ein einfacher Datentyp, der verwendet wird, wenn nur die Authentizität behandelt wird.
ex322.py (Auszug)
if flag is True:
requests.post(URL, MESSAGE)
Hier ist es eine Anweisung, die die auszuführende "Bedingung" angibt.
Wenn der Wert des Variablenflags True ist, wird der folgende eingerückte Inhalt ausgeführt.
Der Befehl, der diese "Bedingung" ausdrückt, wird als "if-Anweisung" bezeichnet und sehr häufig verwendet.
IF-Dokumentformel
if {Bedingungen}:
Ausführungsinhalt
Es kann mehrere Ausführungsinhalte geben. Alle eingerückten Teile gelten als gleich.
IF Satzbeispiel
if a == 1:
b == 1
print(b)
print(a)
print("Wenn b 1 ist, wird es bisher ausgeführt")
Es ist eine IF-Anweisung, die immer als Grundlage für die Programmierung erscheint.
Es ist einfach, aber es gibt viele Möglichkeiten, es zu nutzen. Erinnern wir uns also daran.
Hier sind die Punkte, die im ausgeführten ex323.py eingecheckt werden müssen.
ex323.py (Auszug)
MESSAGE = json.dumps({"text": "TEST"})
if "OK" in MESSAGE:
requests.post(URL, MESSAGE)
Das in der IF-Anweisung angegebene "if" OK "in MESSAGE:" bedeutet "wenn die Variable MESSAGE die Zeichenfolge" OK "enthält".
Verwenden Sie auf diese Weise ** in **, um zu bestimmen, ob eine Variable die angegebene Zeichenfolge enthält.
im Format
if {Zeichenkette, die Sie einschließen möchten} in {Zu bestätigende Zeichenkette}:
Auf die gleiche Weise bestimmt die IF-Anweisung die Variable MESSAGE, deren Inhalt der zu bestätigenden Zeichenfolge geändert wurde.
ex323.py (Auszug)
MESSAGE = json.dumps({"text": "It is OK."})
if "OK" in MESSAGE:
requests.post(URL, MESSAGE)
In diesem Fall ist der Punkt, dass es nicht genau übereinstimmt und in die Zeichenfolge (Text) der Variablen MESSAGE aufgenommen werden sollte.
Bitte haben Sie Verständnis dafür, dass die Bedingungen von IF-Anweisungen (als bedingte Ausdrücke bezeichnet) unterschiedlich sind.
Speichern Sie das folgende Skript als exp331.py im Ordner c: \ script und führen Sie es aus.
ex331.py
import requests
import json
import datetime
NOW = datetime.datetime.now()
AM10 = NOW.replace(hour=10, minute=0, second=0, microsecond=0)
URL = "https://hooks.slack.com/services/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"
MESSAGE = json.dumps({"text": "Es ist nach 10 Uhr."})
print("Zur Zeit" + str(NOW) + "ist.")
print(str(AM10) + "Ich werde es danach posten.")
if AM10 <= NOW:
requests.post(URL, MESSAGE)
print("Gepostet in Slack.")
Ersetzen Sie natürlich [POST-Ziel-URL] durch die vorbereitete URL.
Speichern Sie das folgende Skript als exp332.py im Ordner c: \ script und führen Sie es aus.
ex332.py
import requests
import json
import datetime
NOW = datetime.datetime.now()
AM10 = NOW.replace(hour=10, minute=0, second=0, microsecond=0)
PM18 = NOW.replace(hour=18, minute=0, second=0, microsecond=0)
URL = "https://hooks.slack.com/services/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"
MESSAGE = json.dumps({"text": "Es ist nach 10 Uhr."})
print("Zur Zeit" + str(NOW) + "ist.")
print(str(AM10) + "~" + str(PM18) + "Ich werde es posten.")
if AM10 <= NOW <= PM18:
requests.post(URL, MESSAGE)
print("Gepostet in Slack.")
Ersetzen Sie natürlich [POST-Ziel-URL] durch die vorbereitete URL.
Folgendes sollten Sie in der ausgeführten ex331.py einchecken.
ex331.py
NOW = datetime.datetime.now()
Sie geben die aktuelle Zeit JETZT in die Variable ein.
Dieser Befehl datetime.datetime.now () ist lang, aber Standard. Verwenden Sie ihn daher nach Bedarf. (Wenn Sie verstehen, reicht das Kopieren aus.)
ex331.py
AM10 = NOW.replace(hour=10, minute=0, second=0, microsecond=0)
Dies ist eine Anweisung, die Zeitdaten, die "10 Uhr" anzeigen, in die Variable AM10 einfügt.
Diese enthält die Zeitdaten der Variablen NOW, wobei die Zeit um 10 Uhr ersetzt wird.
Es mag seltsam erscheinen, aber betrachten Sie es als eine der Möglichkeiten, mit Daten umzugehen, die auf der Gegenwart basieren.
ex331.py
print("Zur Zeit" + str(NOW) + "ist.")
print(str(AM10) + "Ich werde es danach posten.")
Die zuvor eingeführte Variable NOW wird in eine Zeichenfolge konvertiert.
Verbinden Sie außerdem die Zeichenfolgen mit einem +, um sie miteinander zu verbinden.
Auf diese Weise können Sie eine Kombination aus Zeichenfolgen und Variablen anzeigen.
ex331.py
if AM10 <= NOW:
requests.post(URL, MESSAGE)
print("Gepostet in Slack.")
Die Variable NOW, die die Gegenwart darstellt, ist größer als die zuvor erstellte Variable AM10, dh die IF-Anweisung sagt "wenn es nach 10 Uhr ist".
Die Bedingungen selbst sind nicht kompliziert, aber können Sie sehen, dass es einige Anstrengungen erfordert, die Daten für die Verwendung unter den Bedingungen vorzubereiten?
In der Programmierung gibt es viele Aufgaben, wie das Vorbereiten von Dingen zum Vergleichen und Anpassen der Formen.
Dies ist der Höhepunkt der bisher erläuterten Inhalte.
Hier sind die Punkte, die Sie in ex332.py einchecken sollten.
ex332.py (Auszug)
AM10 = NOW.replace(hour=10, minute=0, second=0, microsecond=0)
PM18 = NOW.replace(hour=18, minute=0, second=0, microsecond=0)
Hier enthält die Variable AM10 die Zeitdaten, die "10 Uhr" anzeigen, und die Variable PM18 enthält die Zeitdaten, die "18:00" anzeigen.
ex332.py (Auszug)
if AM10 <= NOW <= PM18:
requests.post(URL, MESSAGE)
print("Gepostet in Slack.")
Die IF-Anweisung gibt die Bedingung "nach 10 bis 18 Uhr" an.
Auf diese Weise ist es eine der Funktionen von Python, dass mehrere Bedingungen zusammen festgelegt werden können.
Selbst wenn Sie wie folgt schreiben, funktioniert es genauso.
ex332.py (Auszug)
if AM10 <= NOW and NOW <= PM18:
(Kürzung)
Wenn es leichter zu lesen ist, wenn es weggelassen wird, verwenden Sie eine positiv leicht lesbare Notation.
Lassen Sie uns ein Skript erstellen, das diese Anforderungen erfüllt, und es ausführen.
** Q. Ein Skript, das jeden Morgen um 7 Uhr morgens "Guten Morgen" an Slack sendet **
Folgende Punkte sind zu beachten.
Auch diesmal habe ich versucht, einen Workshop zu erstellen, der die grundlegenden Grundlagen der Programmierung enthält.
Insbesondere haben wir "bedingte Ausdrücke", "Textformatierung" und "Vergleichsoperationen" als wichtige Schlüsselwörter in der Programmierung eingeführt.
Die Grundstruktur hätte diesmal zum Teil abgedeckt sein müssen.
Das nächste Mal möchte ich mein Verständnis vertiefen, indem ich die Grundlagen, die ich bisher gelernt habe, überprüfe und ein etwas anderes Programm erstelle.
Obwohl es viele Teile gibt, in denen die Erklärung gebrochen ist, haben Sie bitte etwas Geduld, da dies für Anfänger gilt.
Wenn Sie weiter lernen möchten, stellen Sie bitte eine Anfrage.
Eine Sammlung benutzerfreundlicher Webdienste / Online-Schulen.
Recommended Posts