0 Kais Hasan نشر 18 أغسطس 2023 أرسل تقرير نشر 18 أغسطس 2023 إن str هو اختصار ل string و التي هي النمط الخاص بالسلاسل النصية في لغة بايثون. تابع str يقوم بتحويل ما تعطيه إلى سلسلة نصية، أي في حالتك هذه يحول الرقم إلى سلسلة نصية لطباعته، طبعاً في هذه الحالة لست مضطراً إلى تحويل الرقم إلى سلسلة نصية فأنت لا تقوم بأي عملية لها علاقة بالسلاسل النصية عليه، فقط تقوم بطباعته، و لذلك يمكنك إزالة هذه الدالة و سيبقى الكود يعطي نفس الناتج. اقتباس
0 Mustafa Suleiman نشر 18 أغسطس 2023 أرسل تقرير نشر 18 أغسطس 2023 الكلمة str في بايثون هي إختصار لـ "string" وهي تستخدم لتحويل قيمة إلى نص (سلسلة من الأحرف)، ونستخدم str لتحويل قيمة رقمية إلى نص قبل طباعتها. أي نستخدم str(number) لتحويل الرقم الذي تم إدخاله باستخدام دالة input إلى نص، بحيث يمكن دمجه مع نصوص أخرى دون أي مشاكل. الهدف هو طباعة جداول ضرب للعدد الذي تم إدخاله، وضرب هذا العدد في الأعداد من 0 إلى 3 وطباعة النتائج. فإذا أدخلت الرقم 5، سيكون الإخراج مشابهًا للتالي: Enter a number: 5 5 * 0 = 0 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 وبالتالي، str هنا يساعد في تحويل الأرقام إلى نصوص لكي تكون جزءًا من الجمل المطبوعة. وهناك طرق أخرى لتحقيق نفس الغرض دون استخدام الدالة str، فبإمكانك استخدام تنسيق النصوص باستخدام عبارات التنسيق (f-strings) أو استخدام دالة format لتحقيق ذلك. وإليك مثالان باستخدام الـ f-strings ودالة format: استخدام f-strings: number = int(input('Enter a number: ')) print(f'{number} * 0 = {number * 0}') print(f'{number} * 1 = {number * 1}') print(f'{number} * 2 = {number * 2}') print(f'{number} * 3 = {number * 3}') استخدام دالة format: number = int(input('Enter a number: ')) print('{} * 0 = {}'.format(number, number * 0)) print('{} * 1 = {}'.format(number, number * 1)) print('{} * 2 = {}'.format(number, number * 2)) print('{} * 3 = {}'.format(number, number * 3)) كلا الأسلوبين يقومان بنفس العمل الذي قمت به في الكود لديك باستخدام الـ str، ولكن باستخدام تنسيق النصوص لتضمين الأرقام المحسوبة في النص المطبوع مباشرةً دون الحاجة لاستخدام str بشكل منفصل. اقتباس
0 عبدالباسط ابراهيم نشر 18 أغسطس 2023 أرسل تقرير نشر 18 أغسطس 2023 بالإضافة للقيم التي يتم تحويلها إلى سلسلة نصية، تقوم وظيفة str() أيضًا بأخذ معاملين إضافيين. هنا هي جميع المعاملات التي تأخذها: الكائن (object): البيانات التي ترغب في تحويلها إلى سلسلة نصية. إنه معامل إجباري. إذا لم تقدم الكائن، فإن str() ستعيد سلسلة نصية فارغة كنتيجة. الترميز (encoding): ترميز البيانات المراد تحويلها. عادةً ما يكون UTF-8. الافتراضي هو UTF-8 نفسه. الأخطاء (errors): يحدد ما يجب فعله إذا فشل الترميز. القيم التي يمكنك استخدامها لهذا المعامل تشمل strict و ignore و replace وغيرها. الصيغة الأساسية لوظيفة str(): يجب فصل كل من المعاملات في وظيفة str() بفاصلة، وقيم كل من الترميز والأخطاء يجب أن تكون سلاسل نصية: str(الكائن_للتحويل, encoding='الترميز', errors='الأخطاء') كيفية استخدام وظيفة str(): أولاً، دعنا نرى كيفية استخدام جميع معاملات وظيفة str(): my_num = 45 converted_my_num = str(my_num, encoding='utf-8', errors='errors') print(converted_my_num) إذا قمت بتشغيل الشيفرة، ستحصل على هذا الخطأ: TypeError: decoding to str: need a bytes-like object, int found يحدث هذا الخطأ لأنك تستخدم معامل الترميز دون تقديم كائن بايتس. في هذه الحالة، لا تحتاج إلى الترميز والأخطاء على الإطلاق. تحتاج فقط إلى العدد الذي ترغب في تحويله: استخدام معاملات الترميز والأخطاء، فيجب أن يكون الكائن المراد تحويله كائن بايتس: my_num = b'45' converted_my_num = str(my_num, encoding='utf-8', errors='strict') print(converted_my_num) # 45 اقتباس
السؤال
عيسى عبدالله احمد احمد
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.