[JAWS-UG CLI] Lambda Blueprint Erläuterung: Python2.7-Grundlagen

Lambdas Erklärung für Python-Anfänger.

--Lambda Blueprint Erläuterung: Lambda Common Edition (Python): http://qiita.com/tcsh/items/e119d7fd8257e15e599b

Grundlagen

Kommentar

Das Zeilenende wird als Kommentar von \ # ignoriert.

python:Code(Zeilenkommentar):


   word = 'hello'   #Zielwort

Fügen Sie beim Auskommentieren mehrerer Zeilen den Kommentarteil mit drei einfachen oder doppelten Anführungszeichen an derselben Position wie der Einzug der vorherigen Zeile ein. (Da es als Zeichenfolge behandelt wird, wird es nicht ausgeführt.)

python:Code(De facto mehrzeiliger Kommentar):


   def validate(res):
     '''[von hier] Return False to trigger the canary

     Currently this simply checks whether the EXPECTED string is present.
     However, you could modify this to perform any number of arbitrary
     checks on the contents of SITE.
     [Bisher]'''
     return EXPECTED in res

Variable (konstant)

Python unterstützt keine Konstanten.

Es ist üblich, Konstanten (anscheinend) in Großbuchstaben zu schreiben.

python:Code(Beispiel):


   SITE = 'https://www.amazon.com/'  # URL of the site to check
   EXPECTED = 'Online Shopping'  # String expected to be on the page

Wenn außerhalb der Funktion deklariert, ist der Bereich das gesamte Modul (Datei).

im Betreiber

Überprüfen Sie, ob ein Wert vorhanden ist.

python:Code(Anwendungsbeispiel im Rückgabewert einer Funktion):


   return EXPECTED in res

Überprüft, ob die durch die Konstante EXPECTED definierte Zeichenfolge im res-Objekt vorhanden ist.

Modul

Importmethode

from: Geben Sie den Paket- oder Modulnamen an.

Import: Geben Sie den Paket- oder Modulnamen, den Klassen- oder Funktionsnamen, den Variablennamen usw. an.

python:Importieren Sie das Datetime-Funktionsobjekt aus dem Datetime-Modul:


from datetime import datetime

python:urllib2 Modul(Für Python 2)Importieren Sie das URLopen-Funktionsobjekt aus:


from urllib2 import urlopen

Hinweis: Das urllib-Modul wurde in Python3 in urllib.request, urllib.parse, urllib.parse aufgeteilt.

zukünftiges Modul

Ermöglicht Python2 die Verwendung von Funktionen, die in Python3 implementiert und mit Python2 nicht kompatibel sind.

python:Code(Beispiel):


from __future__ import division
from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

from future_builtins import *

Hinweis: Von future import * kann nicht definiert werden.

zukünftiges Modul (print_function)

In Python2 war es eine print-Anweisung, in Python3 wurde es zu einer Funktion print ().

Wenn Sie Folgendes schreiben, können Sie print () verwenden, das mit Python3 kompatibel ist.

python:Code(Beispiel):


from __future__ import print_function

Funktion

print()

In Python3 druckt print () den Inhalt des Zeichenfolgenobjekts.

python:Code(Beispiel):


   print('hoge')
   print('hoge' + variable_a)
   print('a: [', variable_a, ']')

python:Code(Beispiel für die Endspezifikation des Drucks):


   print('hoge', end='')

python:Code(Beispiel für die Dateiausgabe):


   f = open('test.txt', 'w')
   print('hoge', file=f)

datetime.now()

Die im datetime-Objekt enthaltene Methode. Bietet die Möglichkeit, das aktuelle lokale Datum und die aktuelle Uhrzeit zurückzugeben.

python:Code(Beispiel):


datetime.now()

python:Ergebnis(Beispiel):


   datetime.datetime(2016, 5, 29, 18, 52, 57, 727727)

Hinweis: Jahr, Monat, Tag, Stunde, Minute, Sekunde, Mikrosekunde

str()

Gibt eine Zeichenfolge zurück, die das Objekt in druckbarer Form darstellt.

python:Code(Beispiel):


   print(str(datetime.now()))

python:Ergebnis(Beispiel):


   2016-05-29 18:52:57.727714

urlopen()

Im urllib2-Modul enthaltene Objekte. Bietet die Möglichkeit, Inhalte im Web abzurufen.

Da die erhaltene Antwort ein dateiähnliches Objekt ist, kann sie von read () gelesen werden.

python:Code(Beispiel):


   if not validate(urlopen(SITE).read()):

Benutzerdefinierte Funktion

Benutzer können ihre eigenen Funktionen definieren.

python:Syntax:


def Funktionsname(Streit):
Beschreibung

return Rückgabewert

Wenn keine return-Anweisung vorhanden ist, wird'None 'zurückgegeben.

python:Code(Beispiel):


   def validate(res):
     # (snip)
     return EXPECTED in res

--Argument: res

python:Code(Beispiel):


   def lambda_handler(event, context):
     # (snip)

--Argumente: Ereignis und Kontext

Steuerungssyntax

if-Anweisung

Es kann abhängig von den Bedingungen verzweigt werden.

python:Syntax:


   if (Bedingungen):
Beschreibung

   elif (Bedingungen):
Beschreibung

   else:
Beschreibung

python:Stichprobe:


   if not validate(urlopen(SITE).read()):
       raise Exception('Validation failed')

Ausnahmebezogen

try-Anweisung

Sie können eine Ausnahme abrufen und sie sofort behandeln.

python:Syntax:


   try:
Beschreibung, die eine Ausnahme verursachen kann

   except:
Beschreibung, wenn eine Ausnahme auftritt(Für jeden Ausnahmetyp können mehrere Beschreibungen vorgenommen werden)

Eingebaute Ausnahme: http://docs.python.jp/2/library/exceptions.html

   else:
Beschreibung, wenn keine Ausnahme auftritt

   finally:
Eine Beschreibung des Verhaltens, das immer ausgeführt wird, bevor die try-Anweisung beendet wird, unabhängig davon, ob eine Ausnahme aufgetreten ist.

python:Stichprobe:


   def lambda_handler(event, context):
     print('Checking {} at {}...'.format(SITE, event['time']))
     try:
         if not validate(urlopen(SITE).read()):
             raise Exception('Validation failed')

     except:
         print('Check failed!')
         raise

     else:
         print('Check passed!')
         return event['time']

     finally:
         print('Check complete at {}'.format(str(datetime.now())))

Teil des Versuchs und Ausnahmen Aussagen

(Siehe Ausnahmeklasse und Raise-Anweisung unten)

Teil der else-Anweisung

python:Code(Beispiel):


   else:
       print('Check passed!')
       return event['time']

Wenn validate () nicht False ist, führen Sie die print-Anweisung aus und geben Sie den Zeitschlüsselwert der Ereignisdaten zurück.

Teil der Schlusserklärung

python:Code(Beispiel):


   finally:
         print('Check complete at {}'.format(str(datetime.now())))

'Zur aktuellen Zeit abgeschlossen prüfen' wird an die Standardausgabe ausgegeben.

python:Ergebnis(Beispiel):


   Check complete at 2016-05-29 18:00:15.508132

Modul: Ausnahmeklasse

Eine der im Ausnahmemodul enthaltenen Ausnahmeklassen. Das Ausnahmemodul muss nicht importiert werden.

Integrierte Ausnahmen: http://docs.python.jp/2/library/exceptions.html

Code


raise Exception('Validation failed')

Von allen integrierten Ausnahmen werden diejenigen, die nicht vom System terminiert sind, von dieser Klasse abgeleitet. Alle benutzerdefinierten Ausnahmen sollten abgeleitete Klassen dieser Klasse sein.

Aussage: erhöhen

Es wird verwendet, wenn Sie absichtlich eine Ausnahme auslösen möchten.

Bei alleiniger Verwendung wird sofort eine Ausnahme ausgelöst.

Wenn Sie es in einer try .. -Ausnahmeanweisung verwenden, definieren Sie die Ausnahme, die Sie mit Raise senden möchten, in der try-Anweisung und beschreiben Sie'raise 'in der Except-Klausel, um die Ausnahme tatsächlich zurückzugeben.

python:Code(Beispiel):


   try:
       if not validate(urlopen(SITE).read()):
           raise Exception('Validation failed')

Wenn validate () nicht True ist, definieren Sie eine Ausnahme (werfen Sie eine Ausnahmeklasse 'Validierung fehlgeschlagen').

python:Code(Beispiel):


   except:
       print('Check failed!')
       raise

Wenn eine Ausnahme auftritt, führen Sie die print-Anweisung aus und lösen Sie die in der try-Anweisung definierte Ausnahme aus.

Methode

String-Objekt .format ()

Bietet die Möglichkeit, komplexe Variablensubstitutionen und Wertformatierungen für Zeichenfolgenobjekte durchzuführen.

python:Code(Beispiel):


   print('Checking {} at {}...'.format(SITE, event['time']))

python:Ergebnis(Beispiel):


   'Überprüfen der Site-URL zur Zeit...'

Dateiobjekt .read ()

Die im Dateiobjekt enthaltene Methode. Bietet eine Funktion zum Lesen des Dateiinhalts.

python:Code(Beispiel):


   if not validate(urlopen(SITE).read()):

Recommended Posts

[JAWS-UG CLI] Lambda Blueprint Erläuterung: Python2.7-Grundlagen
[JAWS-UG CLI] Lambda Blueprint Erläuterung: Lambda Common Edition (Python)
Python-Grundlagen ⑤
Python-Grundlagen
Python-Grundlagen ④
Python-Grundlagen ③
Python-Grundlagen
Python-Grundlagen
Python-Grundlagen
Python-Grundlagen ③
Python-Grundlagen ②
Python-Grundlagen ②
Python-Grundmemorandum
# Python-Grundlagen (#matplotlib)
Python CGI-Grundlagen
Python-Grundlagen: Wörterbuch
Python-Grundlagen ①
Grundlagen von Python ①
Python Slice Grundlagen
# Python-Grundlagen (Umfang)
# Python-Grundlagen (#Numpy 1/2)
# Python-Grundlagen (#Numpy 2/2)
# Python-Grundlagen (Funktionen)
Grundlagen des Python-Arrays
Grundlagen der Python-Profilerstellung
Python #Numpy Basics
Python-Grundlagen: Funktionen
# Python-Grundlagen (Klasse)
Zusammenfassung der Python-Grundlagen
Python-Grundlagen ② für Anweisung
Python: Unüberwachtes Lernen: Grundlagen
Pythons Lambda-Ausdruck ...
Grundlagen der Python-Scraping-Grundlagen
Python Basic 8 Numpy Test
Errbot: Grundlagen des Python-Chatbots
#Python DeepLearning Basics (Mathematik 1/4)
Python-Grundlagen: Socket, Dnspython
# 4 [Python] Grundlagen der Funktionen
Grundlagen von Python: Ausgabe