النصوص: print وinput والسلاسل النصية
تسأل input() المستخدم سؤالًا وتُرجع ما كتبه، وهو دائمًا نص (من النوع str). وتعرض print() القيم على الشاشة.
فيديو اختياري في الأعلى. محاضرة هارفارد الكاملة لهذا الأسبوع (ساعة و46 دقيقة)، يقدّمها ديفيد مالان، وتغطي هذه الوحدة. وملاحظات هارفارد المكتوبة (بالإنجليزية): ملاحظات CS50P، الأسبوع 0. كل ما تحتاجه موجود في النص أدناه، فشاهده فقط إن كان يفيدك: يحفظ inPace المكان الذي توقفت عنده.
الفيديو بالإنجليزية: إن أردت مشاهدته فشغّل الترجمة (CC)، ثم الإعدادات ← الترجمة ← ترجمة تلقائية ← العربية.
name = input("What's your name? ")
print("hello,", name) # print puts a space between arguments
print("hello, " + name) # + joins two strings
print(f"hello, {name}") # an f-string: the cleanest way
تنظيف ما يكتبه الناس
يكتب الناس مسافات زائدة وحروفًا كبيرة في غير موضعها. وتوابع النصوص (methods) تصلح ذلك. والتابع دالة تخص قيمة ما، وتُستدعى بنقطة:
name = input("Name: ").strip().title() # " mona ali " -> "Mona Ali"
first, last = name.split(" ") # split at the space into two variables
print(f"Hi {first}! Your name has {len(name)} characters.")
توابع نصية مفيدة
| التابع | ماذا يفعل |
|---|---|
.strip() |
يحذف المسافات من الطرفين |
.lower() و.upper() |
كل الحروف صغيرة أو كبيرة |
.title() |
يجعل أول حرف من كل كلمة كبيرًا |
.replace(a, b) |
يستبدل كل a بـ b |
.split(sep) |
يقطع النص إلى قائمة |
.startswith(x) |
يُرجع True إذا بدأ النص بـ x |
خيارات print نفسها
تضيف print سطرًا جديدًا في النهاية ومسافة بين المُدخلات. ويمكنك تغييرهما بـ end وsep:
print("a", "b", "c", sep="-") # a-b-c
print("no new line", end="")
print(" ...same line")
التعليقات
كل ما بعد # تعليق: تتجاهله بايثون ويقرؤه الناس. اكتب تعليقات تشرح لماذا، لا ماذا. وللاقتباس داخل الاقتباس استخدم النوع الآخر ('He said "hi"') أو الشرطة المائلة العكسية.