تذكر:- كنا بنعمل نص بداخل متغير بالطريقة التالية
X="النص"
وكنا نقوم بطباعة النص
print(X)
أو كنا نطبع النص مباشرةً
print("النص")
-
معلومة :-
X="النص"
=
X='النص'
لا يوجد إختلاف بين الإثنين وممكن تتكتب
بأي طريقة منهم
-
إذا كان النص كبير أكثر من سطر
ففي الحالة دي هنستخدم """
في بداية النص بداخل المتغير و""" في نهاية النص
أحب افكركم بمعلومة عند ما كنا نعمل تعليق
اكثر من سطر كنا نضيف """ قبل التعليق وبعده.ولكن هنا لم تعتبر
تعليق لذلك لان ثلاث علامات تنصيص داخل متغير تعني نص وليست تعليق
مثال:-
"""
This
is A comment
"""
X="""
This is a text
This
Is not comment
"""
print(X)
اكتب الكود في البايثون
الناتج :-
This is a text
This
Is not comment
ملاحظة :-
"""
زي
'''
وممكن تكتبها عادي مكانها بس اللي تبدأ بيه تنهي بيه
ملحوظة إضافية بايثون يضع
المسافات والسطور في نفس مكانها زي ما إنت كتبها زي ما في المثال السابق
مثال:-
X="MEG"
print(X[0])
اكتب الكود في البايثون
الناتج :-
M
شرح:-
print(X[0]
Xمعناها
بتقول لبايثون اطبع الحرف الأول من المتغير
لو عايز الحرف الثاني الكود هيكون كدا
print(X[1])
وهكذا الحرف الثالث ..
بحيث البايثون تبدأ من الصفر
وليس 1
مثال:-
X="MEG-PAI"
print(X[4:6])
اكتب الكود في البايثون
الناتج :-
PAI
شرح:-
print(X[4:6])
إلي السادس Xمعناها بتقول لبايثون اطبع من
الحرف الرابع من المتغير
وكما قولنا أول حرف 0 ثم 1 ثم 2
إلخ...
ولو كان الرقم سالب سيعد من
النهاية
حالة إستثنائية:-سالب صفر لا
يعتبر أول رقم من الأخر. لا يوجد أول رقم
مثال:-
X="MEG-PAI"
print(X[-5:-2])
اكتب الكود في البايثون
الناتج :-
G-P
شرح:-
print(X[-5:-2])
إلي الثاني من الأخر Xمعناها بتقول لبايثون اطبع من
الحرف الخامس من المتغير
بمعني أنك تعد من الاخر من الصفر حتي تصل لحرف البداية
الذي تريد طباعته مع جعله سالب كما فعلنا وتعد مرة أخري من الأخر من الصفر حتي
تحصل علي حرف النهاية ثم تجعل ذلك الرقم سالب
فيطبع بايثون حرف البداية حتي يصل للنهاية ويطبع لك الكلمة كاملة. وأضيف
معلومة لك
وكما قولنا أول حرف 0 ثم 1 ثم 2 إلخ... ولكن من النهاية
نجعل رقم سالب
حالة إستثنائية:-سالب صفر لا
يعتبر أول رقم من الأخر. لا يوجد أول رقم
وممكن ندمج الرقم الموجب
والسالب .بحيث مثلاً سيعد من البداية في الرقم الأول وسيعد من النهاية في الرقم
الثاني(سالب)والعكس
مثال:-
X="MEG-PAI"
print(len(x))
اكتب الكود في البايثون
الناتج :-
7
شرح:-
print(len(x))
بتقول للبايثون إطبع عدد الحروف
الموجودة في المتغير وسيعد البايثون الحروف الموجودة في الكلمات بداءاً من 1
إلخ...بالإضافة أن المسافات والسطور تحسب
مثال:-
X=" MEG-PAI "
print(x.strip())
اكتب الكود في البايثون
الناتج :-
MEG-PAI
شرح:-
print(x.strip())
بتقول للبايثون إطبع المتغير مع
حذف المسافات في بادئ النص وفي نهايته
مثال:-
X="Programming"
print(x.upper())
print(x.lower())
print(x.replace("P","G"))
اكتب الكود في البايثون
الناتج :-
PROGRAMMING
programming
Grogramming
شرح:-
print(x.upper())
بتقول للبايثون إطبع المتغير مع تحويل كل حروفه إلي حروف
كبيرة
print(x.lower())
بتقول للبايثون إطبع المتغير مع تحويل كل حروفه إلي حروف
صغيرة
print(x.replace("P","G"))
بتقول للبايثون إطبع المتغير مع استبدال حرف ال P بالG والفاصل
بينهم فاصلة
حيث أول نص الذي سيتبدل بالثاني مش لازم يكون حرف ممكن
يكون كلمة ممكن يكون نص .
لو تركت الثاني فارغ في
دالة replace كإنك بتقول إحذف حرف P
مثال:-
X="Programming,
Games"
print(x.spilt(","))
اكتب الكود في البايثون
الناتج :-
['Programming',
'Games']
شرح:-
print(x.spilt(","))
بتقول لبايثون الأتي:- اطبع ما قبل الفاصلة وما بعدها
وحددنا الفاصلة وهي ,
فبتالي إنقسم الكلام لقسمين.
-------------------------------------------------------------------------
مثال:-
txt="Programming
and Games"
x="Games"
in txt
y="Programs" not in txt
z="Programs"
in txt
print(x)
print(y)
print(z)
اكتب الكود في البايثون
الناتج :-
True
True
False
شرح:-
X="Games"
in txt
txt موجودة في المتغير Gamesبتقول لبايثون هل كلمة
روحنا طبعنا الناتج
print(x)
فطلعت
True
txtموجودة في
المتغير Gamesوتعني أن
كلمة
X="programs"
not in txt
txtفي المتغير غير موجودة Programsبتقول
لبايثون هل كلمة
روحنا طبعنا الناتج
print(x)
فطلعت
True
txtغير موجودة
في المتغير Programsوتعني أن
كلمة
X="programs"
in txt
txt موجودة في المتغير Programsبتقول
لبايثون هل كلمة
روحنا طبعنا الناتج
print(x)
فطلعت
False
txtغير موجودة في المتغير Programsوتعني أن
كلمة
False
تعني أن الشرط المفروض غير صحيح
True
تعني أن الشرط المفروض صحيح
-------------------------------------------------------------------------
مثال:-
a="Programming
and Games"
b="and
Programs"
print(a
+ " " + b)
اكتب الكود في البايثون
الناتج :-
Programming
and Games And Programs
شرح:-
هنا دمجنا بين متغيرين نصوص فظهر لنا الناتج السابق فقمنا
بتالي
بإنشاء متغيرين واعطناهم قيم
وقمنا بطباعة المتغير الأول ودمجنا بالثاني
ملاحظة :-
print(a
+ b) ≠ print(b + a)
في حالة إذا كان المتغيرات نصوص أما إذا كان المتغيرات
أرقام فإنهم متساويين
طريقة أخري:-
a="Programming
and Games"
b="and
Programs"
c=a +
" " + b
print(c)
اكتب الكود في البايثون
الناتج :-
Programming
and Games And Programs
شرح:-
هنا دمجنا بين متغيرين نصوص فظهر لنا الناتج السابق
فقمنا بتالي
بإنشاء متغيرين واعطناهم قيم
وانشأنا متغير يدمج المتغيرين الباقيين ولكن مع فصل
بينهما بـ " "ودي معناها مسافة
وقمنا بطباعة الثالث
كنا نقول عند إضافة متغير رقم مع متغير نص
كنا نحول الرقم إلي نص بطريقة التحويل اللي أخدناها المرة السابقة أو كنا نضيف
للرقم علامتين تنصيص ليصبح نص
إذا كنت لم تري الدرس السابق إضغط هنا
ولكن اليوم سنأخذ درس جديد
مثال:-
game=1
time=30
Full="I
Can Program {} game in {} minutes
print(full.format(game
, time))
اكتب الكود في البايثون
الناتج :-
I Can
Program 1 game in 30 minutes
شرح:-
هنا دمجنا بين نص وارقام كما بان في الناتج نفهم جات ازاي
أول حاجة عملنا متغيرين واعطنالهم قيم أرقام ثم هتلاحظ
في متغير النص قوسين {}مجموعة
هتلاحظ في النتيجة قوسين المجموعة تبدلوا بأرقام
أول حاجة نفهم دالة
Format
هي دالة تضع القيم المتغيرات بداخلها (المتغيرات
الرقمية) بالترتيب محل الأقواس بالترتيب
وقولناله إطبع القيم بدمج الأرقام مع النص محل الأقواس في متغير النص
طبعاً ممكن تزودهم عن قيمتين داخل الدالة بإضافة فاصلة ,
بين كل قيمة وقيمة
وممكن تخليها قيمة واحدة بكتابة
القيمة ولا تكتب فواصل
X="
This Is text\"Programming\""
print(x)
Y="It
will be one \\"
print(Y)
Z='it\'s
right'
print(Z)
A="this
equal\n enter"
print(A)
B="It
will be one \\"
print(B)
C="\110\145\154\154\157"
print(C)
D="\x48\x65\x6c\x6c\x6f"
print(D)
اكتب الكود في البايثون
الناتج :-مجموع النواتج
This
Is text "Programming"
It
will be one \
It's
right
This
equal
Enter
It
will be one \
Hello
Hello
شرح:-
هتلاحظ فيه علامات غريبة هو ده المقصود
بالمثال يعني في مشكلة وهي كتابة كلمة حوليها علامتين تنصيص داخل المتغير
/حلناها في أول متغير وهي وضع علامة
وهي لن تظهر ولكن عرفت البايثون أن تلك
العلامات ضمن النص وليس لها علاقة بقاعدة المتغير
حل مشكلة تلك العلامة في الانجليزية
'
فضمن وجودها في النص قد يسبب لك مشكلة لذلك ضع
تلك العلامة قبلها
وستنحل المشكلة \
تلك العلامة توضع في أي متغير نص لعمل سطر\n
تلك العلامة التي ذكرناها في أكثر من مرة في
الأعلي (\)تسمي
backslash
لو وضعت علامتين من تلك علامة عند الطباعة
تصير واحدة
احنا لخصنالك أهم حاجة في
السابق وهنديك فكرة عن الباقي
\tتعمل عمل تاب في لوحة المفاتيح
ولكن ممكن الاستغناء عنها لانها حوالي 5 مسافات ممكن تعملها من غير متتعب نفسك
وتكتبها
\bوهي تعمل عمل زر مسح حرف في
لوحة المفاتيح
\rده زي enter
الدوال النصية
X= " text "
Y=X.**(***)
print(Y)
النجمتين هم الدوال Method
الثلاث نجوم هو ما بداخل القوس حسب الدالة
وفي الوصف كاتبين ماذا يكتب داخل هذه الأقواس
Method
|
Description
|
capitalize() |
تحويل أول حرف من نص المتغير لحرف كبير عند
الطباعة (الأقواس فارغة)
|
casefold() |
تحويل النص إلي حروف صغيرة عند
الطباعة(الأقواس فارغة)
|
center() |
يجعل النص في وسط
مسافات وستظهر عند الطباعة(بين الأقواس عدد المسافات)
|
count() |
يعطيك عند الطباعة عدد الكلمات الموجودة بنفس
الحروف في النص (بين الأقواس نص حتي لو رقم ولا تنسي
علامات التنصيص حول الكلمة أو الرقم )
|
encode() |
تعتبر نسخة مرمزة علي
هيئة بايتات
|
endswith() |
في حالة أن true(بين الأقواس نص
ويكون بين علامتي تنصيص)عند طباعة الناتج سينتج
المتغير في نهايته القيمة(نص أو عدد) الذي
حددناه
|
expandtabs() |
وقولنا ان دي بتعمل مسافات في أي مكان اتحطت فيه
بالنص.دي خاصية\tأخدنا المرة السابقة
بتحدد فيها عدد المسافات
|
find() |
تكتب بداخل الأقواس قيمة بين علامتين تنصيص
البايثون سيبحث البايثون عن تلك القيمة وسيحدد لك
مكانها عند الطباعة
|
format() |
أخدنا إستخدامها ولكن في بعض المعلومات تحت في
الصفحة عنها
|
index() |
مثل find
ولكن سنوضح الفروق أسف الصفحة
|
isalnum() |
أي صحيح في حالة أن النص يحتوي علي حروف
واعداد Trueعند الطباعة ستأتي
falseالمسافات لا تعتبر من الحروف
وكذلك العلامات ولو موجدين ستصبح النتيجة
الأقواس فارغة
|
isalpha() |
مثل السابق لكن حروف فقط وحين ذلك ستطبع(صحيح)
|
isdecimal() |
مثل السابق لكن أرقام فقط وحين ذلك ستطبع (صحيح)
|
isdigit() |
مثل السابقة لكن أرقام مع الأس وهكذا أي علي
أوسع وحين ذلك ستطبع(صحيح)
|
isidentifier() |
مثل السابق ولكن
تستثني الأرقام علي أول النص وأي علامة ماعدا _وحين إذ ستطبع (صحيح)
|
islower() |
مثل السابق ولكن في
حالة كان الحروف صغيرة ستطبع(صحيح)
|
isnumeric() |
مثل السابق لكن
للأعداد أي ممكن يسمح للعشرات والمئات وإلخ وعند الطباعة
ستنتج صحيحة
|
isprintable() |
مثل السابق ولكن في حالة أنه كان قابل للطباعة
أي لا يوجد سطور ستنتج(صحيح)
|
isspace() |
عندما يكون النص عبارة عن مسافاتtrueمثل السابق ولكن تنتج
صحيح
|
istitle() |
هتنتج صحيحة إذا كان
المتغير يتبع قواعد العناوين مثل لا يمكن أن يوجد علامة في وسط الكلام
|
isupper() |
مثل السابق ولكن في
حالة كان الحروف كبيرة ستطبع(صحيح)
|
ljust() |
تضيف عدد من حرف معين بعد نص مع إحتساب عدد
حروف النص يعني لو الكلمة حروفها 5 وانت عايز 10 مسافات
فتبقي بداخل القوس 15
لو كنت عايز تغير الحرف تكتب بداخل القوس
العدد الأول ثم فاصلة, ثم العلامة بدون علامات تنصيص
|
lower() |
تحويل النص إلي حروف
صغيرة ولكن أضعف من
Casefold()
|
lstrip() |
تحذف المسافات في قبل النص (ليس بعده)
فعند الطباعة تظهر بدون مسافات في بداية النص
|
maketrans() |
تستخدم في برامج الترجمة(ستشرح فيما بعد)
|
partition() |
عند كتابة كلمة
بداخل القوس ستقسم النص إلي ثلاث أقسام أول قسم قبل الكلمة وفي الوسط الكلمة
وفي النهاية بعد الكلمة وتفصل بين كل قسم فاصلة وتظهر هكذا عند البداية (عند كتابة
كلمة بداخل الأقواس فإنها تبدأ بأول كلمة في متغير النص وتقسم علي أساسها)
|
replace() |
بتكتب تلات حاجات جوا القوس أولاً النص القديم
ثم الجديد ,ثم عدد الكلمات وبين كل واحدة فاصلة.
عدد الكلمات يعني أن البايثون عند مثلاً ما يوصل
للكلمة الرابعة لا يستبدل وهكذا.
عند الطباعة ستلاحظ الإستبدال.
|
rfind() |
ولكن هتجبلك مكان أخر كلمة بين الأقواس في
النص عند الطباعةfindزي
|
rindex() |
مثل ما سبق ولكن
قولنا هنعرف الفرق تحت
|
rjust() |
ولكن بتضيف من جهة اليمينljustمثل
|
rpartition() |
مثل partition ولكن فيه تأخد البحث بأخر حاجة
يعني لو كتبت كلمة داخل الأقواس هتأخد بأخر
كلمة موجودة في النص وهتقسم علي أساسها
|
rsplit() |
ولكن فيه إضافة عليهمsplitبتقسم النص حسب علامة
معين إنت بتحددها وهي تشبه كثيراً
وهي أن تضيف فاصلة داخل القوس بعد العلامة ثم
رقم وهو الرقم ده هيقول للبايثون يقسم يستمر لحد كام
علامة وبعد كدا يوقف في التقسيم وتلك الخاصية هي
التي فرقت بينهم ف
Spilt تعد من اليسار
rspilt من اليمين
وفي النهاية يضعهم في قائمة
|
rstrip() |
تحذف المسافات في بعد النص
فعند الطباعة تظهر بدون مسافات في نهاية النص
|
splitlines() |
trueلكن هيقسم جسب السطور وليس
علامات ولتفعيلها إكتب داخل القوس spiltمثل
|
startswith() |
هيطبع صحيح في حالة
أنك كتبت كلمة داخل القوس وطلعت موجود في بدايةالنص
|
strip() |
تحذف مسافات النهاية
والبداية وممكن تحدد ليها حرف تكتبه داخل الأقواس لحذف بدل المسافات
|
swapcase() |
يجعل الحروف الكبيرة صغيرة والصغيرة كبيرة من
النص
|
title() |
تحويل أول كل كلمة من
النص إلي حرف كبيرة
|
translate() |
يعطيك النص مترجم(هنشرحها فيما بعد)
|
upper() |
يحول النص إلي حروف كبيرة
|
zfill() |
بتضيف عدد من الاًصفار معين للعدد بيتكب قبل
العدد وده اللي بتتكتبه في القوس
يعني 20 وضيفنا عليها 10اصفار هتبقي 000000000020
|
الفرق بينindex ,find
عندما لا توجد الكلمة في متغير النص يحدث التالي:-
Find
يظهرلك الناتج -1
Index
يظهر الناتج خطأص
ملاحظة true تعني صحيح أو حقيقي و false غير صحيح أو غير حقيقي
قائمة الشروحاتملاحظة true تعني صحيح أو حقيقي و false غير صحيح أو غير حقيقي
ليست هناك تعليقات:
إرسال تعليق