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

السؤال

نشر

أريد أن أعرف ما الفرق بين input و raw_input، كنت أتابع درس وقام المدرب بإستخدام input ثم قام بتغيرها إلى raw_input، حاولت أن أقوم بالتجربة لكن يظهر لي الخطأ التالي:

NameError: name 'raw_input' is not defined

Recommended Posts

  • 0
نشر

raw_input يقرأ الإدخال أو الأمر ويعيد دائما سلسة أي من نوع string, بينما input يقرأ الإدخال ويعيد نوع python مثل list ، tuple ، int ، وغيرها, أما بالنسبة للخطأ فربما يظهر بسبب اختلاف اصدار بايثون لديك, في بايثون x.3 استخدم input بينما ل 2.x استخدم raw_input

  • 1
نشر

الفرق بين input و raw_input هو أن raw_input غير موجودة في الإصدار 3.x بينما input موجودة. في الإصدارات 2.x كانت raw_input موجودة و تم إعادة تسميتها إلى input في الإصدارات 3.x، بينما تم حذف الدالة input القديمة.

ما يعني أن raw_input القديمة و input الجديدة هما نفس الشيء بينما input القديمة كانت تقرأ الإدخال و تحاول تفسيره او معالجته كأنه تعليمة برمجية. يُمكن محاكاة عمل الدالة input القديمة بإستخدام input بالإضافة إلى الدالة eval:

# Python 3

def old_input(str):
    return eval(input(str))
    
ex1 = input("type 1: "); # 5 + 6 
ex2 = old_input('type 2: ') # 5 + 6
print(ex1) # 5 + 6
print(ex2) # 11

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...