آموزش رزبری پای رزبری پای پایتون Python

آموزش پایتون با بردهای رزبری پای بخش ششم: توابع و ماژول‌ها در Python

getting-started-with-python-on-raspberry-pi-boards-part-six-functions-and-modules-digispark
نوشته شده توسط پریسا پوربلورچیان

شخص تابع Function به مجموعه ای از دستورات یکپارچه گفته می‌شود که جهت اجرای اعمال خاصی در برنامه یک بار نوشته می‌شود و به تعداد مورد نیاز در برنامه از آن استفاده شده و فراخوانی می‌شود. در بخش ششم از سری آموزش های پایتون با رزبری پای به بررسی تابع Function خواهیم پرداخت. در ادامه آموزش توابع و ماژول‌ها در Python با مرجع تخصصی پایتون با رزبری پای Raspberry pi دیجی اسپارک همراه باشید.

برد رزبری پای و برنامه نویسی پایتون بخش ششم - دیجی اسپارک

 


تعریف تابع Function


تا بخش پنجم برنامه ها و مثال هایی که نوشته شد به صورت یکپارچه اجرا شدند و نیاز به تکرار و استفاده دوباره از آن ها در برنامه نبوده است! اما اگر اجرای بخشی از برنامه نیاز به تکرار داشته باشد، راه حل چیست؟ برنامه نویس ها میتوانند زمانیکه نیاز به انجام عملیات جندبار دارند، به جای نوشتن آن ها در چندین مرتبه دستورات را در یک تابع بنویسند. تابع نوشتن آزاد است! توابع سبب صرفه جویی در تعداد خط کدنویسی برنامه شده و زمان هم از این قائده مستثنی نیست! خوانایی برنامه هم افزایش پیدا می‌کند و به دلیل بخش بندی و لایه لایه شدن کدها رفع عیب هم ساده تر می‌شود. هر بخش از کدها از یکدیگر جداگانه عمل کرده و میتواند هر شخص تمرکزش را بر روی یک تابع بگذارد که تداخلی در اصل برنامه به وجود نیاورد. توابع به دو بخش کلی تقسیم بندی می‌شوند. یک تابع های داخلی Built in Function و توابع تعریف شده توسط برنامه نویس! توابع داخلی از قبل تعریف شده و برای زبان برنامه نویسی قابل شناسایی است و با فراخوانی آن ها عملیات خاصی را انجام میدهند. اما در حالت دوم برنامه نویس به نیاز پروژه یک تابع خاص تعریف کرده و از آن در طول برنامه به کرات استفاده می‌کند.

 

تعریف تابع

برای تعریف تابع از کلمه ی کلیدی def استفاده می‌کنیم. برای برگرداندن نتیجه تابع def از کلمه کلیدی return استفاده می‌کنیم. با نوشتن return پایان اجرای تابع را اعلام می‌کنیم. هر تابع از چندین بخش تشکیل شده است که باید کامل آن ها را در گوشه ی ذهن داشته باشیم. اینکه تابع چه کاری در برنامه قرار است انجام دهد. در ورودی چه مقادیری را میپذیرد. نتایج به چه صورت است.

def functionname (parameters):
statements

 

از def برای تعریف تابع استفاده می‌شود. در معرفی تابع باید اول یک اسم دلخواه برای نام تابع در نظر بگیریم. منظور از پارامتر لیست پارامترهایی است که باید تابع دریافت کند. در داخل تابع باید تعدادی از دستورات اجرا شوند که با statement مشخص شده است. دستورات حتما باید از تورفتگی استفاده کنند. حتما از کولن : در انتهای سطر استفاده کنید. بعد از تعریف تابع باید فراخوانی شود. تابع میتواند در برنامه اصلی یا توسط تابع دیگر اجرا شود.

 

def my_function():
  print("Hello from a function")

 

def theladypi ():
    print("hello ladyjaan")
    
theladypi()



result:
hello ladyjaan

 

تعریف تابع Function در پایتون رزبری پای - دیجی اسپارک

 

def functionname( parameters ):
   "function_docstring"
   function_suite
   return [expression]

 

def نام تابع (پارمترها)
.
.
دستورات تابع
.
.
.
[خروجی تابع return]

 

نام تابع و پارامترهای ورودی در جلوی def نوشته می‌شود. سپس دستورات بدنه در خط های بعدی با رعایت تورفتگی نوشته شده و سپس به دلخواه از خروجی return استفاده می‌شود. پارامترها در زمان تعریف تابع مشخص می‌شوند و آرگومان ها مقادیری هستند که منتاظر با پارامترها در نقش ورودی وارد برنامه می‌شوند. برای فراخوانی تابع به صورت زیر اقدام کنید.

function_name (arguments(s))

 

def my_function(name):
  print(name + " add")

my_function("a")
my_function("b")
my_function("c")

 

a add
b add
c add

 

انواع توابع در رزبری پای پایتون Python - دیجی اسپارک

 

تابع در برنامه میتواند دارای چندین پارامتر باشد و یا پارامتر نداشته باشد. پارامترها با ترتیب مکانی، کلمه کلیدی، مکانی با تعداد متغیر و یا پیشفرض در برنامه مشخص شوند.

 

استفاده از import

برای فراخوانی توابع و ماژول ها نیاز به استفاده از import داریم. بعضی از دستورات در پایتون جز توابع پیش فرض پایتون هستند و دسترسی به آن ها ساده است. اما در بیشتر مواقع نیاز داریم تا امکانات جدیدتری را تست کنیم. برای اینکار باید از import استفاده کنیم.

import modulename

منظور از modulename ماژولی است که میخواهیم در برنامه تعریف و فراخوانی کنیم.

from modulename import classname

در این روش فراخوانی کلاس classname را از ماژول modulename وارد برنامه می‌کند.

 

 توابع بازگشتی 

توابع بازگشتی به طور مستقیم یا غیرمستقیم در صورت نیاز خود را فراخوانی می‌کنند. بازگشتی به مفهومی گفته می‌شود که در آن تابعی خودش را فراخوانی می‌کند. توابع میتوانند به طور مستقیم یا غیرمستقیم خودشان را فراخوانی کنند.

 


ماژول ها Module


ماژول MODULE از مجموع چندین تابع است که به برنامه معرفی می‌شود و از توابع موجود در آن استفاده می‌شود. فایل ماژول مانند فایل برنامه در پایتون با پسوند .py ذخیره می‌شود. از ماژول به عنوان شی در برنامه استفاده می‌شود. به عنوان مثال ماژول های آماده در پایتون مانند math , os, sys, time, socket است.

از دستور import برای اتصال ماژول به برنامه استفاده می‌شود. در این صورت تمام توابع موجود در ماژول در برنامه قابل استفاده هستند. اما اگر بخواهید فقط یک یا چند تابع خاص از ماژول را به برنامه وارد و سپس استفاده کنید.

from module import function

 

# A simple module, calc.py

def add(x, y):
	return (x+y)

def subtract(x, y):
	return (x-y)

 

# importing module calc.py
import calc

print(calc.add(10, 2))

این مثال از ماژول های آماده و مثال های آشنا در وب نوشته شده است تا با مفهوم ماژول آشنا شوید.

def fact(x):
    if x!=0:
        return x* fact(x-1)
    else:
        return 1
m = int(input("enter positive number:"))
print ("number = ", m, ", factorial =", fact(m))

 

توابع و ماژول‌ها در Python رسپبری پای - دیجی اسپارک

 


جمع بندی لیدی پای


در بخش ششم توابع و ماژول‌ها در Python از سری آموزش های پایتون با بردهای رزبری پای به معرفی تابع و ماژول پرداختیم. هر تابع دو جنبه دارد. تعریف و فراخوانی. جنبه‌ی تعریف تابع مجموعی از دستورالعملهاست که عملکرد تابع را مشخص می‌کند که از def کمک میگیریم. پس از تعریف تابع نوبت به فراخوانی میرسد. تابع فراخوانی می‌شود تا قسمتی از مسائل را که در برنامه غیرقابل حل است را به راحتی حل کند. در مقابل ماژول از مجموع تابع ها، کلاس ها، متغیرها است که با پسوند .py در برنامه مشخص می‌شوند.

 


وسایل مورد نیاز


رزبری پای Raspberry Pi 400

رزبری پای Raspberry Pi 4

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۵ دیدگاه

  • سلام خسته نباشید ببخشید برای برنامه نویسی رزبری پای ۴ نرم افزار Thonny و Python 2 یا Python3 باهم فرق دارن یعنی اگر بلد باشیم با یکی از اینا کار کنیم میشه با یکی دیگه هم کار کرد یا نه باید اونم جدا آموزش دید؟؟؟؟؟

    • با سلام
      زبان مشترک همه پایتون است و تفاوتی ندارد و به راحتی میتوانید پروژه اجرا کنید.

    • با سلام
      بله نسخه os رزبری پای از پایتون ۲ و پایتون ۳ پشتیبانی می‌کند و برای کدزدن نیاز به دانش زبان پایتون خواهید داشت.