Ich fing an, es zu berühren, weil ich Python studieren wollte, also [Detaillierte Erklärung der Python-Grammatik](https://www.amazon.co.jp/Python%E6%96%87%E6%B3%95%E8%A9%B3 % E8% A7% A3-% E7% 9F% B3% E6% 9C% AC-% E6% 95% A6% E5% A4% AB / dp / 4873116880 / ref = cm_cr_arp_d_pl_foot_top? Ie = UTF8) Notieren Sie sich, was Sie gedacht haben. Normalerweise schreibe ich hauptsächlich in Java, daher denke ich, dass es wahrscheinlich der Schwerpunkt dessen sein wird, was sich von Java unterscheidet.
_Verhalten
>>> 1+1
2
>>> _ #Das zuletzt ausgewertete Berechnungsergebnis ist "_Ist das wirklich?
2
>>> _ + _ # 2+2=
4
>>> _ # 「 _Ist auf 4 eingestellt
4
Schreiben Sie mehrere Prozesse gleichzeitig (nicht einfach)
print(1+1); print('Hello')
Numerischer Typ
>>> 100 #ganze Zahl
100
>>> 100.0 #Gleitkommazahl
100.0
>>> 0b100 #Binärzahl
4
>>> 0o100 #8 Basis
64
>>> 0x100 #Hexadezimal
256
Verkettung von bedingten Operatoren
>>> 99
99
>>> 0 < _ < 100 # (0 < _) and (_ < 100)Du musst nicht gerne schreiben
True
Wörterbuchobjekt
#Sogenannte assoziative Array / Hash-Tabelle. Schlüssel& value
>>> {1:'one', 2:'two'}
{1: 'one', 2: 'two'}
>>> {} #Leeres Wörterbuch
{}
>>> d = {1:'one', 2:'two'}
>>> d[1] #Elementreferenz
'one'
>>> d[1] = 'Ichi' #Ändern Sie den Wert eines Elements
>>> d[1]
'Ichi'
>>> d
{1: 'Ichi', 2: 'two'}
>>> del d[1] #Element löschen
>>> d[1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 1
>>> d
{2: 'two'}
aufführen
#Die Liste kann aktualisiert, aber nicht als Wörterbuchschlüssel verwendet werden.
L = [1, 2, 3]
L = [] #Leere Liste
L = [1, 'Two', [3, 4, 5]]
Taple
#Der Taple kann nicht aktualisiert werden, kann jedoch als Wörterbuchschlüssel verwendet werden.
t = (1, 2, 3)
t = 1, 2, 3 # ()Ist nicht nötig
t = () #Der leere Taple()Ausgedrückt
t = (1, 'Two', [3, 4, 5])
Sequenzzugriff
#Arrays wie Zeichenfolgen, Listen und Tapples werden als Sequenzen bezeichnet, und jeder Objekttyp kann auf dieselbe Weise auf seine Elemente zugreifen.
>>> S = 'abcdefg' #Sogar eine Schnur
>>> S[0]
'a'
>>> S[2]
'c'
>>> L = [0, 1, 2, 3, 4, 5] #Auch auf der Liste
>>> L[0]
0
>>> L[2]
2
#Nehmen Sie von hinten mit einem negativen Indexwert
>>> S[-1]
'g'
>>> S[-3]
'e'
#Geben Sie den Bereich an und nehmen Sie
>>> S[1:4]
'bcd'
>>> S[-3:-1]
'ef'
>>> S[:3] #Wenn die Startposition weggelassen wird, gilt dies vom Anfang bis zum Ende.
'abc'
#Elemente ändern
>>> L = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L[0] = 'spam'
>>> L
['spam', 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L[0:4] = ['ham', 'egg'] #Es scheint, dass es aktualisiert werden kann, indem der Bereich angegeben wird und sogar die Anzahl der Elemente ignoriert wird, wenn es sich um eine Liste handelt
>>> L
['ham', 'egg', 4, 5, 6, 7, 8, 9]
python
>>> S = 'spam'
#Es schien, dass der Zeichenkettentyp so wie er war geloopt wurde, was mich unwohl fühlte, aber wenn es "Ausführung der Verarbeitung für jedes Element" ist
#Ich bin überzeugt, dass "Sequenzen für jede Art von Objekt auf die gleiche Weise auf Elemente zugreifen können"
#Genau genommen handelt es sich um ein "iterierbares Objekt" (später beschrieben).
>>> for c in S:
... print(c)
...
s
p
a
m
sonst Klausel
while runnning:
if not c:
break
else:
#Ausführen, wenn die while-Schleife ohne Unterbrechung endet, dasselbe gilt für
Dateiobjekte sind auch iterierbar
import sys
for line in sys.stdin: #Zeile für Zeile von der Standardeingabe lesen
print(line, end='') #Schreiben Sie die Lesezeile in die Standardausgabe
Funktion
>>> def avg(a, b, c): #Funktionsdefinition
... return (a+b+c)/3
...
>>> avg(10, 20, 30)
20.0
>>> avg(b=20, c=30, a=10) #Sie können das Argument aufrufen, indem Sie den Namen (Schlüsselwortargument) angeben(10, 20, 30)Gleich wie
20.0
>>> def avg(a, b=20, c=30): #Sie können auch den Standardwert des Arguments angeben
... return (a+b+c)/3
...
>>> avg(10) # avg(10, 20, 30)Gleich wie
20.0
Klasse
>>> class Spam: #Klassendefinition
... def ham(self, egg, bacon): #Das erste Argument empfängt immer das Objekt, zu dem die Methode gehört, daher wird es üblicherweise auf self gesetzt.
... print('ham', egg, bacon)
...
>>> obj = Spam()
>>> obj.ham('foo', 'bar') # 'foo'Ist das zweite Argument,'bar'Ist das dritte Argument
ham foo bar
>>> class Spam2:
... def __init__(self, ham, egg): # __init__()Die Methode wird automatisch aufgerufen, wenn sie sich in der Klasse befindet (wie ein Konstruktor).
... self.ham = ham
... self.egg = egg
...
>>> obj = Spam2('foo', 'bar')
>>> print(obj.ham, obj.egg)
foo bar
>>> obj.new_attribute = 1 #Sie können plötzlich Attribute hinzufügen. "Ja wirklich?"
>>> print(obj.new_attribute)
1
Recommended Posts