النص سلسلة نصية
السلسلة النصية (str) هي نص. اكتبها بين علامتي اقتباس مفردتين أو مزدوجتين: كلاهما بالمعنى نفسه، فاختر أسلوبًا والتزم به. تبدأ الشرطة المائلة العكسية تسلسل هروب مثل \n للسطر الجديد. تحسب len() عدد الأحرف. السلاسل غير قابلة للتعديل: لا تغيّر سلسلة في مكانها أبدًا، بل تبني سلسلة جديدة.
symbol = "AAPL"
note = 'bid and ask'
print(symbol, len(symbol)) # AAPL 4
print(note) # bid and askالفهرسة والتقطيع
لكل حرف موضع يبدأ العدّ فيه من 0. text[0] هو الحرف الأول وtext[-1] هو الأخير. الشريحة text[start:stop] تأخذ الأحرف من start حتى stop دون تضمينه. اترك أحد الطرفين فارغًا للوصول إلى ذلك الطرف.
# 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 USدوال لتنظيف النص وتقسيمه
الدوال المرتبطة بقيمة (methods) تُستدعى بنقطة. وهي تُرجع سلسلة جديدة وتترك الأصلية كما هي. تزيل strip() المسافات وأسطر الفراغ حول النص، وتغيّر upper() وlower() حالة الأحرف، وتستبدل replace(old, new) نصًا بآخر، وتقطع split(",") السطر عند كل فاصلة إلى قائمة من القطع. وتمتلئ تغذيات البيانات بأسطر كهذه.
# 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") # Trueتضع f-strings القيم داخل النص
ضع f قبل علامة الاقتباس الافتتاحية واكتب أي تعبير بين { و}: تقيّمه Python وتُدرج النتيجة كنص. وهذا يغني عن لصق القطع بـ+ وعن تحويل الأعداد يدويًا. يعمل أي تعبير صالح داخل الأقواس المعقوفة حتى العمليات الحسابية.
# 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.25مواصفات التنسيق
بعد النقطتين داخل الأقواس، تتحكم مواصفة التنسيق في شكل القيمة. تعرض .2f منزلتين عشريتين، وتضيف , فواصل الآلاف، وتُظهر + الإشارة دائمًا، وتحاذي >8 إلى اليمين بعرض 8، وتعرض .1% الكسر كنسبة مئوية. ويمكن الجمع بينها: +,.2f مبلغ بإشارة وفواصل ومنزلتين عشريتين.
# 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%التالي: القيم المنطقية والمقارنات، أي القيمتان True وFalse اللتان يُبنى عليهما كل قرار في قاعدة تداول.
المختبر: ما الذي يُقيَّم
- اكتب سعر العرض والطلب كنص باستخدام
quote_line25 نقطة - اعرض الربح والخسارة مع الإشارة باستخدام
signed_pnl25 نقطة - نظّف رمز السهم باستخدام
normalize_symbol25 نقطة - اقرأ سطر تنفيذ من التغذية باستخدام
parse_fill25 نقطة