واحدة من السمات الرئيسية للغة بيثون هي القدرة على تمرير الحجج إلى وظيفة باستخدام عملية تخفيف الضغط. هذا يعني أنه يمكنك تمرير الوسائط إلى وظيفة مباشرة من القاموس باستخدام بناء جملة خاص.
لتمرير القاموس إلى وسيطات الوظيفة باستخدام عملية إزالة الضغط ، يجب عليك تحديد الحرف "*" قبل القاموس. وبالتالي ، سيتم تفكيك جميع مفاتيح وقيم القاموس وتمريرها إلى الوظيفة كوسائط منفصلة.
على سبيل المثال ، إذا كان لديك قاموس يحتوي على قيم محددة لوسيطات إحدى الوظائف ، فيمكنك تمرير هذا القاموس إلى الوظيفة باستخدام عملية إلغاء الضغط على النحو التالي:
ديف وظيفتي (أرغ 1 ، أرغ 2 ، أرغ 3):
# وظيفة
الرمز الخاص بي = {'أرغ1': القيمة 1 ، 'أرغ2': القيمة 2 ، 'أرغ3': القيمة 3}
وظيفتي (**رسالتي)
في هذا المثال ، تسمح لك عملية إزالة الضغط بتمرير القيم من القاموس الخاص بي إلى وسيطات دالة وظيفتي.
- تمرير القاموس إلى وسيطات الدالة
- عملية تفريغ القاموس
- مثال على تمرير قاموس إلى وسيطات دالة
- تفريغ القاموس باستخدام * * كوارغس
- فائدة عملية تفريغ القاموس
- القيود عند استخدام عملية تفريغ القاموس
- سؤال وجواب
- كيف يمكنني تمرير القاموس إلى الحجج من وظيفة باستخدام عملية الضغط?
- ما هي الحجج التي يمكن أن تتخذها الوظيفة عند استخدام عملية تفريغ القاموس?
- هل من الممكن تمرير جزء فقط من القاموس إلى وسيطات دالة باستخدام عملية تخفيف الضغط?
تمرير القاموس إلى الحجج من وظيفة
في لغة برمجة بايثون ، يمكنك تمرير قاموس إلى وسيطات دالة باستخدام عملية تخفيف الضغط. تسمح لك عملية إزالة الضغط باستخراج القيم من القاموس وتمريرها كوسائط منفصلة.
لتمرير القاموس إلى وسيطات الدالة ، ضع الرمز * * قبل اسم القاموس. على سبيل المثال:
ديف وظيفتي (الاسم والعمر):
طباعة ("الاسم:" ، الاسم)
طباعة ("العمر:" ، العمر)
الشخص = {"الاسم": "إيفان" ، "العمر": 25}
وظيفتي (**شخص)
في هذا المثال ، يحتوي قاموس الشخص على زوجين من قيمة المفتاح - "الاسم":" إيفان "و" العمر": 25. عملية التفريغ * * يقوم الشخص بتمرير القيم من القاموس إلى وسيطات وظيفة وظيفتي. ستكون نتيجة تنفيذ هذا الرمز:
الاسم: إيفان
العمر: 25
وبالتالي ، تسمح لك عملية إزالة الضغط بتمرير قاموس إلى دالة عن طريق استخراج القيم من القاموس وتمريرها كوسائط منفصلة. يعد هذا مناسبا إذا كنت بحاجة إلى تمرير كمية كبيرة من البيانات إلى وظيفة ولا تريد فصلها إلى وسيطات منفصلة يدويا.
عملية تفريغ القاموس
في لغة برمجة بايثون ، هناك عملية تفريغ تسمح لك بتمرير الوسائط إلى وظيفة من القاموس. هذا مناسب عندما يكون لديك قاموس كبير مع البيانات وتريد تمرير بعض منهم فقط كوسائط إلى وظيفة.
عملية تفريغ القاموس هي استخدام علامة النجمة المزدوجة ( * * ) ، مسبوقة باسم القاموس. على سبيل المثال:
معلومات شخصية مطبوعة (الاسم ، العمر ، المدينة):
طباعة (و " الاسم: {الاسم}")
طباعة (و " العمر: {العمر}")
طباعة (و " المدينة: {مدينة}")
شخص = {
"الاسم":"إيفان",
"العمر": 25,
"المدينة":"موسكو"
}
طباعة معلومات شخصية (**شخص)
مع نفس المفاتيح والقيم وتمريرها إلى وظيفة باستخدام عملية تفريغ القاموس.
ستكون نتيجة تنفيذ هذا الرمز:
الاسم: إيفان
العمر: 25
المدينة: موسكو
عملية تفريغ القاموس مفيدة بشكل خاص عندما تحتاج إلى تمرير وسيطات متعددة إلى وظيفة وتريد تجنب قائمة طويلة من الحجج مع قيمها. بدلا من ذلك ، يمكنك إنشاء قاموس بالقيم المطلوبة وتمريره إلى الوظيفة باستخدام عملية إلغاء الضغط.
مثال على تمرير قاموس إلى وسيطات دالة
في لغة برمجة بايثون ، يمكنك تمرير القاموس كوسيطة إلى وظيفة باستخدام عملية تخفيف الضغط. تسمح لك عملية إزالة الضغط بتمرير جميع مفاتيح وقيم القاموس كوسائط منفصلة للوظيفة.
النظر في مثال:
ديف برينت_شخص_المعلومات (الاسم والعمر):
طباعة ("الاسم:" ، الاسم)
طباعة ("العمر:" ، العمر)
الشخص = {"الاسم": "إيفان" ، "العمر": 30}
طباعة معلومات شخصية (**شخص)
.
ستكون نتيجة تنفيذ هذا الرمز كما يلي:
الاسم: إيفان
العمر: 30
بدلا من تمرير كل وسيطة على حدة ، نستخدم عملية إزالة الضغط لتمرير جميع الوسائط من القاموس. هذا يجعل الكود أكثر قابلية للقراءة وسهل الاستخدام.
يمكن أيضا استخدام عملية إزالة الضغط مع أنواع البيانات الأخرى ، مثل القوائم أو المجموعات. هذا يسمح لك لتمرير عدد متغير من الحجج إلى وظيفة.
تفريغ القاموس باستخدام * * كوارغس
في بايثون ، من الممكن تمرير قيم القاموس لتعمل الوسيطات باستخدام عملية تخفيف الضغط باستخدام المعلمة **كوارغس.
** كوارجس هي معلمة دالة خاصة تسمح لك بتمرير عدد تعسفي من الوسائط المسماة في شكل قاموس. يسمح لك بجعل الوظيفة مرنة ، لأنها لا تتطلب وسيطات محددة مسبقا.
مثال الاستخدام * * كوارجس:
ديف برينت_القيم (**كوارغس):
للمفتاح ، القيمة في كوارغس.البنود():
طباعة (و ' {مفتاح}: {قيمة}')
بارامز = {'الاسم': 'جون' ، 'العمر': 30 ، 'المدينة': 'نيويورك'}
طباعة القيم (**المعلمات)
في هذا المثال ، يتم تعريف دالة القيم المطبوعة ، والتي تقبل عددا غير محدود من الوسائط المسماة في شكل قاموس كوارجس. ثم يتم تكرار عناصر القاموس من خلال حلقة وعرضها على الشاشة.
عند استدعاء وظيفة برينت_القيم ، يتم تمرير القاموس بارامز مع مفاتيح 'اسم' ، 'العمر' و 'المدينة' والقيم المقابلة. باستخدام عملية التفريغ **المعلمات ، يتم تفريغ القاموس وتمريره إلى الوظيفة كوسائط منفصلة مسماة.
نتيجة لتنفيذ هذا الرمز ، سيتم إخراج القيم التالية:
الاسم: جون
العمر: 30
مدينة: نيويورك
باستخدام * * كوارغس يجعل من السهل لتمرير الحجج إلى وظائف باستخدام القواميس وجعل رمز أكثر قابلية للقراءة ومرنة.
فائدة عملية تفريغ القاموس
عملية تفريغ القاموس (*ديكت) هي وسيلة مفيدة جدا لتمرير الحجج إلى وظيفة. يسمح لك بتمرير جميع عناصر القاموس كوسائط ، مما يجعل الكود أكثر قابلية للقراءة وسهولة في الاستخدام.
تتمثل المهمة الرئيسية لعملية تفريغ القاموس في تمرير الوسيطات إلى دالة دون تحديد أسمائها صراحة. بدلا من ذلك ، يتم استخدام قاموس تكون فيه المفاتيح هي أسماء الوسائط والقيم هي قيم هذه الوسائط.
تشمل مزايا استخدام عملية تفريغ القاموس ما يلي:
- تقليل كمية الكود
- تبسيط تمرير الوسائط إلى دالة
- استخدام أكثر مرونة وقراءة للوظيفة
قد يكون أحد الأمثلة على استخدام عملية تفريغ القاموس هو إنشاء وظيفة تأخذ وسيطات مختلفة:
مثال على الوظيفة (الاسم ، العمر ، المدينة):
طباعة ("الاسم:" ، الاسم)
طباعة ("العمر:" ، العمر)
طباعة ("المدينة:" ، المدينة)
البيانات = {'الاسم': 'جون' ، 'العمر': 30 ، 'المدينة': 'نيويورك'}
على سبيل المثال_الوظيفة (**البيانات)
في هذا المثال ، تسمح لك عملية تفريغ القاموس بتمرير الوسيطات إلى وظيفة الدالة على سبيل المثال دون تحديد أسمائهم صراحة. نتيجة لاستدعاء الدالة ، سيتم طباعة قيم الوسائط المحددة:
الاسم: جون
العمر: 30
مدينة: نيويورك
وبالتالي ، توفر عملية تفريغ القاموس طريقة مريحة ومرنة لتمرير الحجج إلى وظيفة في شكل مفهوم ، مما يساعد على جعل الكود أكثر قابلية للفهم والقراءة.
القيود عند استخدام عملية تفريغ القاموس
توفر عملية تفريغ القاموس إلى وسيطات وظيفية طريقة ملائمة لتمرير المعلمات إلى وظيفة في شكل قاموس. ومع ذلك ، هناك بعض القيود التي يجب مراعاتها عند استخدام هذه العملية.
- لا الحجج المطلوبة: إذا لم تكن هناك وسيطات دالة مطلوبة في القاموس ، فقد يحدث خطأ عند التفريغ. لذلك ، قبل استخدام عملية إزالة الضغط ، تحتاج إلى التأكد من وجود جميع الوسائط الضرورية في القاموس.
- عدم تطابق اسم الوسيطة: إذا كان هناك مفتاح في القاموس غير موجود في قائمة وسيطات الوظائف ، فسيحدث خطأ عند التفريغ. يجب أن تتطابق أسماء الوسائط في القاموس والوظيفة.
- عدم القدرة على فك عدد غير معروف من الحجج: تتيح لك عملية تفريغ القاموس تمرير الوسائط إلى دالة من القاموس ، ولكنها لا تسمح لك بتمرير الوسائط التي يكون عددها غير معروف مسبقا. على سبيل المثال ، إذا كان يجب أن تقبل الدالة عددا غير محدد من الوسيطات الموضعية. في مثل هذه الحالات ، من الضروري استخدام مناهج أخرى لتمرير الحجج.
بشكل عام ، تعد عملية تفريغ القاموس إلى وسيطات دالة أداة قوية تبسط تمرير المعلمات إلى وظيفة وتزيد من سهولة قراءة الكود. ومع ذلك ، عليك أن تضع في اعتبارك القيود المحتملة وتحقق بعناية من مراسلات وسيطات الوظيفة والقاموس.
سؤال وجواب
كيف يمكنني تمرير القاموس إلى الحجج من وظيفة باستخدام عملية الضغط?
لتمرير قاموس إلى وسيطات دالة باستخدام عملية إزالة الضغط ، يمكنك استخدام علامة النجمة ` * ' قبل اسم القاموس عند استدعاء الدالة. على سبيل المثال ، إذا كان لدينا قاموس `رسالتي` ، فيمكننا تمرير وسيطاته إلى الوظيفة على النحو التالي: `رسالتي(**رسالتي)`. سيسمح لك ذلك بتمرير جميع مفاتيح وقيم القاموس كوسائط منفصلة.
ما هي الحجج التي يمكن أن تتخذها الوظيفة عند استخدام عملية تفريغ القاموس?
عند استخدام عملية تفريغ القاموس ، يمكن للوظيفة قبول أي عدد من الوسائط التي تتوافق مع مفاتيح وقيم القاموس. على سبيل المثال ، إذا كان لدينا قاموس `رسالتي` مع القيم `{'أ': 1 ، 'ب':2}` ، ثم وظيفة يمكن أن تأخذ الحجج مثل `بلدي وظيفة(أ=1 ، ب=2)`أو `بلدي وظيفة(ب=2 ، أ=1)'. في هذه الحالة ، ترتيب الحجج ليس مهما.
هل من الممكن تمرير جزء فقط من القاموس إلى وسيطات دالة باستخدام عملية تخفيف الضغط?
نعم ، يمكنك تمرير جزء فقط من القاموس إلى وسيطات الوظيفة باستخدام عملية إزالة الضغط. للقيام بذلك ، تحتاج إلى تحديد المفاتيح والقيم الضرورية فقط في القاموس قبل استدعاء الوظيفة. على سبيل المثال ، إذا كان لدينا قاموس 'مرسوم' مع القيم ' {'أ': 1 ، 'ب': 2 ، 'ج': 3} '، ونحن بحاجة فقط لتمرير الحجج ' أ ' و 'ب' ، ثم يمكننا كتابة ' وظيفتي (**{'أ': 1 ، 'ب': 2}). في هذه الحالة ، فإن وظيفة تقبل فقط الحجج 'أ = 1' و 'ب = 2'.