• 0

لماذا يجب اسناد قيمة متغير إلى متغير جديد في حالة استدعاء تابع في بايثون؟

أحتاج إلى مساعدة في استبدال كلمة hello بـ goodbye في هذه السلسلة النصية:

hello world

فلذلك قمت باستخدام تابع replace() كما في الأسطر التالية:

X = "hello world"
X.replace("hello", "goodbye")

لكن الناتج لم يتغير.
فلماذا لا يمكنني استدعاء تابع سلسلة نصية في بايثون من دون أن أسندها إلى متغير؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

من الأخطاء الشائعة لدي المبدئين في لغة بايثون أنهم يعتقدون أن جميع المتغيرات وبجميع أنواعها يمكن تغيير قيمتها، لكن هذا الأمر غير صحيح لأنه هنالك في بايثون متغيرات لا يمكن تغيير قيمتها ويجب عليك إسناد قيمة جديدة لها، ومن بين هذه المتغيرات السلاسل النصية.
وهذا يعني أن السطر X.replace("hello","goodbye") سوف يُرجع نسخة من X من التغييرات التي قمت بها، ولذلك سوف تحتاج إلى إسناد هذه النسخة الجديدة من السلسلة النصية السابقة إلى متغير جديد (استخدمنا نفس المتغير) كما في المثال التالي:

X = X.replace("hello", "goodbye")

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن