Text ist ein String
Ein String (str) ist Text. Schreiben Sie ihn in einfache oder doppelte Anführungszeichen: Beides bedeutet dasselbe, wählen Sie also einen Stil und bleiben Sie dabei. Ein Backslash leitet eine Escape-Sequenz ein, etwa \n für einen Zeilenumbruch. len() zählt die Zeichen. Strings sind unveränderlich: Man ändert nie einen String an Ort und Stelle, man baut einen neuen.
symbol = "AAPL"
note = 'bid and ask'
print(symbol, len(symbol)) # AAPL 4
print(note) # bid and askIndizierung und Slicing
Jedes Zeichen hat eine Position, gezählt ab 0. text[0] ist das erste Zeichen und text[-1] das letzte. Ein Slice text[start:stop] nimmt die Zeichen von start bis ausschließlich stop. Lassen Sie eine Seite leer, um bis zu diesem Ende zu gehen.
# Indexing starts at 0; a slice stops before its end index
ticker = "AAPL.US"
print(ticker[0], ticker[-1]) # A S
print(ticker[:4], ticker[5:]) # AAPL USMethoden zum Bereinigen und Zerlegen von Text
Methoden sind an einen Wert gebundene Funktionen, die man mit einem Punkt aufruft. Sie liefern einen neuen String und lassen das Original unverändert. strip() entfernt Leerzeichen und Zeilenumbrüche um den Text, upper() und lower() ändern die Groß-/Kleinschreibung, replace(old, new) ersetzt Text, und split(",") zerlegt eine Zeile bei jedem Komma in eine Liste von Stücken. Datenfeeds sind voll von solchen Zeilen.
# Clean up a raw line from a data feed
raw = " aapl,184.25,200 \n"
parts = raw.strip().split(",")
print(parts) # ['aapl', '184.25', '200']
print(parts[0].upper()) # AAPL
print(float(parts[1])) # 184.25# join is the opposite of split; in tests for a piece of text
print("-".join(["AAPL", "MSFT"])) # AAPL-MSFT
print("AAPL" in "AAPL,MSFT") # Truef-Strings setzen Werte in Text ein
Setzen Sie ein f vor das öffnende Anführungszeichen und schreiben Sie einen beliebigen Ausdruck zwischen { und }: Python wertet ihn aus und fügt das Ergebnis als Text ein. Das ersetzt das Zusammenkleben mit + und das manuelle Umwandeln von Zahlen. Jeder gültige Ausdruck funktioniert in den Klammern, sogar eine Rechnung.
# f-strings put values straight into text
symbol, bid, ask = "AAPL", 184.25, 184.5
print(f"{symbol} {bid} x {ask}") # AAPL 184.25 x 184.5
print(f"{symbol} spread {ask - bid}") # AAPL spread 0.25Formatangaben
Nach einem Doppelpunkt in den Klammern steuert eine Formatangabe, wie der Wert aussieht. .2f zeigt zwei Nachkommastellen, , fügt Tausendertrennzeichen hinzu, + zeigt immer das Vorzeichen, >8 richtet rechtsbündig in einer Breite von 8 aus, und .1% zeigt einen Bruch als Prozent. Sie lassen sich kombinieren: +,.2f ist ein Betrag mit Vorzeichen, Trennzeichen und zwei Nachkommastellen.
# After the colon, a format spec controls the look
price, pnl, quantity = 184.5, 1234.5, 200
print(f"{price:.2f}") # 184.50
print(f"{pnl:+,.2f}") # +1,234.50
print(f"{quantity:>8d}|") # " 200|"
print(f"{0.0123:.1%}") # 1.2%Als Nächstes: Booleans und Vergleiche, die Werte True und False, aus denen jede Entscheidung einer Handelsregel entsteht.
Lab: Was bewertet wird
- Mit
quote_lineeine Kursstellung als Text schreiben25 Pkt. - Mit
signed_pnlGewinn und Verlust mit Vorzeichen anzeigen25 Pkt. - Mit
normalize_symbolein Tickersymbol bereinigen25 Pkt. - Mit
parse_filleine Ausführungszeile aus einem Feed lesen25 Pkt.