دوره ویژه مقدماتی پایتون – Telegram
دوره ویژه مقدماتی پایتون
436 subscribers
248 photos
4 videos
250 links
Download Telegram
🛠شما باید قبل از فراخوانی یک تابع، آن را تعریف کنید. مثل زمانی که شما باید یک متغیر را قبل از استفاده از آن، تعریفش کنید.

Hello()

def Hello() :
print(“hello world!”)

خروجی :
>>> NameError: name ‘Hello’ is not defined
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 69 : کد زیر را به ترتیب نام خطوط مرتب کنید طوری که تایع ()sayHi را تعریف و آن را فراخوانی کنید.
(1) def sayHi() :
(2) sayHi()
(3) print("Hi!")

1️⃣: 2 - 3 - 1
️0%(0)
2️⃣: 1 - 3 - 2
️|||||||||||||||||||||||||||||||||||||||||||||||||99%(73)
3️⃣: 1 - 2 - 3
️1%(1)

👥: 74شرکت در نظر سنجی
✍️ورودی توابع (arguments)

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

def print_with_exclamation(word) :
Print(word + “!”)

Print_with_exclamation(“spam”)
Print_with_exclamation(“eggs”)
Print_with_exclamation(“python”)

خروجی :
Spam!
Eggs!
Python!

📌همان طور که دیدید، ورودی ها داخل پرانتز تعریف می شوند.

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
💡توابعی که دارای ورودی هستند به عنوان توابع داینامیک شناخته می شوند چون بر اساس ورودی های متفاوت، خروجی متفاوتی را ارایه می دهند. اما توابعی که دارای ورودی نیستند و داخل پرانتز آن ها هیچ argument ی وجود ندارد به عنوان توابع static شناخته می شوند، به دلیل اینکه هر بار یک سری اعمال تکراری را انجام میدهند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 70 : خروجی کد زیر چیست؟
def print_double(x):
print( 2 * x )

print_double(3)

1️⃣: error
️0%(0)
2️⃣: 3
️0%(0)
3️⃣: null
️1%(1)
4️⃣: 6
️|||||||||||||||||||||||||||||||||||||||||||||||||99%(75)

👥: 76شرکت در نظر سنجی
✍️ورودی توابع (arguments) - (قسمت دوم)

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

Def print_sum_twice(x, y) :
Print(x + y)
Print(x + y)

Print_sum_twice(5, 8)

خروجی :
>>>
13
13
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 71 : جاهای خالی زیر را طوری پر کنید که تابعی تعریف شود که 2 ورودی را دریافت کند و ضرب آن ها را چاپ کند.
... print_multi (x, y) ...
print (x* ... )

1️⃣: def - : - x
️0%(0)
2️⃣: def - : - y
️|||||||||||||||||||||||||||||||||||||||||||||||||99%(74)
3️⃣: void - ; - y
️1%(1)
4️⃣: def - ; - x
️0%(0)

👥: 75شرکت در نظر سنجی
🛠کد بالا را در نظر بگیرید،

e = input(“enter 1: “)
pint(e)
r = input(“enter 2: “)
print(r)
print_sum_twice(float(e), float(r))

💡چون ورودی که از کاربر گرفته می شود از نوع str است، باید تبدیل به float یا int شود.

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
✍️ورودی توابع (argument) - (قسمت سوم)

ورودی های توابع می توانند به عنوان متغیر های داخل تابع استفاده شوند. اما نمی توانند خارج از تابع مورد استفاده قرار بگیرند. همچنین این موضوع به متغیر های خارج توابع هم می تواند تعمیم داده شود، یعنی متغیر های تعریف شده در خارج توابع، در داخل توابع ناشناخته هستند.

def function(variable) :
variable+=1
print(variable)

function(7)
print(variable)

خروجی :
>>>
8
NameError: name ‘variable’ is not defined
>>>

💡به صورت تکنیکی می توان گفت که در زمان فراخوانی توابع، متغیر های ورودی توابع همان پارامتر ها (parameters) هستند و مقدار های درون آن ها arguments هستند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 72 : جاهای خالی را طوری پر کنید که تابعی تعریف شود که اگر ورودی عددی زوج بود، yes را چاپ کند و در غیر این صورت no را چاپ کند.
... even (x) :
if x%2 == 0:
...("yes")
....
print("no")

1️⃣: def - print - elif
️0%(0)
2️⃣: void - cout - elif
️0%(0)
3️⃣: def - print - else :
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(72)

👥: 72شرکت در نظر سنجی
✍️خروجی گرفتن از تابع (returning from functions)

با ساخت توابعی از نوع str یا int، می توانیم خروجی هایی را دریافت کنیم که بعدا مقدار آن را در کد مورد استفاده قرار دهیم. این کار را با توابعی که ساخته اید، با استفاده از عبارت return انجام دهید.

def max(x, y) :
if x >= y :
return x
else :
return y

print(max(4, 7))
z = max(8, 5)
print (z)

خروجی :
>>>
7
8
>>>

📌عبارت return نمی تواند خارج از تعریف تابع استفاده شود.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 73 : جاهای خالی را طوری پر کنید که تابعی تعریف شود که طول مقادیر ورودی را مقایسه کند و مقدار عدد با طول کوتاهتر را باز گرداند.
def shortest_string(x,y):
if len(x) <= ... (y) ..... x else : ...... y
Anonymous Poll
4%
int - return - print
11%
len - print - print
85%
len - return -return
🛠تفاوت print و return

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

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
✍️لحظه ای که شما یک مقدار را در تابع return می کنید، اجرای تابع تمام می شود و هر کدی بعد از return عملا اجرا نمی شود.

def add_numbers(x, y) :
total = x + y
return total
print (“This won’t be printed”)

print(add_numbers(4, 5))

خروجی :
>>>
9
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 74 : بزرگترین عددی که کد زیر چاپ می کند کدام است؟
def print_numbers()
print(1)
print(2)
return
print(4)
print(6)

1️⃣: 2
️|||||||||||||||||||||||||||||||||||||||78%(51)
2️⃣: 6
️|||||||||18%(12)
3️⃣: error
️|3%(2)
4️⃣: 1
️0%(0)

👥: 65شرکت در نظر سنجی
✍️کامنت (comments)

کامنت ها یادداشت هایی هستند که باعث فهم بهتر کد می شوند. آن ها بر روی اجرای کد هیچ تاثیری ندارند.
در پایتون، یک کامنت با اضافه کردن # (octothrope, number sign, hash symbole) ایجاد می شود. هر نوشته ای پی از علامت # در آن خط، نادیده گرفته می شود.

X = 365
Y = 7
#this is a comment
Print(x%y) #find the remainder
#print (x//y)
#another comment

خروجی :
>>>
1
>>>

📌پایتون دارای قابلیت ایجاد کامنت های چند خطه، روشی که در C وجود دارد، نیست.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 75 : جای خالی را طوری پر کنید که آن خط تبدیل به کامنت شود.
x = 8
... printint x
print(x)

1️⃣: cc
️0%(0)
2️⃣: #
️|||||||||||||||||||||||||||||||||||||||||||||||||98%(62)
3️⃣: %%
️|2%(1)

👥: 63شرکت در نظر سنجی
Docstrings✍️

این نوع از (docstrings (documentation strings مانند کامنت عمل می کند که برای توضیح و تفسیر کد استفاده می شوند. در هر حال این روش خیلی به خصوص است و نشانه ی مخصوص به خود “”” را دارد. این روش برای ایجاد کامنت های چند خطی استفاده می شود و در زیر تعریف تابع، برای تفسیر تابع، در خط اول، قرار می گیرد.

def shout (word) :
“””
Print a word with an
Exclamation mark following it.
“””
Print (word + “!”)

Shout(“spam”)

خروجی :
>>>
spam!
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
⁉️ تست 76 : آیا یک docstring می تواند شامل چندین خط باشد؟؟

1️⃣: بله
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(65)
2️⃣: خیر
️0%(0)

👥: 65شرکت در نظر سنجی
🛠بر خلاف کامنت های معمول، docstring ها در طول اجرای برنامه حفظ می شوند. این روش به برنامه نویس اجازه می دهد که این کامنت ها در زمان اجرا بررسی شوند.

البته این قابلیت با استفاده از سه ‘ پی در پی قابل اجرا است.
‘’’
This is an example
That python doesn’t run this code
Without using # mark
‘’’

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
✍️توابع به عنوان object

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

def multiply (x, y) :
return x * y

a = 4
b = 7
operation = multiply
print(operation(a, b))

خروجی :
>>>
28
>>>

❗️در مثال بالا، تابع multiply به متغیر operation اختصاص داده شده است. پس حالا نام operation را هم می توان برای فراخوانی تابع استفاده کرد.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge