مفهوم النصوص في python
في Python، يعرف النصوص (Strings) على أنها مجموعة من الأحرف المتسلسلة داخل علامات تنصيص افتراضية مزدوجة (" ") أو علامات تنصيص فردية (' '). ويمكن استخدام النصوص في Python لتمثيل النصوص النصية التي تستخدم في البرامج.
يمكن القيام بالعديد من العمليات على النصوص في Python، مثل الانضمام إلى سلاسل نصية أخرى، واستخراج جزء من النص، وتغيير حالة الأحرف، وتبديل الأحرف، وإزالة الفراغات الزائدة، وما إلى ذلك. كما يتيح Python استخدام تعابير النصوص (String formatting) لإدراج قيم متغيرة داخل النصوص.
ويمكن تحديد النصوص في Python بشكل صريح باستخدام العلامات التنصيصية، أو بشكل ضمني عن طريق استخدام دوال الإدخال (Input Functions) أو دوال الإخراج (Output Functions) مثل input() أو print()
والتي تقوم بإرجاع الأحرف المدخلة أو المستخرجة على التوالي.
الوصول لاحرف النص في python
يمكن الوصول إلى أحرف النص في Python باستخدام فهرسة السلاسل (string indexing). يتم تمثيل سلسلة النص بين علامتي اقتباس مزدوجة "" أو علامتي اقتباس مفردة '' في Python.
على سبيل المثال، للوصول إلى الحرف الأول من النص "Hello World!"، يمكن استخدام الفهرسة كالتالي:
my_string = "Hello World!"
first_char = my_string[0]
print(first_char)
وسيتم طباعة الحرف "H" في الطرفية. يمكن استخدام نفس الطريقة للوصول إلى أي حرف آخر في النص عن طريق تغيير الفهرس.
كما يمكن استخدام فهرسة سلسلة النص للوصول إلى قائمة من الأحرف في النص باستخدام تركيب الفهرس. على سبيل المثال، للحصول على الأحرف الأولى الثلاثة من النص "Hello World!"، يمكن استخدام التعبير التالي:
my_string = "Hello World!"
first_three_chars = my_string[0:3]
print(first_three_chars)
وسيتم طباعة "Hel" في الطرفية.
الرموز التي من خلالها نعرف نهاية السطر في بايثون
في لغة البرمجة بايثون، تستخدم عادة الرمز "\n" كنهاية للسطر (End of Line)، وذلك للدلالة على الانتقال إلى سطر جديد في الكود. ويمكن استخدام هذا الرمز مع أمر print() لإنهاء سطر الإخراج في الشاشة، حيث يظهر أي محتوى بعد الرمز "\n" في سطر جديد. ويجب التأكد من إضافة الرمز "\n" في نهاية كل سطر في ملف الكود لتفادي الأخطاء التي قد تحدث بسبب عدم وجوده.
دالة str في python
في لغة Python، تُستخدم الدالة str() لتحويل قيمة معينة إلى نص. وهذه بعض الطرق لاستخدام دالة str():
- تحويل رقم إلى نص:
num = 10
num_str = str(num)
print(num_str)
- تحويل قائمة إلى نص:
my_list = [1, 2, 3]
list_str = str(my_list)
print(list_str)
- تحويل قيمة بوليانية إلى نص:
my_bool = True
bool_str = str(my_bool)
print(bool_str)
- تحويل قاموس إلى نص:
my_dict = {"name": "John", "age": 25}
dict_str = str(my_dict)
print(dict_str)
- تحويل كائن إلى نص باستخدام الدالة str مخصصة:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name} is {self.age} years old"
person = Person("John", 25)
person_str = str(person)
print(person_str)
هذه هي بعض الأمثلة على استخدام دالة str() في Python.
الدوال الجاهزة في الكلاس str للتعامل مع النصوص في بايثون
يوفر الكلاس str العديد من الدوال الجاهزة للتعامل مع النصوص في بايثون، ومن بين هذه الدوال:
- capitalize() : لجعل الحرف الأول من النص كبير.
- upper() : لتحويل جميع الأحرف في النص إلى أحرف كبيرة.
- lower() : لتحويل جميع الأحرف في النص إلى أحرف صغيرة.
- title() : لتحويل الحروف الأولى في كلمة إلى أحرف كبيرة.
- startswith(prefix) : للتحقق مما إذا كان النص يبدأ بـ prefix .
- endswith(suffix) : للتحقق مما إذا كان النص ينتهي بـ suffix .
- split() : لتحويل النص إلى قائمة من الكلمات المفصولة بفراغات.
- join(iterable) : لدمج عناصر القائمة iterable معاً باستخدام النص كفاصل.
- strip() : لإزالة الفراغات والأحرف الزائدة من بداية ونهاية النص.
- replace(old, new[, count]) : لاستبدال كل حدوث للنص القديم old بالنص الجديد new . يمكن تحديد count لتحديد عدد الحدود التي يجب استبدالها.
- find(sub[, start[, end]]) : للعثور على موضع أول ظهور النص sub في النص بدءًا من الموضع start وحتى الموضع end
.
- index(sub[, start[, end]]) : يعمل بشكل مشابه لدالة find() ولكنه يرمي بالخطأ عندما لا يتم العثور على النص المحدد.
- isdigit() : للتحقق مما إذا كان النص يحتوي على أرقام فقط.
- isalpha() : للتحقق مما إذا كان النص يحتوي على حروف فقط.
- isalnum() : للتحقق مما إذا كان النص يحتوي على حروف و / أو أرقام فقط.
دالة capitalize في python
دالة capitalize() في لغة البرمجة بايثون تأخذ سلسلة نصية وتقوم بتحويل الحرف الأول في النص إلى حرف كبير (Capital letter) وتعيد النص الجديد.
هذا هو مثال بسيط يستخدم دالة capitalize() :
my_string = "hello, world!"
print(my_string.capitalize()) # output: Hello, world!
تم استخدام الدالة capitalize() هنا لتحويل الحرف الأول من "h" إلى "H". تم طباعة النص الجديد "Hello, world!" باستخدام الدالة print() .
دالة upper في python
دالةupper() في لغة Python تستخدم لتحويل النص إلى أحرف كبيرة (uppercase). وهي تطبق على النصوص التي تحتوي على الأحرف الإنجليزية الصغيرة والكبيرة.
فيما يلي مثال بسيط يوضح استخدام دالة upper() :
text = "Hello, World!"
print(text.upper())
النتيجة ستكون:
HELLO, WORLD!
دالة lower في python
دالة lower في لغة برمجة Python تقوم بتحويل النص إلى أحرف صغيرة (lowercase). وهي طريقة سهلة لتحويل النص إلى حروف صغيرة دون الحاجة إلى كتابة الحروف يدويًا.
للاستخدام، يمكن استخدام الدالة مع النص المراد تحويله كما يلي:
text = "Hello, World!"
lower_text = text.lower()
print(lower_text)
النتيجة ستكون:
"hello, world!"
دالة title في python
دالة title في لغة بايثون تستخدم لتحويل الأحرف الأولى في كلمة أو جملة إلى حروف كبيرة (Capital letters) والأحرف الأخرى إلى صغيرة (lowercase). وهي تستخدم عادةً في معالجة النصوص، على سبيل المثال لجعل العناوين المكتوبة بشكل صحيح.
لتطبيق هذه الدالة على نص ما، يمكن استخدام الأمر التالي:
text = "this is a sample text"
title_text = text.title()
print(title_text)
النتيجة ستكون:
This Is A Sample Text
دالة startswith في python
دالة startswith في لغة Python تستخدم لفحص ما إذا كانت السلسلة تبدأ بالنص المحدد. وهي ترجع القيمة True إذا كانت السلسلة تبدأ بالنص المحدد، وترجع القيمة False إذا لم تبدأ.
وهذا هو مثال يوضح استخدام الدالة:
text = "Hello World"
if text.startswith("Hello"):
print("The text starts with 'Hello'")
else:
print("The text does not start with 'Hello'")
في هذا المثال، سيتم طباعة "The text starts with 'Hello'" لأن السلسلة text تبدأ بالنص "Hello".
دالة end swith
دالة "Ends With" في لغة البرمجة بايثون (Python) تستخدم للتحقق مما إذا كانت السلسلة المحددة تنتهي بالجزء المحدد أو لا. وتستخدم الدالة بالشكل التالي:
str.endswith(suffix[, start[, end]])
دالة split في python
دالة split في Python تستخدم لتقطيع النصوص إلى قطع صغيرة استناداً إلى فاصل محدد. وهي تستخدم عادةً لتحويل السلاسل إلى قوائم من العناصر.
فيما يلي مثال بسيط يستخدم دالة split لتحويل سلسلة إلى قائمة:
text = "Welcome to BAI Chat"
words = text.split()
print(words)
الناتج سيكون:
['Welcome', 'to', 'BAI', 'Chat']
يمكنك أيضًا استخدام حرف محدد كفاصل لتقسيم السلسلة، على سبيل المثال:
text = "apple,banana,orange"
fruits = text.split(",")
print(fruits)
الناتج سيكون:
['apple', 'banana', 'orange']
إذا كانت السلسلة تحتوي على فواصل مكررة، فيمكن استخدام دالة split بشكل التالي:
text = "one,,,,two,,three"
items = text.split(",")
print(items)
الناتج سيكون:
['one', '', '', '', 'two', '', 'three']
دالة join في python
دالة join في Python تستخدم لدمج (أو إضافة) سلاسل النصوص (strings) بشكل فعال.
تقوم دالة join بتحويل قائمة (list) من النصوص إلى سلسلة نصية واحدة، حيث يتم وضع النص المحدد كفاصل بين كل عنصر في القائمة. وبهذه الطريقة يمكن استخدامها لدمج النصوص بشكل أكثر فعالية، خاصةً عندما تكون النصوص مخزنة في قائمة.
يمكن استخدام دالة join
على النحو التالي:
separator = ' '
my_list = ['apple', 'banana', 'cherry']
result = separator.join(my_list)
print(result)
الناتج سيكون:
apple banana cherry
حيث تم استخدام فاصل المسافة كفاصل بين كل عنصر في القائمة.
دالة strip في python
دالة strip في لغة Python هي دالة تستخدم لإزالة الفراغات والأحرف غير المرغوب فيها من بداية ونهاية النص.
يمكن استخدام الدالة على نص محدد كمعامل، أو يمكن استخدامها بشكل مباشر على النص. ويمكن استخدام الدالة بالشكل التالي:
string.strip([characters])
حيث:
- - string : النص الذي سيتم إجراء العملية عليه
- - characters : اختياري، يحدد الأحرف التي يجب إزالتها من بداية ونهاية النص. إذا لم يتم تحديد قيمة، فسيتم إزالة جميع الفراغات الزائدة.
مثال:
name = " John Doe "
cleaned_name = name.strip()
print(cleaned_name) # output: "John Doe"
في هذا المثال، يتم إنشاء متغير name وتعيينه بقيمة " John Doe ". ثم تستخدم الدالة strip() لإزالة الفراغات الزائدة من بداية ونهاية النص. يتم حفظ النتيجة في متغير جديد cleaned_name ، والذي سيحتوي على النص "John Doe".
دالة replace في python
دالة replace هي وظيفة مدمجة في لغة Python وتستخدم لاستبدال جميع حالات ظهور نص محدد بنص آخر. وهي تأخذ ثلاثة مدخلات:
- النص الأصلي الذي سيتم استبدال النص به.
- النص المستبدل الذي سيحل محل النص الأصلي.
- عدد يحدد كم مرة يجب استبدال النص.
وهناك نموذج بسيط للدالة:
string.replace(old, new[, count])
حيث:
- - string هو النص الذي سيتم استبدال النص فيه.
- - old هو النص الذي سيتم استبداله بالنص الجديد.
- - new هو النص الجديد الذي سيحل محل النص الأصلي.
- - [count] (اختياري) هو عدد مرات الاستبدال المطلوبة. إذا تم تحديده، فإن الدالة ستقوم بإجراء العدد المحدد من الاستبدالات. إلا أنه إذا تم تجاوزها، فستقوم الدالة بإجراء جميع الاستبدالات.
وهذا مثال على كيفية استخدام الدالة:
string = "Hello, world!"
new_string = string.replace("world", "Python")
print(new_string)
هذا سينتج:
Hello, Python!
في هذا المثال، قمنا باستبدال الكلمة "world" بـ "Python" في النص الأصلي "Hello, world!".
دالة find في python
دالة find() في لغة Python تستخدم لإيجاد موضع أول حرف أو نص محدد ضمن نص معيّن. وتقوم الدالة بإرجاع الموضع الذي تم العثور عليه، وإذا لم يتم العثور على الحرف أو النص المحدد فستعيد -1 .
وهذه هي صيغة الدالة:
str.find(sub[, start[, end]])
حيث:
- - str : النص الذي سيتم البحث فيه.
- - sub : الحرف أو النص المطلوب البحث عنه.
- - start (اختياري): مؤشر البداية للبحث داخل النص.
- - end (اختياري): مؤشر النهاية للبحث داخل النص.
وفيما يلي مثال يوضح استخدام الدالة:
string = 'Hello, World!'
position = string.find('o')
print(position)
وسيتم إرجاع الناتج التالي:
4
ويعني ذلك أن الحرف 'o'
يظهر لأول مرة في الموضع 4 داخل النص 'Hello, World!' .
دالة index في python
دالة index في لغة Python تستخدم للعثور على أول حدوث لعنصر محدد في قائمة محددة، وتعيد الفهرس (أي الموضع) الذي يظهر فيه هذا العنصر. وفي حال لم يتم العثور على العنصر المطلوب، فسيتم رفع خطأ ValueError .
هذه هي صيغة الدالة:
list.index(element[, start[, end]])
حيث:
- - list : هي القائمة التي تريد البحث فيها.
- - element : هو العنصر الذي تريد العثور عليه.
- - start : هو المؤشر (الفهرس) الذي يشير إلى البداية للبحث. افتراضيًا، يكون 0 (بداية القائمة).
- - end : هو المؤشر (الفهرس) الذي يشير إلى نهاية البحث. افتراضيًا، يكون طول القائمة.
وهنا مثال يوضح استخدام دالة index :
my_list = ['apple', 'banana', 'cherry', 'banana']
print(my_list.index('banana')) # سيظهر الرقم 1
في هذا المثال، تحتوي القائمة my_list على 4 عناصر. وتظهر الدالة index الفهرس (أي الموضع) الذي يظهر فيه العنصر المطلوب "banana"، وهو 1. لأن أول حدوث لـ "banana" في القائمة هو في المؤشر 1.
دالة isdigit في python
دالة isdigit() في لغة Python تستخدم للتحقق مما إذا كانت السلسلة المعطاة تحتوي على أرقام فقط أم لا. وإذا تم العثور على أي حرف غير رقمي في السلسلة، فإنها تعيد False.
وهناك بعض الأمثلة على استخدام هذه الدالة:
str1 = "1234"
print(str1.isdigit()) # Output: True
str2 = "Hello World"
print(str2.isdigit()) # Output: False
str3 = "2021"
print(str3.isdigit()) # Output: True
في هذه الأمثلة، يتم استدعاء دالة isdigit()
على سلسلة مختلفة. في المثال الأول، تحتوي السلسلة على أرقام فقط، لذلك تعيد الدالة True. في المثال الثاني، يحتوي السلسلة على حروف غير رقمية، لذلك تعيد الدالة False. في المثال الثالث، تحتوي السلسلة على أرقام فقط، لذلك تعيد الدالة True.
دالة isalpha في python
دالة isalpha() في لغة Python تستخدم للتحقق مما إذا كانت السلسلة المعطاة تحتوي على أحرف فقط (لا أرقام ولا رموز خاصة). وإذا كان السلسلة تحتوي على أحرف فقط، فإنها تعود بقيم True، وإلا فإنها تعود بقيمة False .
فيما يلي مثال بسيط يستخدم دالة isalpha() :
text = "Hello World"
result = text.isalpha()
print(result) # Output: False
text = "HelloWorld"
result = text.isalpha()
print(result) # Output: True
في هذا المثال، يتم استخدام دالة isalpha() للتحقق مما إذا كانت السلسلة textتحتوي على أحرف فقط. في السطر الأول، يتم تعيين القيمة "Hello World" لمتغير text
- . تحتوي هذه السلسلة على فراغات، وبالتالي يتم إرجاع القيمة False
- . في السطر الثاني، يتم تعيين القيمة "HelloWorld" لمتغير text
- . هذه السلسلة تحتوي على أحرف فقط، وبالتالي يتم إرجاع القيمة True
دالة isalnum في python
دالة isalnum() في لغة Python تعيد True إذا كانت السلسلة الممررة لها تحتوي فقط على أحرف و/أو أرقام، و False إذا كانت تحتوي على أي حرف آخر غير أحرف و/أو أرقام. يمكن استخدام هذه الدالة، على سبيل المثال، للتحقق من صحة تنسيق البريد الإلكتروني أو كلمات المرور.
وهذا هو مثال بسيط يستخدم دالة isalnum() :
string = "Hello123"
print(string.isalnum()) # Output: True
string = "Hello@123"
print(string.isalnum()) # Output: False
في هذا المثال، تحتوي السلسلة "Hello123" فقط على أحرف وأرقام، لذلك ستعود الدالة ()isallnum بقيمة True. بالمقابل، تحتوي السلسة "Hello@123" على حرف "@" وهو غير مسموح به، لذلك ستعود الدالة بقيمة False.