تنسيق السلاسل النصية#
مقدمة#
الطريقة المُوصى بها لتنسيق النصوص والأرقام في بايثون هي استخدام سلاسل f. فهي تسمح بتضمين المتغيرات والتعبيرات واستدعاءات الدوال مباشرةً داخل {}.
لإنشاء سلسلة f، أضف f قبل السلسلة، وضع أي متغير أو تعبير أو استدعاء دالة داخل {}.
x = 1
y = 5
# Display the variables using an f-string
controller.screen.print(f"Position: ({x}, {y})")
# Display a calculation with an f-string
controller.screen.print(f"Sum: {5 + 3}")
# Display the robot's battery capacity with an f-string
controller.screen.print(f"Battery: {controller.get_battery_level()}%")
سلاسل f-strings – تضمين المتغيرات والتعبيرات مباشرة في النص.
f”{value}”– يعرض المتغيرات أو التعبيرات أو استدعاءات الدوال داخل سلسلة نصية.
تنسيق الأرقام في سلاسل f-strings – التحكم في كيفية ظهور القيم الرقمية.
:.xf– يحدد عدد المنازل العشرية المراد عرضها.round– يقوم بتقريب رقم إلى عدد معين من المنازل العشرية.:,– يضيف الفواصل كفاصل للآلاف.:.x%– يحول العدد العشري إلى نسبة مئوية مع x منزلة عشرية.:#x– يقوم بتنسيق رقم كنظام سداسي عشري.:b– يقوم بتنسيق رقم كرقم ثنائي.
دمج النصوص – دمج النصوص والقيم.
f”{value}”– دمج السلاسل والمتغيرات في تعبير واحد.+operator – دمج السلاسل يدويًا مع تحويل النوع الاختياري.
طرق التعامل مع السلاسل النصية – تغيير حالة الأحرف في النص.
فحص السلاسل الفرعية – اختبار وجود النص أو موضعه.
in– يتحقق مما إذا كانت كلمة ما موجودة في سلسلة نصية.startswith– يتحقق مما إذا كانت السلسلة تبدأ بقيمة معينة.endswith– يتحقق مما إذا كانت السلسلة تنتهي بقيمة معينة.
تسلسلات الهروب – تنسيق الإخراج باستخدام الأحرف الخاصة.
تنسيق الأرقام في سلاسل f#
تتيح سلاسل f التحكم الدقيق في المنازل العشرية والتقريب وفواصل الآلاف والمزيد باستخدام محددات التنسيق التالية:
Fixed Decimal Places#
.xf يتحكم في عدد المنازل العشرية التي يتم عرض الرقم بها.
Usage:
.xf
حدود |
وصف |
|---|---|
|
عدد المنازل العشرية المطلوب عرضها. |
# Display pi with 2 decimal places
pi = 3.1415926535
controller.screen.print(f"Pi: {pi:.2f}")
# Output: Pi: 3.14
Rounding Numbers#
round rounds numbers outside of an f-string or inside of the {}.
Usage:
round(number, x)
حدود |
وصف |
|---|---|
|
الرقم المراد تقريبه. |
|
عدد المنازل العشرية التي يتم التقريب إليها. |
# Display a value rounded to only 2 decimal places
value = 5.6789
controller.screen.print(f"{round(value, 2)}")
# Output: 5.68
Thousands Separator#
يقوم الرمز , بإدخال الفواصل كفاصل للآلاف لجعل الأرقام الكبيرة أكثر قابلية للقراءة.
Usage:
,
حدود |
وصف |
|---|---|
لا يحتوي مُحدد التنسيق هذا على أي معلمات. |
# Display a large number separated with commas
number = 1234567
controller.screen.print(f"{number:,}")
# Output: 1,234,567
Percentage#
.x% يقوم بتنسيق القيم العشرية كنسب مئوية.
Usage:
.x%
حدود |
وصف |
|---|---|
|
عدد المنازل العشرية المطلوب عرضها. |
# Display a converted decimal to a percentage
value = 0.875
controller.screen.print(f"{value:.1%}")
# Output: 87.5%
Hexadecimal#
.#x يحول الأرقام إلى النظام الست عشري.
Usage:
.#x
حدود |
وصف |
|---|---|
لا يحتوي مُحدد التنسيق هذا على أي معلمات. |
# Convert 255 to hexadecimal
number = 255
controller.screen.print(f"{number:#x}")
# Output: 0xff
Binary#
b يحول الأرقام إلى النظام الثنائي (الأساس 2).
Usage:
b
حدود |
وصف |
|---|---|
لا يحتوي مُحدد التنسيق هذا على أي معلمات. |
# Convert 3 to binary
controller.screen.print(f"Binary: {3:b}")
# Output: Binary: 11
دمج الأوتار#
يمكنك دمج (أو ربط) السلاسل النصية باستخدام طريقتين:
Using f-strings#
باستخدام سلاسل f، يمكنك تضمين المتغيرات مباشرة داخل {}.
# Display an answer based on the given emotion
emotion = "good"
controller.screen.print(f"I'm {emotion}, you?")
+ Operator#
يمكنك دمج السلاسل يدويًا باستخدام عامل التشغيل +.
ملاحظة: يجب أولاً تحويل القيم غير النصية إلى سلاسل نصية باستخدام الدالة str().
# Display the x and y values
x = 10
y = 20
controller.screen.print("X: " + str(x) + ", Y: " + str(y))
طرق السلاسل النصية#
توفر لغة بايثون طرقًا مدمجة لتعديل السلاسل النصية والتحقق منها.
upper#
upper يحول جميع الأحرف في السلسلة إلى أحرف كبيرة.
Usage:
upper()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Display a message in uppercase
message = "vexcode"
controller.screen.print(message.upper())
# Output: VEXCODE
lower#
lower يحول جميع الأحرف في السلسلة إلى أحرف صغيرة.
Usage:
lower()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
# Display a message in lowercase
message = "VEXCODE"
controller.screen.print(message.lower())
# Output: vexcode
التحقق من السلاسل الفرعية#
in#
in هي كلمة مفتاحية تُرجع قيمة منطقية تشير إلى ما إذا كانت سلسلة فرعية (كلمة أو جزء من النص) موجودة في سلسلة نصية.
True– الكلمة موجودة في السلسلة.False– الكلمة غير موجودة في السلسلة.
# Display a message if "Hey" is in the string
message = "Hey everyone!"
if "Hey" in message:
controller.screen.print("Hello!")
startswith#
startswith تُرجع قيمة منطقية تشير إلى ما إذا كانت السلسلة تبدأ بقيمة معينة.
True- الكلمة تبدأ السلسلة.False– الكلمة لا تبدأ السلسلة.
Usage:
startswith(substring)
حدود |
وصف |
|---|---|
|
السلسلة الفرعية التي يجب التحقق منها في بداية السلسلة. |
# Display a message if the string starts with "AIR"
message = "AIR Drone"
if message.startswith("AIR"):
controller.screen.print("AIR first!")
endswith#
endswith تُرجع قيمة منطقية تشير إلى ما إذا كانت السلسلة تنتهي بقيمة معينة.
True– الكلمة تنهي السلسلة.False– الكلمة لا تُنهي السلسلة.
Usage:
endswith(substring)
حدود |
وصف |
|---|---|
|
السلسلة الفرعية التي يجب التحقق منها في نهاية السلسلة. |
# Display a message if the string ends with "Drone"
message = "AIR Drone"
if message.endswith("Drone"):
controller.screen.print("Drone last!")
تسلسلات الهروب#
تُستخدم رموز الهروب كأحرف خاصة داخل السلاسل النصية لتنسيق مخرجات النصوص. وهي متاحة فقط للاستخدام مع Console.
New Line#
\n ينقل النص إلى سطر جديد عند الطباعة.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t يُدرج مسافة جدولة بين الكلمات أو الأرقام.
# Display the quantity of barrels
quantity = 2
print("IDs:\t", quantity)