تنسيق السلاسل النصية#
مقدمة#
تُستخدم الدالة .format() في بايثون لإنشاء سلاسل نصية تتضمن متغيرات أو تعابير أو قيم. تستبدل هذه الدالة عناصر نائبة {} في السلسلة النصية بالقيم المُقدمة داخل .format().
def main():
x = 1
y = 5
# Display the variables using .format()
console.print("Position: ({}, {})".format(x, y))
# Start threads — Do not delete
start_thread(main)
def main():
# Display a calculation using .format()
console.print("Sum: {}".format(5 + 3))
# Start threads — Do not delete
start_thread(main)
def main():
wait(1, SECONDS)
# Display the time using .format()
console.print("Time: {}".format(timer.time(SECONDS)))
# Start threads — Do not delete
start_thread(main)
تنسيق الأرقام باستخدام .format – إدراج القيم والتعبيرات في سلسلة نصية.
:.xf– يحدد عدد المنازل العشرية المراد عرضها.round– يقوم بتقريب رقم إلى عدد معين من المنازل العشرية.:,– يضيف الفواصل كفاصل للآلاف.:.x%– يحول العدد العشري إلى نسبة مئوية مع x منزلة عشرية.:#x– يقوم بتنسيق رقم كنظام سداسي عشري.:b– يقوم بتنسيق رقم كرقم ثنائي.
دمج السلاسل النصية – دمج النصوص والقيم.
.format()– دمج السلاسل والمتغيرات في تعبير واحد.+ operator– دمج السلاسل يدويًا مع تحويل النوع الاختياري.
طرق التعامل مع السلاسل النصية – تغيير حالة الأحرف في النص.
التحقق من وجود أجزاء نصية فرعية – اختبار وجود النص أو موضعه.
in– يتحقق مما إذا كانت كلمة ما موجودة في سلسلة نصية.startswith()– يتحقق مما إذا كانت السلسلة تبدأ بقيمة معينة.endswith()– يتحقق مما إذا كانت السلسلة تنتهي بقيمة معينة.
تسلسلات الهروب – تنسيق الإخراج باستخدام الأحرف الخاصة.
تنسيق الأرقام باستخدام .format#
يمكن استخدام .format للتحكم في كيفية ظهور الأرقام، بما في ذلك المنازل العشرية والتقريب وأنماط التنسيق الأخرى مثل:
Fixed Decimal Places#
:.xf يتحكم في عدد المنازل العشرية التي يتم عرض الرقم بها.
Usage:
:.xf
حدود |
وصف |
|---|---|
|
عدد المنازل العشرية المطلوب عرضها. |
def main():
# Display pi with 2 decimal places
pi = 3.1415926535
console.print("Pi: {:.2f}".format(pi))
# Output: Pi: 3.14
# Start threads — Do not delete
start_thread(main)
Rounding Numbers#
تقوم الدالة round بتقريب الرقم إلى عدد محدد من المنازل العشرية قبل التنسيق.
Usage:
round(number, x)
حدود |
وصف |
|---|---|
|
الرقم المراد تقريبه. |
|
عدد المنازل العشرية التي يتم التقريب إليها. |
def main():
# Display a value rounded to only 2 decimal places
value = 5.6789
console.print("Rounded: {}".format(round(value, 2)))
# Output: Rounded: 5.68
# Start threads — Do not delete
start_thread(main)
Thousands Separator#
:, يقوم بإدخال الفواصل كفواصل للآلاف لجعل الأرقام الكبيرة أكثر قابلية للقراءة.
Usage:
:,
حدود |
وصف |
|---|---|
لا يحتوي مُحدد التنسيق هذا على أي معلمات. |
def main():
# Display a large number separated with commas
number = 1234567
console.print("Formatted: ")
console.new_line()
console.print("{:,}".format(number))
# Output: Formatted: 1,234,567
# Start threads — Do not delete
start_thread(main)
Percentage#
:.x% يقوم بتنسيق القيم العشرية كنسب مئوية عن طريق ضرب القيمة في 100 وإضافة علامة النسبة المئوية.
Usage:
:.x%
حدود |
وصف |
|---|---|
|
عدد المنازل العشرية المطلوب عرضها. |
def main():
# Display a converted decimal to a percentage
value = 0.875
console.print("Score: {:.1%}".format(value))
# Output: Score: 87.5%
# Start threads — Do not delete
start_thread(main)
Hexadecimal#
:#x يحول الأرقام إلى النظام الست عشري.
Usage:
:#x
حدود |
وصف |
|---|---|
لا يحتوي مُحدد التنسيق هذا على أي معلمات. |
def main():
# Convert 255 to hexadecimal
number = 255
console.print("Hex: {:#x}".format(number))
# Output: Hex: 0xff
# Start threads — Do not delete
start_thread(main)
Binary#
:b يحول الأرقام إلى النظام الثنائي (الأساس 2).
Usage:
:b
حدود |
وصف |
|---|---|
لا يحتوي مُحدد التنسيق هذا على أي معلمات. |
def main():
# Convert 3 to binary
console.print("Binary: {:b}".format(3))
# Output: Binary: 11
# Start threads — Do not delete
start_thread(main)
دمج الأوتار#
يمكنك دمج (أو ربط) السلاسل النصية باستخدام طريقتين:
Using .format#
أدخل القيم مباشرة في السلسلة باستخدام {}.
def main():
# Display an answer based on the given emotion
emotion = "good"
console.print("I'm {}, you?".format(emotion))
# Start threads — Do not delete
start_thread(main)
+ Operator#
قم بربط أجزاء متعددة باستخدام +.
ملاحظة: يجب أولاً تحويل القيم غير النصية إلى سلاسل نصية باستخدام الدالة str().
def main():
# Display the x and y values
x = 10
y = 20
console.print("X: " + str(x) + ", Y: " + str(y))
# Start threads — Do not delete
start_thread(main)
طرق السلاسل النصية#
توفر لغة بايثون طرقًا مدمجة لتعديل السلاسل النصية والتحقق منها.
upper#
upper يحول جميع الأحرف في السلسلة إلى أحرف كبيرة.
Usage:
upper()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
def main():
# Capitalize a string with .upper()
message = "vexcode"
console.print(message.upper()) # Output: VEXCODE
# Start threads — Do not delete
start_thread(main)
lower#
lower يحول جميع الأحرف في السلسلة إلى أحرف صغيرة.
Usage:
lower()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
def main():
# Make a string lowercase with .lower()
message = "VEXCODE"
console.print(message.lower()) # Output: vexcode
# Start threads — Do not delete
start_thread(main)
التحقق من السلاسل الفرعية#
in#
in هي كلمة مفتاحية تُرجع قيمة منطقية تشير إلى ما إذا كانت سلسلة فرعية (كلمة أو جزء من النص) موجودة في سلسلة نصية.
True– الكلمة موجودة في السلسلة.False– الكلمة غير موجودة في السلسلة.
def main():
message = "Hey everyone!"
if "Hey" in message:
console.print("Hello!")
# Start threads — Do not delete
start_thread(main)
startswith#
startswith تُرجع قيمة منطقية تشير إلى ما إذا كانت السلسلة تبدأ بقيمة معينة.
True- الكلمة تبدأ السلسلة.False– الكلمة لا تبدأ السلسلة.
Usage:
startswith(substring)
حدود |
وصف |
|---|---|
|
السلسلة الفرعية التي يجب التحقق منها في بداية السلسلة. |
def main():
# Check for 'GO' at the start of a string
message = "GO Robot"
if message.startswith("GO"):
console.print("GO first!")
# Start threads — Do not delete
start_thread(main)
endswith#
endswith تُرجع قيمة منطقية تشير إلى ما إذا كانت السلسلة تنتهي بقيمة معينة.
True– الكلمة تنهي السلسلة.False– الكلمة لا تُنهي السلسلة.
Usage:
endswith(substring)
حدود |
وصف |
|---|---|
|
السلسلة الفرعية التي يجب التحقق منها في نهاية السلسلة. |
def main():
# Check for `Robot` at the end of a string
message = "GO Robot"
if message.endswith("Robot"):
console.print("Robot last!")
# Start threads — Do not delete
start_thread(main)
تسلسلات الهروب#
تُستخدم تسلسلات الهروب كأحرف خاصة داخل السلاسل النصية لتنسيق مخرجات النصوص.
New Line#
\n ينقل النص إلى سطر جديد عند الطباعة.
def main():
# Display text on two lines
console.print("First line\nSecond line")
# Start threads — Do not delete
start_thread(main)
Tab Spacing#
\t يُدرج مسافة جدولة بين الكلمات أو الأرقام.
def main():
# Display the quantity of disks
quantity = 2
console.print("Disks:\t", quantity)
# Start threads — Do not delete
start_thread(main)