Overview Python ist als einfache und leicht zu erlernende objektorientierte Sprache bekannt. Für diejenigen, die andere Sprachen beherrschen, haben wir nach eigenem Ermessen 10 einzigartige Elemente von Python ausgewählt, sodass wir sie beschreiben werden.
Die für viele Sprachen übliche Regel "zum Zeitpunkt des Zeilenumbruchs" ist in Python nicht erforderlich. Da es jedoch als Zeilenumbruch erkannt wird, tritt auch bei Ausführung des folgenden Codes kein Fehler auf und das Verhalten ist das gleiche wie zuvor.
>>> print("1"); print("2")
1
2
In anderen Sprachen war das Einrücken ein Element, das den Code lesbarer machte und sein Verhalten nicht beeinflusste. Python verwendet jedoch Einrückungen, um Blöcke darzustellen.
if x > 0:
print("positive") #in der if-Anweisung
print("always") #außerhalb der if-Anweisung
Im obigen Code werden sowohl "positiv" als auch "immer" angezeigt, wenn x 0 oder mehr ist, und in anderen Fällen wird "immer" ausgegeben.
Wenn es keine geeignete Einrückung gibt, wie unten gezeigt, wird "IndentationError: erwartet, dass ein eingerückter Block" auftritt.
if x > 0:
print("positive") #Einrückungsfehler aufgetreten
In Python gibt es keinen Unterschied zwischen ihnen. Die folgenden Codes verhalten sich alle gleich.
>>> print('single')
single
>>> print("double")
double
Wenn Sie '
in die Zeichenkette einfügen, ist die Notation anders.
>>> print('It\'s single') # \Flucht mit
It's single
>>> print("It's double") #In der Zeichenfolge enthaltene Kontingente
It's double
Da es nicht erforderlich ist, die Notation innerhalb desselben Codes zu vereinheitlichen, können bestimmte Regeln festgelegt werden, z. B. einfach für Wörter und doppelt für Sätze.
s = 'single'
w = "It's a double!
Sie müssen weder var noch type angeben. Sie können Zahlen, Zeichenfolgen und boolesche Werte im Format "Variablenname = Wert" speichern. Da der Typ jedoch aus dem Wert abgeleitet wird, ist ein Anfangswert erforderlich. Alle folgenden Notationen sind Fehler.
#Keine Typenspezifikation erforderlich
int a = 1
^
SyntaxError: invalid syntax
#Keine Notwendigkeit, var zu schreiben
var a = 1
^
SyntaxError: invalid syntax
#Fehler, auch wenn kein Anfangswert vorhanden ist
a
NameError: name 'a' is not defined
Außerdem kann einer einmal deklarierten Variablen ein Wert eines völlig anderen Typs zugewiesen werden. In diesem Fall ändert sich gleichzeitig der Typ der Variablen.
>>> a = 100
>>> type(a)
<class 'int'>
>>> a = "text"
>>> type(a)
<class 'str'>
>>> a = True
>>> type(a)
<class 'bool'>
In Python gibt es neben Zahlen, Zeichenfolgen und Booleschen Werten ** Listen, Taples, Mengen und Wörterbuchtypen **. Beide sind Datentypen, die mehrere Daten speichern und die folgenden Funktionen aufweisen.
Datentypname | Charakteristisch | Wie zu erklären |
---|---|---|
aufführen(list) | Keine Einschränkungen beim Hinzufügen / Duplizieren | [val1, val2, ...] |
Taple(tuple) | Nach der Deklaration keine Ergänzungen / Aktualisierungen zulassen,Hochleistung | (val1, val2, ...) |
einstellen(set) | Lassen Sie keine Duplikate mit demselben Wert zu | {val1, val2, ...} |
Wörterbuchtyp(dict) | key-Wertformat | {key1: val1, key2: val2, ...} |
###Listentyp
list1 = [1,2,3]
type(list1) # -> <class 'list'>
print(list1) # -> [1, 2, 3]
print(list1[0] # -> 0
list1.append(4)
print(list1) # -> [1, 2, 3, 4]
###Typ einstellen
set1 = {1,2,3,3}
type(set1) # -> <class 'set'>
print(set1) # -> {1, 2, 3}
set1[0] = 9 # -> TypeError: 'set' object does not support item assignment
set1.add(4)
print(set1) # -> {1, 2, 3, 4}
###Taple-Typ
tuple1 = (1,2,3)
type(tuple1) # -> <class 'tuple'>
print(tuple1) # -> (1,2,3,3)
tuple1[0] = 9 # -> TypeError: 'tuple' object does not support item assignment
###Wörterbuchtyp
dict1 = {"a": 123, "b": 456, "c": 789}
type(dict1) # -> <class 'dict'>
print(dict1) # -> {'a': 123, 'b': 456, 'c': 789}
dict1["d"] = 0
print(dict1) # -> {'a': 123, 'b': 456, 'c': 789, 'd': 0}
Taple wird verwendet, wenn Sie die einmal deklarierten Werte oder die Reihenfolge, z. B. statistische Werte, nicht ändern möchten oder wenn Sie sie nicht ändern müssen. Der Speicher wird nicht überlastet, was zu einer verbesserten Leistung führt.
Diese können auch ineinander konvertiert werden. Abhängig von der Konfiguration kann jedoch ein Fehler auftreten.
list1 = [1,2,3]
print(tuple(list1)) # -> (1, 2, 3)
print(set(list1)) # -> {1, 2, 3}
list2 = [["a", 123], ["b", 456], ["c", 789]]
print(dict(list2)) # -> {'a': 123, 'b': 456, 'c': 789}
Wie bei den vorherigen Datentypen wird in Python ein Datentyp, der mehrere Elemente wie "Arrays" in einer einzelnen Variablen verarbeiten kann, als ** Sequenztyp ** bezeichnet. Im Einzelnen gilt Folgendes.
Schimmel | Interpretation |
---|---|
String(string) | Aufeinanderfolgende Zeichen |
Reichweite(range) | Fortlaufende Nummern |
Teilzeitstelle(bytes) | Aufeinanderfolgende Bytes |
aufführen(list) | Kontinuierliche Daten,Kann mit beliebigen Daten umgehen |
Taple(tuple) | Kontinuierliche Daten, die nicht hinzugefügt / aktualisiert werden können |
einstellen(set) | Zusammenhängende Daten, die keine Duplizierung zulassen |
Für diese sind in Python ** Slice-Operationen ** verfügbar, die ein Teil ausschneiden und eine Kopie zurückgeben. Geben Sie bei der Angabe "seq [start: stop: step]" an. Wenn kein Wert angegeben wird, wird der Standardwert angewendet, aber nicht alle können nicht angegeben werden.
Streit | Zu spezifizierender Wert | Standard |
---|---|---|
start | Ausgeschnittener Blickwinkelindex | 0 |
end | Endpunktindex abschneiden | Wert gleich der Anzahl der Elemente |
step | Anzahl der Schritte beim Schneiden Bei negativer Zahl umgekehrte Reihenfolge |
1 |
Der Index ist leicht verständlich für die Idee von Python Tutorial. Mit anderen Worten, "** Index zeigt auf die Grenze zwischen Elementen, und das linke Ende des ersten Elements ist 0 **". Außerdem erhöht sich der negative Wert des negativ angegebenen Index jedes Mal, wenn der Index, der auf das letzte Zeichen zeigt, zum vorherigen -1 oder später zurückkehrt.
+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+
0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1
Verwenden Sie auf der Grundlage der obigen Angaben Folgendes.
str = "Python"
print(str[3:]) # -> "hon"
print(str[:3] ) # -> "Pyt"
print(str[::-1]) # -> "nohtyP"
print(str[::2]) # -> "Pto"
Die allgemeinen Punkte, die zu beachten sind, sind wie folgt.
()
erforderlich:
einDie Verwendung der if-Anweisung lautet beispielsweise wie folgt. Es gibt keinen großen Unterschied zu anderen Sprachen, aber die Notation von "elif" kann etwas Besonderes sein.
###if-Anweisung
if x > 0:
print("positive")
elif x < 0:
print("negative")
else:
print("zero")
Unten in kann das Element durch Angabe des oben beschriebenen Sequenztyps gedreht werden.
list1 = [1,2,3]
for val in list1:
print(val)
1
2
3
Wenn Sie zuvor keine Variablen vom Typ Sequenz verwendet haben, ist dies praktisch, da Sie mit der Bereichsfunktion eine Folge von fortlaufenden Zahlen generieren können.
#Beginnt mit 0 für ein Argument
for i in range(3):
print(i)
0
1
2
#Sie können den Startpunkt mit zwei Argumenten ändern
for i in range(1, 4):
print(i)
1
2
3
#Das Intervall kann mit 3 Argumenten geändert werden
for i in range(1, 8, 2):
print(i)
1
3
5
7
** with ** existiert in der charakteristischen Syntax von Python. Wenn "Lesen / Schreiben einer Datei" oder "Kommunikationsverarbeitung" in einer anderen Sprache ausgeführt wird, ist es im Allgemeinen erforderlich, Start und Ende eindeutig zu deklarieren. In Python wird der Endprozess jedoch automatisch ausgeführt, wenn der Einzug entfernt wird, indem der Startprozess gleichzeitig mit der with-Anweisung deklariert wird.
Hier wird das Lesen / Schreiben einer Datei als Beispiel genommen.
#Datei lesen
with open("read.txt", "r") as file1:
print(file1.read())
#Eine Datei schreiben
with open("write.txt", "w") as file2:
print(file2.write())
Natürlich ist es auch möglich, durch Verschachteln wie folgt zu deklarieren.
#Schreiben Sie den von einer Datei gelesenen Inhalt in eine andere Datei
with open("reaad.txt", "r") as file1:
with open("write.txt", "w") as file2:
file2.write(file1.read())
Zunächst erfolgt die Funktionsdefinition in Python mit def
wie folgt.
def double(x):
return x * x
print(double(10)) # -> 100
Zu diesem Zeitpunkt können mehrere Rückgabewerte durch Tippen oder Trennen durch Kommas angegeben werden. Sie können sie durch Kommas trennen, da in Python durch Kommas getrennte Werte als Taples ohne Klammern betrachtet werden. Zu diesem Zeitpunkt ist es auch möglich, diese mehreren Rückgabewerte in verschiedenen Variablen zu speichern.
def test():
return "a", 123, True # return ("a", 123, True)Synonym zu
print(test()) # -> ('a', 123, True)
a, b, c = test()
print(a) # -> 'a'
print(b) # -> 123
print(c) # -> True
Zusätzlich zu den integrierten Funktionen, die standardmäßig verfügbar sind, kann Python verschiedene Bibliotheken problemlos verwenden, indem "import" entsprechend ausgeführt wird. In PEP8 ist es wünschenswert, die Importdeklaration zu Beginn des Programms zu deklarieren und in der folgenden Reihenfolge zu beschreiben.
#Standardbibliothek
import math
import os
import sys
#Bibliothek von Drittanbietern
import Requests
#Homebrew-Bibliothek
import my_package1
import my_package2
Außerdem werden "as" und "from" häufig zusammen mit "import" verwendet. Mit as können Sie dem importierten Modul oder Objekt einen Alias zuweisen. Zum Beispiel ist Mathe oft m und Numpy ist np.
import math as m
import numpy as np
print(np,array([1,2], [100,200])) # -> array([[1, 2],[100, 200]])
print(m.pi) # -> 3.141592653589793
from ist grob in eine der beiden folgenden Verwendungsarten unterteilt.
--von <Modulname> importieren <Objektname>
In Anbetracht der Tatsache, dass die Bibliothekshierarchie die Struktur ** Paket> Modul> Objekt ** hat, handelt es sich hier um ein Bild des Erwerbs der unteren Hierarchie aus der oberen Hierarchie.
Grob gesagt
Wenn Sie beispielsweise häufig das Umfangsverhältnis π verwenden, können Sie das Objekt pi angeben und importieren.
from math import pi #Pi-Objekt der Matheklasse importieren
print(pi) #Es kann so verwendet werden, wie es ist, ohne Mathematik anzugeben.
Wenn es 10 Elemente gibt, wird es ziemlich viel sein, aber wenn Sie den Inhalt hier verstehen können, wird es wie ein Abschluss von Python-Anfängern sein. Wenn Sie danach die Verwendung erfassen können, die für verschiedene Universalbibliotheken geeignet ist, sollten Sie in der Lage sein, reibungslos zu codieren!