[Für Anfänger] Grundlagen von Python erklärt durch Java Gold Teil 2

Überblick

Ich hoffe, ich kann weiterhin die Grundlagen von Python nach Teil 1 weitergeben! Wenn Sie es nicht gesehen haben, beginnen Sie mit Teil 1 ^^

Agenda

・ If-Anweisung ・ Zur Aussage ·Funktion · Ausnahmebehandlung ・ Erklärung abgeben ·Umfang ·Klasse ·Schließung ·Streit · Am Ende

if-Anweisung

Es gibt keine Java-Switch-Case-Syntax, aber eine ähnliche Implementierung ist mit dem Schlüsselwort "in" möglich. "El if" ist eine Abkürzung für "else if".

・ If-Anweisung


val1 = 1
val2 = 2

if val1 == val2:
  print('test1')
elif val1 > val2:
  print('test2')
else:
  print('test3') # test3

-Schalten Sie das anweisungsähnliche Schreiben mit dem Schlüsselwort "in" um


val3 = 3

if val3 == 1:
  print('test1')
elif val3 in(2,3):
  print('test2') # test2
elif val3 in(3,4):
  print('test3')
else:
  print('test4')

zur Aussage

Die for-Anweisung entspricht der Java foreach-Anweisung. Wird oft in Kombination mit der Bereichsfunktion verwendet.

・ Für Anweisungs- und Bereichsfunktion


for i in range(3):
  print(i) #Wird in der Reihenfolge 0, 1, 2 angezeigt

・ Für Anweisungen und Zeichenfolgen (Listen und Wörterbücher können ebenfalls verwendet werden)


for c in 'test':
  print(c) # t, e, s,Wird in der Reihenfolge t angezeigt

Apropos. .. .. Python hat eine while-Anweisung, aber keine do-while-Anweisung.

Funktion

Verwenden Sie "def", um die Funktion zu definieren. * Alle Argumente werden als Referenz übergeben. ~~ Wert übergeben.


def fnc(a, b=1): #b ist ein Argument mit einem Standardwert
  return a + b #Rückgabewert

#Funktionsaufruf
print(fnc(10)) # 11 

def fnc(a, b, c):
  print(a, b, c)

#Funktionsaufruf
fnc(c=3, a=1, b=2)# 1 2 3

■ Unterschiede zwischen Funktionen und Methoden Sie können sich das fast genauso vorstellen!

** Funktionen **: Diejenigen, die nicht an eine bestimmte Klasse gebunden sind. Was ist def im Modul definiert. Was vor der Instanziierung in der Klasse in def definiert ist, ist eine Funktion. Wie schreibe ich: Funktion (Argument)

** Methode **: Eine bestimmte Klasse (oder eine Instanz dieser Klasse). ~~ Was in der Klasse durch def definiert ist. ~~ Nachdem die Klasse instanziiert wurde, wird die Funktion zu einer Methode. Wie schreibe ich: Wert. Methode (Argument)

Zum Beispiel ist len ("Zeichenfolge") eine Funktion zum Abrufen der Länge von "Zeichenfolge", aber "Zeichenfolge" .split () ist eine Methode (object.function), die Zeichen durch leere Zeichen aufteilt. .. Grundsätzlich gibt es im Fall einer Methode viele Prozesse, die für dieses Objekt spezifisch sind. Zum Beispiel "string" .split oder "string" .startswith. Dies ist string-spezifisch. Len kann jedoch sowohl für Zeichenfolgen als auch für Listen verwendet werden. len ("string") len ([0, 1, 2]). In diesen Fällen bietet Python eine Funktion.

· Was ist der Unterschied zwischen einer Python-Funktion (Objekt) und einer object.function ()? http://blog.pyq.jp/entry/2017/09/14/100000

■ Unveränderlicher Typ ・ Numerische Typen wie int, float und complex -String-Typ (Zeichenfolge) ・ Tupeltyp ・ Bytes ・ Gefrorener Set-Typ

■ Veränderlicher Typ ・ Listentyp (Liste) -Bytearray ・ Typ einstellen ・ Wörterbuchtyp (Wörterbuch)

Ausnahmebehandlung

Prozess mit der Syntax "try ~ außer ~ else ~ finally". "Except" ist eine catch-Anweisung in Java. "Die Anweisung, die ausgeführt werden soll, wenn eine Ausnahme auftritt, beschreibt ansonsten den Prozess, der nicht durch Except ergänzt wird.


try:
  x = 10 / 0
except Exception as e:
  print(e) # division by zero
#Was tun, wenn keine Ausnahme auftritt?
else:
  print('test1')
#Verarbeitung, die immer ausgeführt wird, unabhängig davon, ob eine Ausnahme auftritt
finally:
  print('test2')# test2
try:
  raise Exception('test3')
except Exception as e:
  print(e) # test3

pass-Anweisung

Syntax zur Angabe von "nichts tun". Nicht in Java.

Beispielsweise wird es in den folgenden Fällen verwendet.


#Nur gerade ausgeben
for i in range(10): 
if(i % 2) == 0:
  print(i)
else:
  pass

Umfang

Es gibt vier Arten von Bereichen: Das Akronym heißt LEGB.

① Lokaler Bereich → Nur in der Funktion. Sie können im lokalen Bereich auf integrierte Bereichs- und Modulbereichsvariablen und -funktionen verweisen, den Variablen jedoch keine Werte zuweisen (überschreiben).

② Umschließen des Funktionsumfangs → Der Bereich ist der erste Bereich, der bekannt ist, wenn die Funktion innerhalb der Funktion definiert wird. Kurz gesagt, der lokale Bereich außerhalb der Funktion.

③ Globaler Geltungsbereich → Das gesamte Modul (gesamte Datei).

④ Eingebauter Bereich → Kann von überall im Bereich der integrierten Variablen (Keine) und der integrierten Funktionen (Druckfunktion) referenziert werden.

Für Einzelheiten zum Umfang habe ich auf [diesen Artikel] verwiesen (http://note.crohaco.net/2017/python-scope/). Details werden beschrieben, schauen Sie also bitte nach, wenn Sie Zeit haben.

Klasse

Der Konstruktor (Initialisierungsmethode) sollte "\ _ \ _ init \ _ \ _" oder "__new \ ___" sein, und ~~ muss im ersten Argument "self" definieren. Es ist üblich, ~~ self zu verwenden, und Sie können einen beliebigen Namen wie diesen verwenden. self ist ein Objekt, das seine eigene Instanz darstellt. ~~ Argumentname zum Empfangen der Instanz

Name.class



class Name:
  #Klassenvariable
  LANG = 'JP'

  #Konstrukteur
  def __init__(self):
    self.name = ''

  # getter
  def getName(self):
    return self.name

  # setter
  def setName(self, name):
    self.name = name

taro = Name()
taro.setName('Ichiro')
print(taro.getName()) #Ichiro
print(Member.LANG) # JP

Schließung

Eine Funktion, die auf eine lokale Variable der Funktion verweist. Sie können auch nach Beendigung des Funktionsaufrufs weiterhin auf lokale Variablen verweisen. Fast gleichbedeutend mit dem Schließen von Javascript.

Weitere Informationen zu Schließungen finden Sie in diesem Artikel.

Streit

Es gibt vier Arten von Argumenten:

① Normales Argument

② Argument mit Standardwert → Ein Argument, das einen Standardwert definiert, der übernommen werden soll, wenn er beim Aufrufen einer Funktion weggelassen wird.

#② Argument mit Standardwert
def fnc(a, b = 1):
  return a + b #Rückgabewert

③ Argument variabler Länge → Ein Argument, das einen oder mehrere Werte erhält. Wenn Sie vor dem Argumentnamen ein Sternchen (*) einfügen, wird es zu diesem Argument. Auf der Funktionsseite wird das empfangene Argument variabler Länge als Taple behandelt.

#③ Argument variabler Länge
def fnc(a, b, *args):
  print(a, b, args)

fnc('a','b','c','d','e') # a b ('c','d','e')

④ Argument variabler Länge mit Schlüsselwort → Argument mit variabler Länge, für das bei der Angabe des Arguments Schlüsselwörter erforderlich sind. Wenn Sie vor dem Argumentnamen zwei Sternchen (*) einfügen, wird dies zu diesem Argument. Auf der Funktionsseite wird das empfangene Argument variabler Länge als Wörterbuchtyp mit dem zum Zeitpunkt der Definition angegebenen Namen behandelt.

#④ Argument variabler Länge mit Schlüsselwort
def fnc(a, b, **args):
  print(a, b, args)

fnc('a','b',arg1 = 'c',arg2 = 'd',arg3 = 'e')# a b {'arg1': 'c', 'arg3': 'e', 'arg2': 'd'}
#fnc('a','b','c','d','e')← Wenn kein Schlüsselwort angegeben wird, tritt ein Fehler auf.

Am Ende

Teil 1 und 2 behandelten die allgemeinen Grundlagen von Python. Python verfügt über eine Vielzahl von Web-Frameworks und Bibliotheken für maschinelles Lernen. Wenn Sie es also mit dieser Grundlage kombinieren, können Sie dann tun, was Sie wollen? !! Ich möchte von nun an eine Web-API mit Python erstellen: raise_hand:

Verweise

· Was ist der Unterschied zwischen einer Python-Funktion (Objekt) und einer object.function ()? http://blog.pyq.jp/entry/2017/09/14/100000

・ Über den Umfang von Python http://note.crohaco.net/2017/python-scope/

・ [Python] Was ist ein Abschluss (Funktionsabschluss)? https://qiita.com/naomi7325/items/57d141f2e56d644bdf5f

-Pass by value und übergeben Sie als Referenz in Python https://crimnut.hateblo.jp/entry/2018/09/05/070000

・ AmadaShirou.Programing Keikensya No Tameno Python Saisoku Nyumon (Japanische Ausgabe) Kindle Edition

Recommended Posts

[Für Anfänger] Grundlagen von Python erklärt durch Java Gold Teil 2
[Für Anfänger] Grundlagen von Python erklärt durch Java Gold Teil 1
Python x GIS-Grundlagen (1)
[Linux] Grundlagen der Berechtigungseinstellung von chmod für Anfänger
Python x GIS-Grundlagen (3)
■ Kaggle-Übung für Anfänger - Einführung von Python - von Google Colaboratory
[Muss für Anfänger] Grundlagen von Linux
Grundlagen von Python x GIS (Teil 2)
Lernen Sie die Grundlagen von Python ① Grundlegende Anfänger
[Python] Protokoll des Studientreffens für Anfänger (7/15)
[Lernnotiz] Grundlagen des Unterrichts mit Python
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Ein Lehrbuch für Anfänger von Python-Anfängern
Python-Grundlagen ①
Grundlagen von Python ①
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 13 Grundlagen des neuronalen Netzwerks
Einfaches Verständnis von Python für & Arrays (für Super-Anfänger)
[Hikari-Python] Kapitel 09-01 Klassen (Grundlagen von Objekten)
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
Python-Grundlagen ② für Anweisung
Grundlagen der Python-Scraping-Grundlagen
Python Lehrbuch für Anfänger
# 4 [Python] Grundlagen der Funktionen
Grundlagen von Python: Ausgabe
OpenCV für Python-Anfänger
Bildverarbeitung durch Matrix Basics & Contents-Reinventor der Python-Bildverarbeitung-
Zusammenfassung der Vorverarbeitungsmethoden für Python-Anfänger (Pandas-Datenrahmen)
Lernablauf für Python-Anfänger
Beispielquelle für das von Java, PHP, Python realisierte Observer-Muster
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
Python: Grundlagen der Verwendung von Scikit-Learn ①
Python3-Umgebungskonstruktion (für Anfänger)
Übersicht über Docker (für Anfänger)
Python #Funktion 2 für Super-Anfänger
Seaborn Basics für Anfänger ④ Pairplot
Grundlegende Python-Grammatik für Anfänger
Pandas-Grundlagen für Anfänger ④ Umgang mit Datums- und Zeitangaben
100 Pandas klopfen für Python-Anfänger
[Python] Die größten Schwächen und Nachteile von Google Colaboratory [Für Anfänger]
Python #Funktion 1 für Super-Anfänger
Python #Liste für Super-Anfänger
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
[Python Machine Learning] Empfehlung zur Verwendung von Spyder für Anfänger (Stand August 2020)
Wrap (Teil der) AtCoder Library in Cython zur Verwendung in Python
Eine kurze Zusammenfassung von Graphviz in Python (nur für Mac erklärt)
Seaborn-Grundlagen für Anfänger ① Aggregiertes Diagramm der Anzahl der Daten (Countplot)
Python-Technik für diejenigen, die Anfänger loswerden wollen
Implementierungsbeispiel für das Hostile Generation Network (GAN) von Keras [Für Anfänger]
Automatische Erstellung des Monatskalenders 2021 (Nachfüllung für Systemnotizbuch) durch Python
Paiza Python Primer 5: Grundlagen von Wörterbüchern
Pandas Grundlagen für Anfänger ① Lesen & Verarbeiten
Pandas Grundlagen für Anfänger ⑧ Ziffernverarbeitung
Python-Übungen für Anfänger # 2 [für Anweisung / while-Anweisung]
Erweiterung des Python-Wörterbuchs um Argumente
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Seaborn Grundlagen für Anfänger ② Histogramm (Distplot)
Erste Schritte mit Python Grundlagen von Python