تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية
تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
الوظائف هي مفهوم أساسي في البرمجة يمكّنك من إدارة مجموعات التعليمات البرمجية وإعادة استخدامها. معرفة كيفية استدعاء دالة في بايثون هي مهارة أساسية يجب تعلمها.
في هذا البرنامج التعليمي ، ستتعلم أساسيات وظائف الاتصال ، جنبًا إلى جنب مع بعض النصائح لكتابة تعليمات برمجية فعالة يسهل فهمها.
لن تساعدك وظائف الإتقان فقط على إنشاء كود أكثر تنوعًا ولكن أيضًا تبسيط عملية البرمجة وتحسين كفاءتك الإجمالية كمطور.
تحتوي الوظائف على نفس المبادئ الأساسية ، وبمجرد إتقان الوظائف في Python ، ستتمكن من توسيع فهمك للوظائف مقارنةً بلغات البرمجة الأخرى مثل Java و R و JavaScript و PHP وما إلى ذلك.
جدول المحتويات
ما هي الوظيفة؟
تتيح لك إحدى الوظائف في Python إنشاء أجزاء قابلة لإعادة الاستخدام من التعليمات البرمجية التي يمكن استدعاؤها في جميع أنحاء البرنامج ، وتبسيط التعليمات البرمجية وتحسين إمكانية القراءة. يقوم بمهمة محددة أو مجموعة من المهام ويمكن استدعاؤها عدة مرات داخل البرنامج.
تحديد وظيفة في بايثون
هناك فئتان رئيسيتان من الوظائف في بايثون:
يركز هذا القسم من دروس بايثون على الوظائف المعرفة من قبل المستخدم. ستعرف:
تركيب الوظيفة
تتيح لك الكلمة def
الأساسية ، متبوعة باسم الوظيفة والأقواس ، تحديد دالة في Python. تم وضع مسافة بادئة لجسم الوظيفة ويحتوي على الكود المطلوب تنفيذه عند استدعاء الوظيفة. فيما يلي مثال على وظيفة أساسية في بايثون:
defreet (): print ("Hello، World!") أحيت ()
تحدد الكلمة def
الأساسية وظيفة جديدة بالاسم الترحيب. يستدعي السطر الثالث من الكود الوظيفة ، التي تنفذ الكود داخل الوظيفة.
السطر print
في الكود أعلاه هو أيضًا وظيفة. ومع ذلك ، إذا كنت تعمل في بيئة Python 2 ، يتم تعريفها على أنها بيان. لاحقًا ، في Python 3 ، تم تغييره من عبارة إلى دالة.
المعلمات والحجج
المعلمات هي العناصر النائبة في تعريف الوظيفة ، بينما الوسائط هي القيم التي تم تمريرها عند استدعاء الوظيفة.
لتحديد المعلمات ، قم بتضمينها داخل أقواس تعريف الوظيفة ، مفصولة بفواصل إذا كانت هناك معلمات متعددة. عندما تستدعي دالة ، فإنك تقدم قيم الإدخال التي تسمى الوسيطات. يوضح المثال التالي تعريف دالة تأخذ معلمتين:
def add_numbers (أ ، ب): إرجاع أ + ب
ترجع العبارة return
الموجودة في جسم الوظيفة إضافة الوسيطتين اللتين تم تمريرهما إليه. يمكنك التفكير في الأمر على أنه آلة حاسبة ، حيث تقوم بإدخال القيم والحصول على النتيجة المرجوة في المقابل.
بعد تحديد الوظيفة ، يمكننا تسميتها بالحجج التي نختارها.
add_numbers (3، 5)
حجة kwargs
kwargs
اختصار لعبارة "وسيطات الكلمات الرئيسية" في لغة بايثون. يسمح لك بتوسيع مرونة الوظيفة من خلال السماح للمتصل بتحديد أي عدد من وسيطات الكلمات الرئيسية عند استدعاء الوظيفة. يتم تمرير وسيطات الكلمات الأساسية كقاموس إلى الوظيفة.
في تعريف الدالة ، يمكنك استخدام **
بناء جملة العلامة النجمية المزدوجة قبل اسم المعلمة لقبول وسيطات الكلمات الأساسية.
def my_function (** kwargs): للمفتاح ، القيمة في kwargs.items (): print (f "{key} = {value}") my_function (a = 1، b = 2، c = 3)
في هذا المثال ، kwargs
سيكون قاموسًا يحتوي على وسيطات الكلمات الأساسية التي تم تمريرها إلى الوظيفة. يظهر الإخراج في الصورة أدناه:
استدعاء وظيفة
استدعاء وظيفة يعني تنفيذ الكود داخل جسم الوظيفة. هناك أربعة أنواع من استدعاءات الوظائف في بايثون:
استدعاء الوظيفة الأساسية
استدعاء دالة أساسية يستدعي الوظيفة دون تمرير أي وسيطات إلى الدالة. بعد تحديد الوظيفة ، يمكنك تسميتها باستخدام اسمها متبوعًا بأقواس.
إذا لم تأخذ الدالة أي وسيطات ، فسيكون الأقواس فارغين. الكود أدناه هو مثال على وظيفة أساسية.
def welcome_message (): print ("مرحبًا بك في LuckyTemplates!") welcome_message ()
يعطي تشغيل الكود أعلاه المخرجات التالية:
الحجج الموضعية
الوسيطات الموضعية هي أكثر أنواع الوسيطات شيوعًا ، ويتم تمريرها إلى الوظيفة بنفس الترتيب المحدد لها. فيما يلي مثال على استدعاء دالة مع وسيطات موضعية:
def welcome_message (name): print (f "مرحبًا بك في LuckyTemplates ، {name}!") welcome_message ("John")
في المثال أعلاه ، welcome_message()
تأخذ الدالة وسيطة واحدة ، name
. عند استدعاء هذه الوظيفة مع الوسيطة John
، ستتم طباعة الرسالة بجوار الاسم.
يعطي الكود أعلاه الناتج التالي:
وسيطات الكلمات الرئيسية
هناك طريقة أخرى لتمرير الوسائط إلى دالة وهي استخدام وسيطات الكلمات الأساسية. تسمح لك وسيطات الكلمات الرئيسية بتحديد اسم المعلمة مع قيمتها ، مما يجعل الكود أكثر قابلية للقراءة ويقلل من فرصة تمرير الوسيطات بترتيب خاطئ.
يستخدم المثال أدناه وسيطات الكلمات الرئيسية لاستدعاء الوظيفة welcome_message
:
def welcome_message (name، message = 'مرحبًا بك في LuckyTemplates!'): اطبع (الرسالة ، الاسم) welcome_message (name = 'Alice' ، message = 'Good morning')
في هذا المثال ، حددنا دالة welcome_message()
لها معلمتان ، name
و message
. تحتوي المعلمة message على وسيطة افتراضية Welcome to LuckyTemplates!
عند استدعاء الوظيفة ، نستخدم وسيطات الكلمات الرئيسية لتمرير القيمة John
، مما يؤدي إلى الإخراجWelcome to LuckyTemplates! John.
إرجاع القيم
عند العمل مع الوظائف ، سترغب غالبًا في إرجاع نتيجة العمليات داخل جسم وظيفتك. تسمح قيم الإرجاع للدالة بإرسال نتيجة مرة أخرى إلى المتصل. من خلال فهم كيفية العمل بقيم إرجاع فردية ومتعددة ، يمكنك تحسين وظائف برامج Python الخاصة بك.
قيمة عودة واحدة
تقوم دالة إرجاع واحدة بإرجاع قيمة واحدة من العمليات في دالة.
فيما يلي مثال على دالة قيمة إرجاع واحدة:
def get_greeting (name): إرجاع "Hello" + name + "!" تحية = get_greeting ("Alice") طباعة (تحية)
في المثال أعلاه ، get_greeting
تأخذ الوظيفة اسمًا حيث تقوم وسيطة وظيفتها بتجميعها وإرجاع تحية مخصصة. ثم يتم تخزين القيمة المعادة في الترحيب المتغير وطباعتها على وحدة التحكم.
قيم عودة متعددة
في بعض الأحيان ، سيُطلب منك إرجاع أكثر من قيمة واحدة من دالة في Python. لتحقيق ذلك ، يمكنك استخدام مجموعة أو قائمة لالتفاف قيم الإرجاع.
فيما يلي مثال على وظيفة قيم الإرجاع المتعددة في لغة برمجة Python.
def get_name_and_age (): إرجاع ("John"، 30) name، age = get_name_and_age () print (name) print (age)
في هذا المثال ، get_name_and_age
هي دالة تقوم بإرجاع مجموعة بقيمتين: a name
و age
.
يمكنك أيضًا إرجاع قائمة القيم من دالة في Python . توضح الوظيفة أدناه قيمة إرجاع قائمة من دالة.
def calculate_areas (الارتفاع ، العرض): إرجاع [الارتفاع * العرض ، (الارتفاع * العرض) / 2] المنطقة ، triangle_area = calculate_areas (10 ، 5) print (area) print (triangle_area)
في هذه الحالة ، calculate_areas
تأخذ الدالة وسيطتين height
، width
وتقوم بإرجاع قائمة تحتوي على مساحة المستطيل ومساحة المثلث.
تمرير دوال بايثون كوسيطات
تسمح لك Python بتمرير الوظائف كوسائط إلى وظائف أخرى. عندما تقبل دالة دالة أخرى كوسيطة ، يشار إليها على أنها دالة ذات ترتيب أعلى.
الكود أدناه هو مثال على تمرير دالة إلى دالة أخرى في Python:
def square (x): إرجاع x * x def مزدوج (x): إرجاع x * 2 def apply_func (func، x): إرجاع func (x) نتيجة = application_func (مربع ، 5)
وظائف متداخلة
الوظائف المتداخلة هي وظائف محددة ضمن وظيفة أخرى ، تُعرف أيضًا باسم الوظائف الداخلية. يمكن أن تكون هذه مفيدة عند إنشاء الإغلاق والتعليمات البرمجية المعيارية.
لإنشاء دالة متداخلة ، ما عليك سوى تحديد دالة داخل دالة أخرى:
def Outer_function (x، y): def inner_function (z): إرجاع x + y + z نتيجة = دالة داخلية (3) نتيجة إرجاع # استدعاء طباعة الوظيفة الخارجية (وظيفة خارجية (1 ، 2))
في المثال أعلاه ، تُعرَّف الوظيفة الداخلية ضمن الدالة الخارجية. تتمتع الوظيفة الداخلية بإمكانية الوصول إلى متغيرات الوظيفة الخارجية ، مما يسمح لها بإجراء العمليات عليها.
وظائف لامدا
وظائف Lambda ، والمعروفة أيضًا باسم الدوال المجهولة ، هي طريقة لإنشاء وظائف صغيرة تستخدم مرة واحدة في Python. في مشروعات علوم البيانات ، ستعمل غالبًا مع وظائف Lambda لإنشاء هياكل بيانات وخطوط أنابيب فعالة.
لإنشاء دالة lambda ، يمكنك استخدام الكلمة الأساسية lambda متبوعة بقائمة من الوسائط ونقطتين ثم تعبير. التعبير هو ما ستعيده وظيفة lambda بمجرد استدعائها. فيما يلي مثال على دالة لامدا في بايثون:
إضافة = لامدا أ ، ب: أ + ب نتيجة = إضافة (3 ، 4) طباعة (نتيجة) # الناتج: 7
في المثال أعلاه ، أنشأنا دالة lambda تأخذ وسيطين ( a
و b
) وتعيد مجموعهما. قمنا بتعيين وظيفة lambda هذه إلى متغير يسمى add
.
يمكن أن تكون Lambda مفيدة في السيناريوهات التالية:
يوضح المثال التالي استخدام مرشح الوظيفة ذو الترتيب الأعلى () مع لامدا:
الأرقام = [1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9] الأرقام الزوجية = القائمة (الفلتر (lambda x: x٪ 2 == 0 ، الأرقام)) الطباعة (الأرقام الزوجية) # الإخراج: [2، 4 ، 6 ، 8]
في هذا المثال ، استخدمنا دالة lambda لتحديد معايير التصفية لوظيفة filter (). تتحقق وظيفة lambda مما إذا كان الرقم زوجيًا ، وتعيد وظيفة filter () قائمة جديدة تحتوي فقط على الأرقام الزوجية.
لمشاهدة مثال على كيف يمكن أن تكون الوظائف مفيدة في سيناريوهات علوم البيانات المختلفة ، تحقق من الفيديو أدناه:
العودية
العودية هي تقنية في البرمجة حيث تستدعي الوظيفة نفسها. يمكن أن تكون هذه طريقة مفيدة لحل المشكلات المعقدة عن طريق تقسيمها إلى مشكلات فرعية أصغر ومتطابقة.
عند إنشاء دالة تكرارية ، يجب أن تضع في اعتبارك شيئين: الحالة الأساسية والحالة العودية.
يوضح المثال التالي الوظائف العودية في بايثون:
عامل def (n): إذا كان n == 1: إرجاع 1 إرجاع n * عاملي (n - 1) عاملي (5)
في هذا المثال ، الحالة الأساسية هي متى n == 1
، وتعود الدالة 1
. تحدث الحالة العودية عندما لا تساوي n 1 ، وتستدعي الدالة نفسها مع n - 1
.
الأخطاء الشائعة واستكشاف الأخطاء وإصلاحها
إذا كنت مبرمجًا مبتدئًا ، فغالبًا ما ستواجه أخطاء عند تنفيذ وظائف مثل الوظائف العودية و lambda. تسلط الأقسام التالية الضوء على بعض الأخطاء الشائعة وتلميحات حول استكشاف الأخطاء وإصلاحها لمساعدتك على حلها بكفاءة.
1. TypeError: مفقود الوسيطة المطلوبة : يحدث هذا الخطأ عندما لا تقوم بتوفير العدد الصحيح من الوسائط التي تتوقعها الدالة.
def my_function (fname، lname): print (fname، lname) # Correct call my_function ("John"، "Doe") # سيرفع خطأ my_function ("John")
لإصلاح هذا الخطأ ، تأكد من تمرير العدد الصحيح من الوسائط إلى وظيفتك.
2. TypeError: نوع المعامل غير مدعوم . قد يحدث هذا الخطأ عندما تحاول استخدام عامل مع أنواع غير متوافقة.
def add_number (a، b): إرجاع a + b # نتيجة المكالمة الصحيحة = add_number (5، 3) print (نتيجة) # ستثير خطأ بسبب نتيجة args غير صحيحة = add_number ("5"، 3) print (نتيجة)
لإصلاح هذا الخطأ ، تحقق من أن وظائفك تتعامل مع أنواع البيانات الصحيحة ، وفكر في استخدام نوع الصب إذا لزم الأمر
3. NameError: لم يتم تعريف اسم "function_name" : يشير هذا الخطأ إلى أن الوظيفة لم يتم تعريفها قبل استدعائها.
# تحية طلب صحيح (): طباعة ("مرحبًا ، هناك!") تحية () # وداعًا لطلب غير صحيح () def goodbye (): print ("Goodbye!")
لإصلاح هذا الخطأ ، تأكد من تعريف وظيفتك بشكل صحيح وأنك تسميها بعد تعريفها.
خاتمة
للتلخيص ومساعدتك على ترسيخ فهمك ، تلخص النقاط التالية الجوانب الرئيسية لوظائف الاستدعاء في Python:
function_name()
).function_name(arg1, arg2)
).result = function_name(args)
).تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.
ما هي الذات في بايثون: أمثلة من العالم الحقيقي
ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.
في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.
سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.
في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.
أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.
تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.
سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX في توفير النتائج.
إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.