Top Banner
، پایتونسی برنامه نوی درس مبانی6 طالبی هادی اسفند1398
13

یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

Sep 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

درس مبانی برنامه نویسی، پایتون6

هادی طالبی 1398اسفند

Page 2: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

● return خود تابع است و آرگومان آن می تواند عبارت باشد

More about functions with return

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

def area(radius): b = 3.14159 * radius**2 return (b)

def area(radius): return (3.14159 * radius * radius)

Page 3: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

returnتابع با بیش از یک ●

More about functions with return

پایان تابع استاجرا شود returnهر جایی ●

def absolute_value(x): if x < 0: return -x else: return x

Page 4: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

شود call، 0تابع زیر اگر با آرگومان ●

More about functions with return

اشکال تابع چیست؟. است ”None“پاسخ مقدار ویژه ●

def bad_absolute_value(x): if (x < 0): return (-x) elif (x > 0): return (x)

>>> print(bad_absolute_value(0)) None

Page 5: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

با تایپ های متفاوت امکان دارد returnمقدار : در پایتون ●

More about functions with return

>>> def different_types1(x): if (x >= 0): return(x**0.5) # square root return(" Argument must not be Negative") >>> y = different_types1(10) >>> print(y) 3.1622776601683795 >>> y = different_types1(-10) >>> print(y) Argument must not be Negative >>>

Page 6: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

بیش از یک مقدار امکان دارد با returnمقدار : در پایتون ●

More about functions with return

def get_secret_code(password): if(password != "democracy"): return( 0, "Wrong pass.“ ) else: return( 1, "Welcome” ) x = input("Please Enter Password: ") y, z = get_secret_code(x) if(y == 0): print(z, "Enter again") else: print(z, "Continue")

Page 7: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

تکنیک هایی برای برنامه نویسی با هزینه کم ●

Program development

تکنیک هایی برای پیشگیری، کشف خطا ●

Page 8: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

، جدا کن، پیروز شو، است divide and conquerهمان ●

Incremental development

برنامه را در نقاط مناسب نگه داشته و آزمایش کنید ●

حذف . اضافی printو returnمانند : ابزارهای آزمایش ● پس از آزمایش

Page 9: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

نوشتن تابعی برای یافتن فاصله اقلیدسی دو نقطه: مثال ●

Incremental development

0فقط تست ساختار و سینتکس، در این گام، مقدار ● نشاندهنده درستی کار تا اینجا

def distance(x1, y1, x2, y2): return 0.0

شروع با ساختار ساده یک تابع، فقط تست ساختار و ● سینتکس، در این گام

>>> distance(1, 2, 4, 6) 0.0

Page 10: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

افزودن برنامه در چند گام و تست در هر گام ●

Incremental development

:گام دیگر ●

def distance(x1, y1, x2, y2): dx = x2 - x1 dy = y2 - y1 return 0.0

def distance(x1, y1, x2, y2): dx = x2 - x1 dy = y2 - y1 dsquared = dx*dx + dy*dy return 0.0

Page 11: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

:گام پایانی ●

Incremental development

def distance(x1, y1, x2, y2): dx = x2 - x1 dy = y2 - y1 dsquared = dx*dx + dy*dy result = dsquared**0.5 return result

Page 12: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

استفاده زیاد و تو در توی تابع ها ●

Composition

استفاده از توابع می تواند برنامه نویسی را ساده تر کند ●

توابع تا حدی اجرای (.افزایش زمان اجرا)کند شدن برنامه : هزینه ● .برنامه را کند می کنند

Page 13: یبلاط یاه 1398 دنفسا - ce.sharif.educe.sharif.edu/courses/98-99/2/ce153-6/resources/root/Lectures/Lec6.pdfreturn کی زا شیب اب عبات More about functions with

تمرین

از کتاب را حل کنید 6.9تمرین های با شماره فرد بخش ●