ismail mega نشر 18 مارس 2019 أرسل تقرير نشر 18 مارس 2019 لماذا تكتب جملة الطباعة هكذا print "Value : %s" % dict.keys() ولا تطبع هكذا print ("Value : " + dict.keys()) ما دور النسبة المئوية مع حرف الأس داخل المزدوجتين وما دور النسبة المئوية خارجها فقد لاحظتها في أكثر من مرة يتم استعمالها ولا أعلم ماهو دورها اقتباس
0 Entesar Khaled نشر 19 مارس 2019 أرسل تقرير نشر 19 مارس 2019 أهلًا بك، الإشارة % داخل علامات تنصيص print مع أحد الحروف d أو s أو غيرهم (specifiers)...ترمز لنوع المتغيرات التي ستُطبع... فمثلًا هنا %s تعني متغير نصي قادم. بينما الإشارة % خارج علامات التنصيص فهي كفاصل يُهيِئ جملة الطباعة لاستقبال أسماء المتغيرات المعنية بالترتيب. يوجد عدة أساليب للطباعة في لغة python وقد يبدو أن استخدام إشارة + للدمج داخل print هو أسهل هذة الطرق.. لكن،فعليًا يفضل استخدام (specifiers) لعدة أسباب: (هذا لا يعني تجنب استخدام + لدمج النصوص بعمليات الطباعة) بناء جملة سلسلة التنسيق تعكس أكثر سهولةً وقابليةً للقراءة، حيث أن استخدام specifiers يفصل النمط عن البيانات. أيضًا، في مثال Python هذا، يقوم %s تلقائيًا بإجبار أي أنواع بيانات غير str أن تكون من نوع str؛ بينما خاصية الدمج هي غير متاحة إلا لأنواع البيانات النصية ولا يمكنك دمج نوع بيانات str مع نوع بيانات int. البيانات النصية Python str غير قابلة للتغيير ، لذلك يجب نسخ السلسلة اليمنى واليسرى في السلسلة الجديدة لكل زوج من السلاسل، أي إذا أردت دمج أربعة سلاسل طولها 10 باستخدام إشارة +... فسيتم نسخ (10 + 10) + ((10 + 10) +10) + (((10 + 10) +10) +10) = 90 حرفًا ، بدلاً من 40 حرفًا متوقع وتزداد الأمور سوءًا مع زيادة عدد وحجم السلسلة. تعمل Java على تحسين هذه الحالة في بعض الأحيان عن طريق تحويل سلسلة التسلسل لاستخدام StringBuilder ، لكن Python لا تفعل ذلك التحسين. لذلك نقوم باستخدام specifiers %s لنأخذ القيم الأصلية ونتفادى عملية النسخ المتتابع اللإرادية التي تحدث عند إستخدام إشارة +. أسهل في التعديل في حالات جمل الطباعة الطويلة...مثلًا إذا قمت بتغيير أسماء متغيرات برنامجك فعند تعديل جملة الطباعة سيسهل عليك التوجه مباشرة لجانب أسماء المتغيرات خلف إشارة % خارج علامات التنصيص... فتكون المتغيرات في مكان واحد حول بعضها... متوقع أن تبحث بوقت أطول عن المتغيرات الممزوجة في السلسلة النصية بإشارات + لتقوم بتعديلها. للمزيد يمكنك القراءة حول ()join وحول ()formate وأيضًا حول الدالة ()print من خلال موسوعة حسوب بالتوفيق... 1 اقتباس
0 ismail mega نشر 4 أبريل 2019 الكاتب أرسل تقرير نشر 4 أبريل 2019 شكرا على التوضيح أفادني هذا جدا 1 اقتباس
السؤال
ismail mega
لماذا تكتب جملة الطباعة هكذا
ولا تطبع هكذا
ما دور النسبة المئوية مع حرف الأس داخل المزدوجتين وما دور النسبة المئوية خارجها فقد لاحظتها في أكثر من مرة يتم استعمالها ولا أعلم ماهو دورها
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.