Studiennotizen für First Python 3rd Edition
--Numerischer Wert
Schimmel | |
---|---|
1234, -24, 0 | Kurze Ganzzahl (entspricht Long von C) |
99999999999999999999L | Lange ganze Zahl |
1.23, 3.14e-10, 4E210, 4.90+210 | Gleitkommazahl (entspricht C double) |
0177, 0x9ff, 0XFF | Acht oder hexadezimal (Ganzzahl) |
3+4j, 3.0+4.0j, 3J | Komplexe Zahl |
--Für oktale Ganzzahlen ** das Präfix Null (0) und dann eine Zahl im Bereich von 0 bis 7 ** schreiben. --Für hexadezimale Zahlen ** wird 0x vorangestellt, gefolgt von einer Zahl im Bereich von 0 bis 9 oder einem Buchstaben im Bereich von A bis F ** (entweder oben oder unten).
--Schreiben Sie komplexe Zahlen im Format Realteil + Imaginärteil
--+
,*
,>>
,**
usw.
--pow
, abs
usw.
Operator | Erläuterung |
---|---|
yield x | Wird beim Definieren einer Generatorfunktion verwendet |
Lambda-Argument:Formel | Wird verwendet, um anonyme Funktionen zu erstellen |
x if y else z | Dreiecksoperator |
x or y | Logische Summe |
x and y | Logisches UND |
not x | Logische Ablehnung |
x < y x <= y x > y x >= y |
Vergleichsoperator |
x == y x <> y x != y |
Operator für den Vergleich von Wertäquivalenzen |
x is y x is not y |
Objektvergleichsoperator |
x in y x not in y |
Operator, um zu überprüfen, ob es ein Mitglied der Sequenz ist |
x | y | Bit logische Summe |
x ^ y | Bit exklusive logische Summe |
x & y | Bit logisches Produkt |
x << y x >> y |
Schichtführer |
-x + y x - y |
Hinzufügen/Verknüpfen Subtrahieren |
x * y x % y x / y x // y |
Multiplizieren/Wiederholung Überschuss/String-Format Teilung |
-x +x ~x x ** y |
Zeichen umkehren (nicht umkehren) Bitinversion Leistung |
x[ i ] x[ i : j ] x.attr x(...) |
Indizierung Schneiden Attributreferenz Funktionsaufruf |
(...) [...] {...} '...' |
Taple aufführen Wörterbuch Konvertierung in einen String |
――Es ist gut, es explizit zu zeigen --Verwenden Sie Klammern, um die Prioritäten zu klären
>>> (x + y) * z
>>> x + (y * z)
Rang | Schimmel |
---|---|
1 | Komplexe Zahl |
2 | Gleitkommazahl |
3 | Lange ganze Zahl |
4 | Kurze ganze Zahl |
--Operatoren können durch Python-Klassen oder C-Erweiterungen überlastet (oder neu erstellt) werden ――Diese Eigenschaft wird allgemein als Polymorphismus bezeichnet.
#Der Wert von x ist 0001
>>> x = 1
>>> x << 2
4
#Verschieben Sie 2 Bits nach links auf 0100
>>> x | 2
3
#ODER-Betrieb bis 0011#UND-Operation bis 0001
>>> x & 1
1
>>> 1j * 1J
(-1+0j)
>>> 2 + 1j * 3
(2+3j)
>>> (2+1j)*3
(6+3j)
--Für Oktalzahlen beginnen Sie mit 0 und ordnen Sie dann Zahlen von 0 bis 7 an. Jede Ziffer entspricht 3 Bits.
#8 Basis
>>> 01, 010, 0100
(1, 8, 64)
#Hexadezimal
>>> 0x01, 0x10, 0xFF
(1, 16, 255)
>>> oct(64), hex(64), hex(255)
('0100', '0x40', '0xff')
>>> int('0100'), int('0100', 8), int('0x40', 16)
(100, 64, 64)
>>> eval('100'), eval('0100'), eval('0x40')
(100, 64, 64)
>>> "%o %x %X" % (64, 64, 255)
'100 40 FF'
Mathematikmodul
>>> import math
#Häufig verwendete Konstanten
>>> math.pi, math.e
(3.1415926535897931, 2.7182818284590451)
#Zeichen, Kosinus, Tangens
>>> math.sin(2 * math.pi / 180)
0.034899496702500969
#Quadratwurzel
>>> math.sqrt(144), math.sqrt(2)
(12.0, 1.4142135623730951)
>>> abs(-42), 2**4, pow(2, 4)
(42, 16, 16)
#Abgeschnitten, rund
>>> int(2.567), round(2.567), round(2.567, 2)
(2, 3.0, 2.5699999999999998)
zufälliges Modul
>>> import random
>>> random.random()
0.49741978338014803
>>> random.random()
0.49354866439625611
>>> random.randint(1, 10)
5
>>> random.randint(1, 10)
4
>>> random.choice(['Life of Brian', 'Holy Grail', 'Meaning of Life'])
'Life of Brian'
>>> random.choice(['Life of Brian', 'Holy Grail', 'Meaning of Life'])
'Holy Grail'
Ab Python 2.4 wird ein neuer Typ namens Bruch eingeführt.
Verwenden Sie diese Option, indem Sie ein Modul importieren und eine Funktion anstelle eines Literal aufrufen
Kann im Vergleich zu Gleitkommazahlen zu Leistungseinbußen führen
Um einen numerischen Wert mit konstanter Genauigkeit auszudrücken, z. B. die Berechnung des Gesamtbetrags, wird auch die Genauigkeit und der entsprechende Typ verbessert
Für Gleitkommatyp
>>> 0.1 + 0.1 + 0.1 - 0.3
5.5511151231257827e-017
>>> print 0.1 + 0.1 + 0.1 - 0.3
5.55111512313e-017
Für gebrochenen Typ
>>> from decimal import Decimal
>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3')
Decimal("0.0")
>>> x = set('abcde')
>>> y = set('bdxyz')
>>> x
set(['a', 'c', 'b', 'e', 'd'])
#Stellen Sie fest, ob die Menge Elemente enthält
>>> 'e' in x
True
#Differenz einstellen
>>> x - y
set(['a', 'c', 'e'])
#Kombinierte Sets
>>> x | y set(['a', 'c', 'b', 'e', 'd', 'y', 'x', 'z'])
#Kreuzung von Sätzen
>>> x & y set(['b', 'd'])
Beispiel für die Verwendung eines Sets
>>> engineers = set(['bob', 'sue', 'ann', 'vic'])
>>> managers = set(['tom', 'sue'])
#Extrahieren Sie Leute, die sowohl Ingenieure als auch Manager sind
>>> engineers & managers
set(['sue'])
#Extrahieren Sie Personen, die zu einer Kategorie gehören
>>> engineers | managers
set(['vic', 'sue', 'tom', 'bob', 'ann'])
#Extrahieren Sie Personen, die keine Manager sind
>>> engineers - managers
set(['vic', 'bob', 'ann'])
Recommended Posts