اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

علامات التنصيص ليست شيئا متعلّقا بالدالة print، بل هي علامات تدل على بداية ونهاية سلسلة نصّيّة (محرفيّة)  String. خلافا لبعض لغات البرمجة (C، Java...) التي تفرّق بين علامات التنصيص المفردة ('...') وعلامات التنصيص المزدوجة ("...")، فإن لغة بايثون لا تفرّق بينهما في شيء. لذلك، فلا يهم أيهما استخدمت لإنشاء سلسلة نصيّة:

text1 = "Hello world"
text2 = 'Hello world'
print(text1 ==  text2) # True

ونفس القاعدة تنطبق على السلاسل النصّيّة ثلاثية التنصيص، والتي يمكن كتابتها على عدّة أسطر:

text1 = """
Hello
World
"""

text2 = '''
Hello
World
'''

print(text1 == text2)  # True

إذن ما فائدة وجود علامتين لإنشاء السلاسل النصيّة؟ الفائدة هي إمكانية استخدام إحدى علامتي التنصيص داخل سلسلة تم تعريفها بالعلامة الأخرى. هذا مفيد لكتابة نص كهذا:

print("Don't go outside!")

لاحظ كيف أن كلمة Don't تحوي علامة تنصيص مفردة، لذلك احتجنا إلى استخدام علامتي تنصيص مزدوجتين لتحديد السلسة النصّيّة. في حالة ما أردنا أن أن نستخدم علامتي تنصيص مفردتين، فهنا يجب إضافة محرف هروب (escape character) لعلامة التنصيص الموجودة داخل السلسلة النصيّة:

print('Don\'t go outside')

كما ترى فالنص صار أقل وضوحا بهذه الطريقة، لذلك معظم المبرمجين يتجنبونها ولا يختارونها إلا في حالة الاضطرار.

علامات التنصيص المفردة تستخدم هي أيضا لتعريف السلسلة النصيّة خاصّة إذا كان فيها نص يستخدم علامتي التنصيص المزدوجة، مثل شفرة HTML:

print('<a href="https://academy.hsoub.com/">أكاديمية حسوب</a>')

 

  • 0
نشر

في دالة print، لا يوجد فرق جوهري بين استخدام ' و " لعرض النص فكلاهما يستخدم لعرض سلسلة نصية بين علامتي اقتباس.

لكن يمكن دمج المتغيرات داخل السلسلة النصية باستخدام f-strings أو طريقة التنسيق القديمة كاستخدام علامات التنصيص الخاصة مثل \n و \t للتحكم بترتيب السطور و المسافات.

الاختلافات البسيطة بينهما تتجلى من خلال الاقتباسات المزدوجة (") فهي تستخدم بشكل أكثر شيوعا.

وبشكل عام يمكن استخدام ' و " بشكل متبادل في دالة print لعرض النص، أما عن كيفية استخدامي شخصيا لهما فأنا أستخدم هذه " بشكل افتراضي، أما الأخرى فأستخدمها إذا كنت بحاجة إلى عرض نص يحتوي على علامات اقتباس مزدوجة.

لكن من الأفضل أن نكون متسقين بالحفاظ على نمط ونوع واحد في أكوادنا البرمجية.

  • 0
نشر

لا فرق بينهم، حيث نستخدم علامات الإقتباس في البرمجة للإشارة إلى السلاسل النصية، أي يتم ترجمة النص داخلها على أنه نص.

بالطبع  هناك استثناء لذلك من خلال الدالة  f-strings وهي ميزة جديدة تم إدخالها في بايثون 3.6، عبارة عن نوع خاص من السلاسل النصية تسمح بتضمين المتغيرات مباشرة داخلها.

مثال:

length = 5
width = 3

area = length * width

print(f"The area of the rectangle is {area}")

لاحظ تم طباعة قيمة المتغير area ضمن السلسلة النصية.

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...