مدیریت اطلاعات در پایتون و آشنایی با عملگرها

مدیریت اطلاعات

تعریف عملگرها

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

عناصری که به عنوان ورودی در یک عملگر فراخوانی می کنند، عملوند نامیده می شوند. عملوند سمت چپ عملگر را عملوند چپ می نامند، در حالی که عملوند سمت راست عملگر را عملوند راست می نامند. در لیست زیر دسته بندی عملگرهایی را که در پایتون استفاده می کنید را مشاهده می کنید:

  • یگانی (Unary)
  • محاسباتی
  • رابطه ایی
  • منطقی
  • عضویت
  • بیتی
  • جایگزینی
  • تطابق

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

عملگر یگانی (Unary)

عملگرهای یگانی به عنوان ورودی فقط به یک متغیر یا عبارت نیاز دارند. شما اغلب از این عملگرها به عنوان بخشی از فرایند تصمیم گیری استفاده می کنید. به طور مثال، ممکن است بخواهید چیزی را پیدا کنید که شبیه چیز دیگری نیست. در جدول (1) عملگرهای یگانی را نشان داده شده است.

جدول (1) عملگرهای یگانی پایتون

عملگر

توضیح

مثال

~

معکوس بیتی یک عدد؛ بنابراین تمام صفرهای آن به یک تبدیل می شود و برعکس.

4~ در نتیجه مقدار 5- می شود.

مقدار اصلی را منفی می کند تا مثبت منفی شود و برعکس.

(4-)- نتیجه 4 و عدد 4- نتیجه 4- می شود.

+

تنها به دلیل کامل بودن فراهم شده است. این عملگر همان مقداری را که شما به عنوان ورودی ارائه می دهید، برمی گرداند.

4+ مقدار 4 می شود.

محاسباتی

رایانه ها به دلیل توانایی انجام عملیات ریاضی پیچیده شناخته شده اند. با این حال، وظایف پیچیده ای که کامپیوترها انجام می دهند اغلب برمبنای وظایف ریاضی بسیار سادهتری مانند جمع هستند. پایتون برای کمک به انجام وظایف پیچیده ریاضی دسترسی به کتابخانه هایی را برای شما فراهم می کند، اما شما همیشه می توانید کتابخانه های خود را از توابع ریاضی با استفاده از عملگرهای ساده موجود در جدول (2) ایجاد کنید.

جدول (2) عملگرهای محاسباتی پایتون

عملگر

توضیح

مثال

+

دو عدد را باهم جمع می کند.

7=5+2

عملوند راست را از عملوند چپ کم می کند.

3=5-2

*

عملوند راست را در عملوند چپ ضرب می کند.

10=2*5

/

عملوند راست را بر عملوند چپ تقسیم می کند.

2.5=2/5

%

عملوند راست را بر عملوند چپ تقسیم می کند و باقی مانده را برمی گرداند.

1=5%2

**

مقدار نمایی عملوند راست را با عملوند سمت چپ محاسبه می کند.

25=2**5

//

تقسیم عدد صحیح را انجام می دهد ، که در آن عملوند سمت چپ با عملوند راست تقسیم می شود و فقط عدد صحیح برمی گردد (همچنین جزء صحیح نیز نامیده می شود)

2=2//5

رابطه ایی

عملگرهای رابطه ای یک مقدار را با مقدار دیگر مقایسه می کنند و به شما می گویند رابطه ای که ارائه داده اید درست است. به طور مثال، 1 کمتر از 2 است ، اما 1 هرگز از 2 بیشتر نیست. مقدار درست روابط اغلب برای تصمیم گیری برنامهها به کار می رود تا اطمینان حاصل کنید که شرط انجام یک وظیفهی خاص فراهم شده است. جدول (3) عملگرهای رابطه ای را توصیف می کند.

جدول (3): عملگرهای رابطه ایی پایتون

عملگر

توضیح

مثال

==

تعیین می کند دو عملوند با هم برابر هستند، دقت کنید که در عملگر رابطه ایی از دو علامت مساوی استفاده شده است. اشتباهی که برخی انجام می دهند یک علامت مساوی می گذارند که جایگزینی را نمایش می دهد و یک مقدار درون دیگری قرار می گیرد.

2==1 غلط است.

=!

تعیین می کند که دو مقدار برابر نیستند. در برخی از نسخه های قدیمی پایتون از عملگر <> را به جای عملگر! = استفاده می کردند. استفاده از عملگر <> منجر به بروز خطا در نسخه های فعلی پایتون می شود.

2=!1 درست است.

<

تأیید می کند که مقدار عملوند چپ بیشتر از مقدار عملوند راست است.

2<1 غلط است.

>

تأیید می کند که مقدار عملوند چپ کمتر از مقدار عملوند راست است.

2>1 درست است.

=<

تأیید می کند که مقدار عملوند چپ بیشتر یا برابر با مقدار عملوند راست است.

2=<1 غلط است.

=>

تأیید می کند که مقدار عملوند چپ کمتر یا برابر با مقدار عملوند راست است.

2=>1 درست است.

منطقی

عملگرهای منطقی مقدار درست یا غلط متغیرها یا عبارتها را با هم ترکیب می کنند تا بتوانید نتایج درستی را تعیین کنید. از عملگرهای منطقی برای ایجاد عبارات بولی می توانید استفاده کنید که برای تعیین اجرای وظایف به شما کمک می کنند. جدول (4) عملگرهای منطقی را توصیف می کند.

جدول (4): عملگرهای منطقی پایتون

عملگر

توضیح

مثال

and (و)

مشخص می کند که هر دو عملوند درست هستند.

درست و درست، درست است.

درست و غلط، غلط است.

غلط و درست، غلط است.

غلط و غلط، غلط است.

or (یا)

مشخص می کند یکی از عملوندها درست است.

درست و درست، درست است.

درست و غلط، درست است.

غلط و درست، درست است.

غلط و غلط، غلط است.

not (نقیض)

ارزش واقعی یک عملوند را خنثی می کند. اگر غلط بود درست و اگر درست، به غلط تبدیل می شود.

نقیض درست، غلط است.

نقیض غلط، درست است.

بیتی

در عملگرهای بیتی یک عدد با تعداد بیت های منحصربه فردی ارتباط دارند. به طور مثال، عدد 6 در واقع باینری 0b0110 است.

اگر نمی توانید تبدیل باینری را انجام بدید، می توانید از مبدل کاربردی باینری به دهدهی و هگزا در سایت http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html استفاده کنید. برای کارکردن با این سایت شما باید JavaScript را فعال کنید.

یک عملگر بیتی با هر بیت داخلی با روشی خاص ارتباط برقرار می کند. وقتی با یک عملگر منطقی بیتی کار می کنید، مقدار 0 به عنوان نادرست و مقدار 1 به عنوان درست در نظر گرفته می شود. جدول(5) عملگرهای بیتی را توصیف می کند.

جدول (5): عملگرهای بیتی پایتون

عملگر

توضیح

مثال

&

(و)

تعیین می کند که آیا هر دو بیت مجزا در دو عملگر، هردو درست هستند و نتیجه را در یک بیت درستی قرار می دهد.

0b1100 & 0b0110= 0b0100

|

(یا)

تعیین می کند که آیا یکی از دو بیت مجزا در دو عملگر درست هست و نتیجه را در یک بیت درستی قرار می دهد.

0b1100 | 0b0110= 0b1110

^

(یای انحصاری)

تعیین می کند که آیا فقط یکی از بیتهای مجزا در دو عملگر درست هست و نتیجه را در یک بیت درستی قرار می دهد. یعنی وقتی هردو درست یا هردو غلط باشد، نتیجه غلط است.

0b1100 | 0b0110= 0b1010

~

(مکمل یک)

مکمل یک، مقدار عددی را حساب می کند.

0b1100= -0b1101~

~0b0110= -0b0111

>>

(شیفت چپ)

بیتها را به سمت چپ عملوند به تعداد شیفت به چپ مشخص شده شیفت می دهد و همه بیتهای جدید را 0 می گذارد و بیتهایی که از انتها سرریز می شوند؛ از بین می روند .

0b00110011 << 2 = 0b11001100

<<


(شیفت راست)

بیتها را به سمت راست عملوند به تعداد شیفت به راست مشخص شیفت می دهد و همه بیتهای جدید را 0 می گذارد و بیتهایی که از انتها سرریز می شوند؛ از بین می روند .

00b00110011 >> 2 = 0b00001100

جایگزینی (Assignment )

عملگرهای جایگزینی دادهها را درون یک متغیر قرار می دهند. عملگرهای جایگزینی ساده در مقالات آموزش برنامه نویسی پایتون آمده است. در پایتون عملگرهای جایگزینی دیگری نیز موجود است که در ادامه به توصیف آن می پردازیم. این عملگرهای جایگزینی می توانند در طول فرایند جایگزینی، وظایف ساده ریاضی را انجام دهند؛ به این معنی که می توان عملگرهای ریاضی و جایگزینی را باهم ترکیب کرد. در جدول (6) عملگرهای جایگزینی توضیح داده شده است. مقدار اولی MyVarدر مثال زیر 5 است.

جدول (6): عملگر جایگزینی پایتون

عملگر

توضیح

مثال

=

مقدار عملوند سمت راست را در عملوند چپ جایگزین می کند.

5MyVar= نتیجه در MyVar شامل 5 است.

=+

مقدار عملوند سمت راست را با مقدار عملوند سمت چپ جمع می کند و نتیجه را در عملوند چپ قرار می دهد.

2MyVar+=نتیجه در MyVar شامل 7 است.

=-

مقدار عملوند سمت راست را از مقدار عملوند سمت چپ کم می کند و نتیجه را در عملوند چپ قرار می دهد.

2MyVar-= نتیجه در MyVar شامل 3 است.

=*

مقدار عملوند سمت راست را در مقدار عملوند سمت چپ ضرب می کند و نتیجه را در عملوند چپ قرار می دهد.

2MyVar*= نتیجه در MyVar شامل 10 است.

=/

مقدار عملوند سمت چپ را بر مقدار عملوند سمت راست تقسیم می کند و نتیجه را در عملوند چپ قرار می دهد.

2MyVar/= نتیجه در MyVar شامل 2.5 است.

=%

مقدار عملوند سمت چپ را بر مقدار عملوند سمت راست تقسیم میکند و باقیمانده را در عملوند چپ قرار میدهد.

2MyVar%= نتیجه در MyVar شامل 25 است.

=**

مقدار عملوند سمت چپ را به توان مقدار عملوند سمت راست حساب میکند و نتیجه را در عملوند چپ قرار می دهد.

2MyVar**= نتیجه در MyVar شامل 2 است.

=//

مقدار عملوند سمت چپ را بر مقدار عملوند سمت راست تقسیم می کند و نتیجه عدد صحیح (عدد کامل) را در عملوند چپ قرار می دهد.

2MyVar//= نتیجه در MyVar شامل 7 است.

عضویت

عملگرهای عضویت فرمی از یک مقدار را در یک لیست یا رشته تشخیص می دهند و سپس مقدار صحیح آن فرم را در خروجی نشان می دهند . عملگرهای عضویت را همانند روال جستجوی یک پایگاه داده در نظر بگیرید. شما مقداری را وارد می کنید که فکر می کنید باید در پایگاه داده نشان داده شود و یک جستجوی روتین آن را برای شما پیدا می کند یا گزارش می دهد که این مقدار در پایگاه داده وجود ندارد. جدول (7) عملگرهای عضویت را توصیف می کند.

جدول (7): عملگرهای عضویت پایتون

عملگر

توضیح

مثال

In

تعیین می کند که آیا مقدار عملوند سمت چپ در رشته موجود در عملوند راست نشان داده می شود یا خیر.

“سلام” در ” سلام خداحافظ” درست است.

“Hello” in “Hello Goodbye” is True

not in

تعیین می کند که آیا مقدار عملوند سمت چپ در رشته موجود در عملوند راست از دست رفته است.

“سلام” در ” سلام خداحافظ”موجود نیست، غلط است.

“Hello” not in “Hello Goodbye” is False

تطابق

عملگرهای تطابق مشخص می کنند که آیا یک مقدار یا عبارت از کلاس یا نوع خاصی است. شما برای اطمینان از اینکه با نوع درستی از اطلاعات که فکر می کنید دارید با آنها کار می کنید، ازعملگرهای تطابق استفاده می کنید. استفاده از عملگرهای تطابق می تواند به شما کمک کند تا از خطاهای موجود در برنامه خود جلوگیری کنید یا نوع پردازش مورد نیاز را مشخص کنید. جدول (8) عملگرهای تطابق را توصیف می کند.

جدول(8): عملگرهای تطابق
پایتون

عملگر

توضیح

مثال

Is

وقتی نوع مقدار یا عبارت موجود در عملوند راست به همان نوع در عملوند چپ اشاره می کند ، درستی آن ارزیابی می شود.

نوع(2) int است؛ درست است.

type(2) is int is True.

Is not

وقتی نوع مقدار یا عبارت موجود در عملوند راست به نوع متفاوتی از مقدار در عملوند چپ اشاره می کند ، درستی آن ارزیابی می شود.

نوع(2) int نیست، غلط است.

type(2) is not int is False

بررسی تقدم عملگرها

هنگامی که عباراتی ساده تولید میکنید که تنها شامل یک عملگر هستند، تعیین خروجی آن عملگر نیز ساده است. به هر حال، هنگامی که می خواهید با چندین عملگر کار کنید، تعیین اینکه کدام یک از عملگرها را ابتدا بررسی کنید، ضروری می شود. به طور مثال، شما باید بدانید که چطور عبارت 3*2+1 به مقدار 7 ارزیابی(جایی که ضرب ابتدا انجام می شود) یا مقدار 9 (جایی که ابتدا جمع اضافه می شود) تعیین می شود. دستور ترتیب تقدم عملگرها به شما می گوید که جواب 7 است مگر اینکه از پرانتز استفاده کنید. در این حالت، (3*2)+1 مقدار خروجی 9 می شود زیرا پرانتز دارای ترتیب تقدم بالاتری نسبت به ضرب است. جدول (9) ترتیب تقدم عملگر را در پایتون را نشان می دهد.

عملگر

توضیح

()

از پرانتز برای لغو اولویت پیش فرض گروهی از عبارات استفاده می شود تا بتوان عملیاتی با اولویت پایینتر (مثل جمع) را مقدم بر عملیاتی با اولویت بالاتر (مثل ضرب) انجام داد.

**

مقدار عملوند چپ را به توان عملوند راست می رساند.

~ + –

عملگرهای یگانی با یک متغیر یا عبارت تنها در ارتباط هستند.

* / % //

ضرب، تقسیم، باقی مانده، تقسیم صحیح.

+ –

جمع و تفریق

>> <<

شیفت بیتی راست و چپ

&

عمل بیتی AND

^ |

Or منحصر به فرد و استاندارد

>= < > =>

عملگرهای مقایسه

== =!

عملگرهای تساوی

= %= /= //= -= += *= **=

عملگرهای جایگزینی

Is

is not

عملگرهای تطابق

In

not in

عملگرهای عضویت

not or and

عملگرهای منطقی

ایجاد یک تابع و استفاده از آن

تعریف یک تابع

ایجاد یک تابع به کارهای زیادی نیاز ندارد. پایتون تمایل دارد برای شما کارها را سریع و آسان انجام دهد. مراحل زیر روند ایجاد تابعی را نشان می دهد که بعداً می توانید به آن دسترسی پیدا کنید:

1- یک نوت بوک جدید در نوت بوک ایجاد کنید.

در سری مقالات آموزش برنامه نویسی پایتون در سایت ناگفته ما به طور معمول  از نام پرونده BPPD_07_Managing_Information.ipynb استفاده میکنیم.

2- عبارت def Hello(): را بنویسید و Enter را فشار دهید.

در این مرحله به پایتون
می گویید که تابعی به نام Hello را تعریف کند. پرانتزها از این جهت مهم هستند که هرگونه نیاز برای استفاده از تابع را تعیین می کنند. (در این مورد هیچ الزامی وجود ندارد.) دونقطه (علامت نقل قول) در انتهای عبارت به پایتون می گوید که تعریف تابع شما انجام شده است و می توانید به تابع دسترسی پیدا کنید. دقت کنید، همانطور که در تصویر (1) می بینید نشانگر درج در حال حاضر تورفتگی دارد به این معنا که شما باید وظیفه را برای انجام وظیفه تعیین کنید.


تصویر (1): نام تابع را مشخص کنید.

3– عبارت print(“This is my first Python function!”) را بنویسید و Enter را فشار دهید.

شما باید متوجه نکته خاصی شده باشید به تصویر (2) نگاه کنید، نشانگر درج همچنان تورفتگی دارد به این دلیل که نوت بوک منتظر است تا مرحله بعدی تعریف تابع را انجام دهید.


تصویر(2): نوت بوک منتظر دستور بعدی شما است.

4– روی دکمه RUN کلیک کنید.

تابع الان کامل می شود. حتی اگر این یک تابع واقعاً ساده است، الگویی را نشان می دهد که هنگام ایجاد هرگونه تابع در پایتون می توانید از آن استفاده کنید. شما یک نام تعریف می کنید ، هر مقرراتی برای استفاده از تابع را فراهم می کنید (در این مورد هیچ چیزی)، و یک سری مراحل برای استفاده از تابع را انجام می دهید. وقتی نقطه درج در سمت چپ باشد یا شما به سلول بعدی بروید، یک تابع به پایان می رسد.

دسترسی به تابع

بعد از تعریف یک تابع، احتمالاً می خواهید از آن برای انجام کارهایی استفاده کنید. البته این به معنای دانستن نحوهی دستیابی به تابع است. در بخش قبلی، یک تابع جدید به نام Hello() ایجاد کردید. برای دسترسی به این تابع، ()Hello را بنویسید و رویRun کلیک کنید. تصویر (3) خروجی که هنگام اجرای این تابع مشاهده می کنید، را نشان داده است.


تصویر (3): هرگاه نام تابع را بنویسید، خروجی به شما چیزی را که تابع فراهم می کند را نشان می دهد.

هر تابعی که ایجاد می کنید برای استفاده از آن تابع الگوی مشابهایی وجود دارد. نام تابع را می نویسید یک پرانتز را باز می کنید، هر نوع ورودی مورد نیاز را می نویسید و در انتها پرانتز را می بندید و سپس Enter را فشار دهید. در این مثال، شما ورودی ندارید ، بنابراین تمام آنچه می نویسید ()Hello است. در ادامه مقاله آموزش برنامه نویسی پایتون نمونه های بیشتری از این دست خواهید دید.

ارسال اطلاعات به تابع

مثال Hello() در بخش قبلی مناسب است زیرا شما مجبور نیستید آن رشته طولانی را بنویسید می توانید تنها از تابع Hello() استفاده کنید. با هر حال این کار دارای محدویتهایی است و شما تنها یک چیز می توانید بیان کنید. توابع باید انعطاف پذیر باشند و به شما اجازه انجام بیش از یک کار را بدهند. در غیر این صورت، در نهایت شما بسیاری از توابع را با توجه به داده هایی که استفاده می کنید، می نویسید. استفاده از آرگومانها به شما کمک می کند تا توابعی ایجاد کنید که انعطاف پذیر بوده و می توانند از تعداد داده زیادی استفاده کنند.

درک آرگومان

اصطلاح آرگومان به این معنی نیست که شما با تابع درگیر خواهید شد. این بدان معناست که شما اطلاعاتی را برای تابع آماده می کنید که این اطلاعات در پردازش درخواستی تابع استفاده می شود. شاید کلمهی ورودی برای آن بهتر باشد، اما اصطلاح ورودی برای بسیاری از اهداف دیگر نیز استفاده می شود از اینرو توسعه دهندگان تصمیم گرفتند از چیزی که کمی متفاوتتر استفاده کنند: مثل آرگومان. اگرچه ممکن است هدف یک آرگومان از نام آن مشخص نباشد، اما درک آنچه که انجام می دهد نسبتاً ساده است. یک آرگومان امکان ارسال داده به تابع را برای شما فراهم می کند تا تابع در هنگام انجام کار بتواند از آن استفاده کند. استفاده از آرگومان باعث انعطاف پذیری بیشتر تابع شما می شود.

تابع Hello() در حال حاضر انعطاف پذیر نیست زیرا فقط یک رشته تعیین شده را می نویسد. افزودن آرگومان به تابع می تواند آن را بسیار انعطاف پذیرتر کند زیرا شما می توانید رشته هایی را به تابع ارسال کنید تا هر چیزی را که شما می خواهید را بیان کنند. برای اینکه ببینید آرگومان ها چگونه کار می کنند، یک تابع جدید در نوت بوک ایجاد کنید. این نسخه از Hello() ، Hello2()، نیاز به آرگومان دارد:


دقت کنید که دیگر پرانتزها خالی نیستند. آنها حاوی یک کلمه به نام Greeting هستند، که آرگومانی برای Hello2() است. آرگومان Greeting در واقع متغیری است که می تواند در دستور print() قرار گیرد تا در صفحه نمایش آن را مشاهده کنید.

ارسال آرگومانهای مورد نیاز

شما یک تابع جدید به نام Hello2() دارید. این تابع نیاز دارد که شما آرگومانی برای آن ایجاد کنید تا از آن استفاده کند. حداقل این چیزهایی است که تاکنون شنیدید. عبارت Hello2() را بنویسید و سپس روی RUN سلول کلیک کنید. همانطور که در تصویر (4) مشاهده می کنید یک پیام خطا ظاهر می شود که به شما می گوید
Hello2() به یک آرگومان نیاز دارد.


تصویر (4): شما باید یک آرگومان تعیین کنید در غیر این صورت با یک پیام خطا مواجه می شوید.

پایتون نه تنها به شما می گوید که آرگومان از بین رفته است ، بلکه نام آرگومان را نیز به شما می گوید. ایجاد یک تابع به روشی که تاکنون انجام داده اید به این معنی است که شما باید یک آرگومان ارائه دهید. عبارت (“.This is an interesting function “) Hello2را بنویسید و رویRun سلول کلیک کنید. این بار خروجی مورد انتظار را مشاهده می کنید. با این حال، شما هنوز نمی دانید که Hello2() انعطاف پذیری کافی برای چاپ چندین پیام را دارد. عبارت (“Another message…”) Hello2را بنویسید و روی Run سلول کلیک کنید. همانطور که در تصویر(5) می بینید، دوباره خروجی مورد انتظار را مشاهده می کنید، بنابراین Hello2() در واقع نسبت به Hello() بهبود یافته است.


تصویر(5): از Hello2() برای چاپ هر نوشته ایی می توانید استفاده کنید.

به راحتی ممکن است تصور کنید که تابع فقط Hello2 فقط یک رشته از آزمایشاتی را که تاکنون انجام داده اید قبول می کند. Hello2(1234) را بنویسید و روی Run سلول کلیک کنید. عدد 1234 را به عنوان خروجی مشاهده می کنید. به همین ترتیب، Hello2(5+5) را بنویسید و روی Run سلول کلیک کنید. این بار نتیجه عبارت که 10 است را می بینید.

ارسال آرگومان با کلیدواژه

همانطور که توابع شما پیچیدهتر می شوند، همچنین روش های استفاده از آنها نیز پیچیدهتر می شود. شاید بخواهید کنترل بیشتر و کمی دقیقتر بر نحوه فراخوانی تابع و آرگومانهایی که برای آن فراهم می کنید، داشته باشید. تا کنون، شما آرگومان های موقعیتی داشتید، به این معنی که مقادیری را برای نمایش آنها در لیست آرگومان برای تعریف تابع ارائه کرده اید. به هر حال، پایتون همچنین یک روش دیگر برای ارسال آرگومان ها با کلمه کلیدی دارد. در این حالت، شما نام آرگومان و علامت مساوی (=) و مقدار آرگومان را ارائه می دهید. برای اینکه ببینید چطور عمل می کند، تابع زیر را در نوت بوک بنویسید:


دقت کنید که آرگومان تابع print() لیستی از آیتمها را برای چاپ در بر می گیرد و این آیتمها با ویرگول از هم جدا می شوند. علاوه بر این، آرگومانها از انواع مختلفی هستند. پایتون با این روش ترکیب و جفت کردن آرگومانها را آسان می کند.

زمان تست تابع AddIt() است. البته، اگر شما می خواهید ابتدا تابع را با استفاده از آرگومان های موقعیتی امتحان کنید، عبارت AddIt(2,3) را بنویسید و روی Run سلول کلیک کنید. نتیجه مورد انتظار 5=3+2 را در خروجی مشاهده کنید. اکنون (Value1 = 2، Value2 = 3)AddIt را بنویسید و رویRun سلول کلیک کنید. دوباره شما در خروجی 5=3+2 را دریافت می کنید حتی اگر موقعیت آرگومان ها برعکس شده باشد.

دادن یک مقدار پیش فرض به آرگومان تابع

دادن یک مقدار پیش فرض به آرگومان های تابع چه با استفاده از آرگومان های موقعیتی یا آرگومان های کلمه کلیدی فراخوانی شوند، توابع در این مرحله نیاز به ارائه مقداری هستند. گاهی اوقات یک تابع می تواند از یک مقدار پیش فرض استفاده کنند وقتی که یک مقدار مشترک در دسترس است. مقادیر پیش فرض استفاده از تابع را آسان تر و پیامهای خطا را نیز کمتر می کنند در زمانی که یک توسعه دهنده فراموش می کند برای ورودی مقداری مشخص کند. برای ایجاد یک مقدار پیش فرض، شما به راحتی نام آرگومان را با علامت مساوی و مقدار پیش فرض می نویسید. برای دیدن نحوه عملکرد این روش، تابع زیر را در نوت بوک بنویسید:


نسخه دیگری از hello() و hello2() به نام hello3() را به روز رسانی کردیم. Hello3() برای مواردی کاربرد دارد که مقادیر اولیهایی ارائه نمی شود و از یک مقدار پیش فرض برای اجرای دستور به کار می گیرد. وقتی کسی بدون تعیین آرگومان با hello3() کار می کند پیام خطایی دریافت نمی کند. hello3() را بنویسید و Enter را فشار دهید تا خودتان نتیجه را مشاهده کنید. عبارت Hello3(“This is a string.”) را بنویسید و دوباره پاسخ را نگاه کنید. اشتباه تصور نکنید که این داده قادر به استفاده از انواع دادهها نباشد. برای آزمایش بیشتر Hello3(5) را بنویسید و و Enter را فشار دهید. سپس Hello3(2+7) را بنویسید و و Enter را فشار دهید؛ نتایج را در تصویر (6) مشاهده می کنید.


تصویر(6): زمانی که این امکان وجود دارد که از تابع آسانتر استفاده کنید مقادیر پیش فرض را به کار بگیرید.

ایجاد توابع با تعداد متغیری از آرگومانها

در بیشتر موارد، شما می دانید دقیقاً چند آرگومان برای تابع شما ارائه می شود. در صورتی از این روش استفاده کنی که می توانید هزینه کار با آن را بپردازید زیرا در آینده می بینید که عیب یابی توابع با تعداد مشخصی از آرگومان ها آسان تر است. به هر حال، گاهی اوقات شما به راحتی نمی توانید تعیین کنید که چند آرگومان در تابع در ابتدا دریافت خواهد شد. به طور مثال، وقتی که شما یک برنامه پایتون ایجاد می کنید که در خط فرمان کار می کند، ممکن است کاربر هیچ آرگومانی را در ابتدا تعیین نکند ، حداکثر تعداد آرگومان (با فرض وجود بیش از یک مورد) یا هر تعداد حدودی آرگومان را نیز ارائه ندهد.

خوشبختانه ، پایتون تکنیکی را برای ارسال تعداد متغیری از آرگومانهای یک تابع فراهم کرده است. شما به سادگی یک آرگومان ایجاد می کنید که یک ستاره مانند *VarArgs در مقابل آن قرار دارد. روش معمول ایجاد دومین آرگومان است که شامل تعداد آرگومان های ارسال شده به عنوان ورودی است. در اینجا مثالی از تابعی آورده شده است که می تواند تعداد متغیری از عناصر را چاپ کند. (اگر اکنون کاملاً آن را درک نمی کنید خیلی نگران نباشید – قبلاً این تکنیک در سری مقالات آموزش برنامه نویسی پایتون استفاده نشده بود).


در این مثال از چیزی مثل حلقه for استفاده می کند. این ساختار را می توانید در مقالات بعدی آموزش برنامه نویسی پایتون در سایت ناگفته
دنبال کنید. در حال حاضر ، تنها چیزی که باید بدانید این است که هربار یکی از آرگومان ها را از VarArgs خارج می کند، یک آرگومان را در Arg قرار می دهد و سپس Arg را با استفاده از print() چاپ می کند. توجه کنید که تعداد آرگومانهای متغیر چطور می توانند کار کنند.

بعد از اینکه تابع را در نوت بوک نوشتید، عبارتHello4(1, “A Test String.”) را بنویسید و روی Run سلول کلیک کنید. شما باید تعدادی آرگومان و رشته آزمون را به عنوان خروجی ببینید – هیچ چیز در آنجا وجود ندارد
Hello4(3, “One”, “Two”, “Three”) . را بنویسید و رویRun سلول کلیک کنید. همانطور که در تصویر (7) می بینید ، این تابع تعداد آرگومانهای متغیر را بدون هیچ مشکلی اداره می کند.


تصویر (7): آرگومانهای متغیر توابع می توانند برنامهی شما را انعطافپذیرتر کنند.

بازگشت اطلاعات از توابع

توابع می توانند داده ها را مستقیماً نمایش دهند یا می توانند داده ها را به فراخوانندهی آنها بازگردانند تا فراخواننده بتواند کارهای بیشتری با آن انجام دهد. اما به طور معمول، یک تابع یا داده ها را مستقیماً نمایش می دهد یا آنها را به فراخواننده برمی گرداند. اینکه توابع چگونه کار می کنند به نوع وظیفه ای که قرار است انجام دهند، بستگی دارد. به طور مثال، تابعی که کاری مربوط به ریاضیات را انجام می دهد، بیشتر از برخی توابع دیگر، داده ها را به فراخواننده باز می گرداند.

برای بازگرداندن داده ها به فراخواننده، یک تابع باید شامل کلمه کلیدی بازگشت باشد و همچنین دادههایی برای برگشت موجود باشد. شما هیچ محدودیتی در میزان بازگشت به فراخواننده ندارید. در اینجا برخی از انواع داده ها وجود دارد که معمولاً توسط یک تابع به یک فراخواننده بازگردانده می شود:

  • مقادیر: هر مقداری قابل قبول است. شما می توانید اعداد مانند 1 یا 2.5، رشتهها مانند “Hello There!”، یا مقادیر بولی مانند درست یا نادرست را برگردانید.
  • متغیرها: محتوای هر متغیر همانند مقادیر کار می کنند. فراخواننده هر داده ای را که در متغیر ذخیره شده دریافت می کند.
  • عبارات : بسیاری از توسعه دهندگان از عبارات به عنوان میانبر استفاده می کنند. به طور مثال، شما می توانید به جای انجام محاسبه ، به سادگی مقدار نتیجه A + B را برگردانید. نتیجه را در یک متغیر قرار دهید و سپس متغیر را به فراخواننده برگردانید. استفاده از عبارت سریعتر است و همان کار را انجام می دهد.
  • نتایج حاصل از توابع دیگر: در واقع می توانید داده های یک تابع دیگر را به عنوان بخشی از تابع خود برگردانید.

وقتی این است که ببینیم توابع مقادیر بازگشتی چطور کار می کنند. کد زیر را در نوت بوک بنویسید:

این تابع دو مقدار را به عنوان ورودی می پذیرد و سپس مجموع آن دو مقدار را برمی گرداند. شما احتمالاً می توانید این کار را بدون استفاده از یک تابع نیز انجام دهید. برای یک تابع نیز به همین روش است. برای تست این تابع، print(“The sum of 3 + 4 is “, DoAdd(3, 4)) را بنویسید و روی Run سلول کلیک کنید. خروجی را در تصویر 8 مشاهده می کنید.


تصویر(8): برگشت مقادیر می توانند توابع شما را مفیدتر کنند.

مقایسه خروجی تابع

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

برای اینکه نحوه کارکرد این مقایسه را ببینید ، از تابع DoAdd() که در بخش قبلی بیان شد استفاده کنید. عبارت print(“3 + 4 equals 2 + 5 is “, (DoAdd(3, 4) == DoAdd(2, 5))) را بنویسید و بر روی Run سلول کلیک کنید. همانطور که در تصویر (9) می بینید، مقدار واقعی جمله 3 + 4 برابر 2 + 5 است. نکته این است که توابع فقط برای یک کاربرد تهیه نشدند یا اینکه شما آنها را فقط به یک روش مشاهده نمیکنید. توابع می توانند کد شما را کاملاً تطبیقپذیر و انعطاف پذیر کنند.


تصویر(9): از توابع می توانید برای اجرای وظایف مختلفی استفاده کرد.

دریافت ورودی از کاربر

تعداد کمی از برنامه ها جدا از کاربر در دنیای خودشان وجود دارند و کار می کنند. در حقیقت، بیشتر برنامه ها به طور عمده با کاربران تعامل دارند زیرا رایانه ها برای تامین نیازهای کاربر طراحی شده اند. برای ارتباط با کاربر، یک برنامه کاربردی باید روشهایی برای بدست آوردن ورودی کاربر را فراهم کند. خوشبختانه متداول ترین تکنیک مورد استفاده برای به دست آوردن ورودی نیز اجرای آن نسبتاً آسان است. شما برای انجام آن به سادگی از تابع input() استفاده می کنید.

تابع input() همیشه خروجی اش یک رشته است. حتی اگر کاربر عددی را بنویسد، خروجی تابع input() باز هم یک رشته است. به این معنا که اگر انتظار یک عدد دارید، باید پس از دریافت ورودی آن را تبدیل کنید. تابع input() همچنین به شما امکان می دهد یک رشته اعلان داشته باشید. این اعلان نمایش داده می شود تا به کاربر بگویید چه چیزی را از طریق اطلاعات ارائه دهد. مثال زیر نحوه استفاده از تابع input() را به روشی ساده نشان می دهد:


در این مثال، تابع input() از کاربر نام او را می خواهد. بعد از اینکه کاربر نامی را می نویسد و Enter را فشار داد، مثال یک خوشآمدگویی سفارشی برای کاربر ارسال می کند. این مثال را اجرا کنید. در تصویر (10) نتایج معمول را وقتی اسم جان را به عنوان نام کاربری وارد می کنید؛ نشان می دهد.


تصویر(10): یک نام کاربری را می نویسید و خوشآمدگویی در خروجی نمایش داده می شود.

برای انواع دیگری از داده نیز می توانید از input() استفاده کنید. تمام آنچه شما نیاز دارید تابع صحیح تبدیل است. به طور مثال، کد در مثال زیر یک تکنیک برای انجام چنین تبدیل را ارائه می دهد ، همانطور که در اینجا می بینید:

وقتی این مثال را اجرا می کنید، برنامه از شما می خواهد عددی را وارد کنید. با فراخواندن float() ورودی را به یک عدد تبدیل می کند. پس از تبدیل، دستور print() خروجی را نمایش می دهد. وقتی مثال را با استفاده از مقداری مانند 5.5 اجرا می کنید نتیجه دلخواه را بدست می آورید.

بهتر است بدانید که تبدیل داده بدون خطر نیست. اگر سعی کنید چیز دیگری غیر از عدد را بنویسید، همانطور که در تصویر (11) می بینید، یک پیام خطا دریافت می کنید. در مقالات بعدی آموزش برنامه نویسی پایتون در سایت ناگفته چگونگی تشخیص و رفع خطاها را قبل از خرابی سیستم توضیح داده شده است.


تصویر(11): تبدیل داده نوع ورودی را به هر آنچه نیاز دارید تغییر می دهد ، اما می تواند باعث ایجاد خطاهایی شود.

درباره‌ی parvaneh mahmoudi

همچنین ببینید

آموزش پایتون

آموزش مرحله به مرحله پایتون/ قسمت دوم

تعامل برنامه پایتون با سیستم هر برنامه ایی که می نویسید در نهایت با کامپیوتر …

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