دوره ویژه مقدماتی پایتون – Telegram
دوره ویژه مقدماتی پایتون
436 subscribers
248 photos
4 videos
250 links
Download Telegram
✍️ مقادیر دیفالت

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

مثال :
def function(x, y, food = "spam") :
print(food)

function(1,2)
function(3,4,"egg")

خروجی :
»>
spam
egg
»>

📌در این حالت زمانی که به ورودی ای که مقدار پیش فرض داشته مقدار جدیدی پاس داده می شود، مقدار پیش فرض نادیده گرفته می شود.

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

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

🆔 : @pythonchallenge
⁉️ تست 187 : در کد زیر چه مشکلی وجود دارد؟
def function(x, y = 7, z,*argums):

1️⃣: عبارت argums* در آخر آمده است.
️0%(0)
2️⃣: یک ورودی که دارای مقدار پیش فرض نیست بعد از ورودی ای که دارای مقدار پیش فرض است آمده است.
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(8)
3️⃣: عبارت argums* به جای عبارت args* استفاده شده است.
️0%(0)

👥: 8شرکت در نظر سنجی
✍️ ورودی های توابع

عبارت kwargs** که مخفف keyword arguments است این قابلیت را ایجاد می کند تا مقادیری را که از قبل تعریف نکرده بودید بتوانید کنترل کنید.

مثال :
def my_func(x, y-=7, *args, kwargs):
print(kwargs)

my_func(2, 3, 4, 5, 6, a=7, b=8)

خروجی :
»>
{'a' : 7, 'b' : 8}
»>

⚠️ در مثال بالا a و b نام های ورودی هایی هستند که به تابع پاس داده ایم.

📌 ورودی های که kwargs
شامل args* نمی شوند.

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

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

🆔 : @pythonchallenge
⁉️ تست 188 : عبارت kwargsاز چه نوعی هستند؟

1️⃣: set
️0%(0)
2️⃣: list
️0%(0)
3️⃣: dictionary
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(7)

👥: 7شرکت در نظر سنجی
✍️tuple unpacking

این روش به شما اجازه می دهد تا به صورت تکرار شونده مقادیر را اختصاص دهید.

مثال :
numbers = (1,2,3)
a, b, c = numbers
print(a)
print(b)
print(c)

خروجی :
»>
1
2
3
»>

📌این روش همچنین می تواند برای روش Swap هم استفاده شود.

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

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

🆔 : @pythonchallenge
⁉️ تست 189 : مقدار y پس از اعمال کد زیر چه چیزی خواهد بود؟
x, y = [1, 2]
x, y = y, x

1️⃣: 1
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(6)
2️⃣: 2
️0%(0)
3️⃣: error
️0%(0)

👥: 6شرکت در نظر سنجی
✍️tuple unpacking

زمانی که یک متغیر با * همراه می شود، همه ی مقادیری را که به متغیر های دیگر نمی توانند اختصاص پیدا کنند را میگیرد.

مثال :
a, b, *c, d = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a)
print(b)
print(c)
print(d)

خروجی :
»>
1
2
[3,4,5,6,7,8]
9
»>

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

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

🆔 : @pythonchallenge
⁉️ تست 190 : خروجی کد زیر چیست؟
a, b, c, d, *e, f, g = range(20)
print(len(e))

1️⃣: 14
️|||||||||||||||||||||||||||||||63%(5)
2️⃣: valuerror
️||||||13%(1)
3️⃣: 1
️||||||||||||25%(2)
4️⃣: 15
️0%(0)

👥: 8شرکت در نظر سنجی
✍️عملگر ternary

می توان شرایطی را فراهم کرد که با کد دستوری کمتر از عبارت if استفاده کرد. البته نباید بی مورد استفاده شوند حتی با اینکه باعث خوانایی بهتر برنامه می شوند. این حالت برای زمانی خوب است که میخواهیم مقداری را به یک متغیر اختصاص دهیم.

مثال :
a = 7
b = 1 if a >= 5 else 42
print(b)

خروجی :
»>
1
»>

📌عملگر های ternary شرایط را بررسی می کنند و مقدار متناظر را بر می گردانند. در مثال بالا اگر شرط درست باشد b مقدار 1 را می گیرد. اما اگر a کمتر از 5 باشد، عدد 42 به b اختصاص پیدا می کند.

⚠️مثال دیگر :
status = 1
msg = "logout" if status == 1 else "login"

💡عملگر ternary همیشه 3 ورودی می گیرد.

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

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

🆔 : @pythonchallenge
⁉️ تست 191 : مقدار b چقدر است؟
b = 1 if 2+2 == 5 else 2

1️⃣: 5
️0%(0)
2️⃣: 2
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(7)
3️⃣: 1
️0%(0)
4️⃣: b
️0%(0)

👥: 7شرکت در نظر سنجی
✍️else

دستور else همیشه با if همراه می شود اما در شرایطی می تواند با دستور for و while هم بیاید. در دستور های while و for، زمانی دستور else اجرا می شود که دستورات درون حلقه ها به صورت نرمال تموم شده باشند نه اینکه با break به اتمام برسد.

مثال :
for i in range(10)
if i == 999 :
break
else :
print("unbroken 1")
for i in range(10):
if i ==5 :
break
else :
print("unbroken 2")

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

📌حلقه ی اول به صورت نرمال به اتمام می رسد که عبارت unbroken 1 چاپ می شود. حلقه ی دوم به دلیل اجرای break، دستور else اجرا نمی شود.

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

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

🆔 : @pythonchallenge
⁉️تست 192 : بزرگترین عددی که این کد چاپ می کند چیست؟
for i in range(10) :
if i>5
print(i)
break
else :
print("7")

1️⃣: 5
️0%(0)
2️⃣: 6
️||||||||17%(1)
3️⃣: 7
️|||||||||||||||||||||||||||||||||||||||||83%(5)
4️⃣: 1
️0%(0)

👥: 6شرکت در نظر سنجی
✍️else

همچنین این دستور می تواند با عبارت try/except هم اجرا شود. در این حالت هم دستور else زمانی اجرا می شود که در دستور try هیچ اروری رخ ندهد.

مثال :
try :
print(1)
except ZeroDivisionError :
print(2)
else :
print(3)

try :
print(1/0)
except ZeroDivisionError :
print (4)
else :
print(5)

خروجی :
»>
1
3
4
»>

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

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

🆔 : @pythonchallenge
⁉️ تست 193 : مجموع اعدادی که با کد زیر چاپ می شود چیست؟
try :
print(1)
print(1+"1" == 2)
print(2)
except TpeError:
print(3)
else:
print(4)

1️⃣: 9
️0%(0)
2️⃣: 7
️0%(0)
3️⃣: 4
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(6)

👥: 6شرکت در نظر سنجی
✍️__main__

بیشتر کد های پایتون یا ماژول هایی هستند که باید import شوند و یا کد هایی هستند که باید اجرا شوند. اما با این حال، گاهی خیلی مفید است که بتوانیم فایلی داشته باشیم که هم بتوان آن را import کرد و هم به صورت کد آن را اجرا کرد. برای انجام این کار از کد زیر استفاده می کنیم:
if __name__ == "__main__"

مثال :
def function():
print("this is a module function")

if __name__ == "__main
__":
print("this is a noscript")

خروجی :
»>
this is a noscript
»>

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

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

🆔 : @pythonchallenge
⁉️ 194 : اگر کد زیر به عنوان یک ماژول import شود، کدام یک از متغیر های زیر قابل دسترس نیست؟
x = 1
y = x
if __name == "main__":
z = 3

1️⃣: x
️0%(0)
2️⃣: y
️0%(0)
3️⃣: z
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(8)

👥: 8شرکت در نظر سنجی
✍️main

اگر ما کدی که در پست قبل بررسی کردیم را در یک فایل به نام sololearn.py ذخیره کنیم، می توانیم آن را به عنوان ماژول در کد دیگری import کنیم.

فایل sololearn.py :
def function():
print("this is a module function")

if __name__ == "__main
__":
print("this is a noscript")

کد برنامه اصلی :
import sololearn

sololearn.function()

خروجی :
»>
this is a module function
»>

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

🆔 : @pythonchallenge
✍️ برخی از کتابخانه های مهم در پایتون

Django :
برای نوشتن اغلب فریم ورک های صفحات وب در پایتون از این کتابخانه استفاده می شود. Django در نوشتن instagram و Disqus استفاده شده است. Django بسیاری ویژگی های پر کاربرد دارد که حتی اگر قابلیت مورد نظر شما در آن وجود نداشته باشد، میتوان از extention package ها استفاده کرد. البته CherryPy و Flask هم فریم ورک های معروفی در نوشتن صفحات وب هستند.

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

🆔 : @pythonchallenge
✍️ برخی از کتابخانه های مهم در پایتون

برخی کتابخانه های مهم که در محاسبات علمی و ریاضی استفاده می شوند هم در پایتون وجود دارد.
ماژول matplotlib به شما این امکان را می دهد تا بر اساس داده در پایتون گراف هایی را بسازید.
ماژول NumPy به شما این امکان را می دهد تا از آرایه های چند بعدی به جای حلقه های تو در تو استفاده کنید. همچنین این کتابخانه به شما اجازه می دهد تا محاسبان ماتریسی و انتقالات آن ها را به آسانی انجام دهید.
کتابخانه SciPy شامل بسیاری از extentionهای NumPy است.
پایتون هم چنین می تواند برای گسترش game هم استفاده شود. معمولا پایتون برای اسکریپت کردن بازی هایی که در زبان های دیگر نوشته شده اند استفاده می شود. اما با این حال خود پایتون به تنهایی هم می تواند برای کد نویسی بازی ها مورد استفاده قرار بگیرد.

📌برای بازی های سه بعدی از کتابخانه Panda3D و برای بازی های 2 بعدی می توان از pygame استفاده کرد.

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

🆔 : @pythonchallenge
✍️packaging

در پایتون مفهوم packaging به این معنی است که ماژول هایی را که ما نوشته ایم را به صورت استاندارد درآوریم تا دیگر برنامه نویس ها هم بتوانند این کد ها را به راحتی استفاده کنند.
اولین مرحله در packaging این است که فایل های موجود را سازماندهی کنید. همه ی فایل های موجود را باید درکتابخانه ی parent باید قرار دهید که شامل یک فایل به نام init__.py__ باشد که می تواند حتی خالی باشد اما باید حتما وجود داشته باشد.
این دایرکتوری داخل دایرکتوری دیگر که شامل فایل readme و license است و فایل setup.py می رود.

مثالی از ساختار دایرکتوری :
SoloLearn/
LICENSE.txt
README.txt
setup.py
sololearn/
__init__.py
sololearn.py
sololearn2.py

📌شما می توانید هر چند تا فایل اسکریپتی که احتیاج دارید در فایل دایرکتوری قرار دهید.

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

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

🆔 : @pythonchallenge
⁉️ تست 195 : کدام یک از فایل های زیر در دایرکتوری قرار می گیرد تا از آن یک package بسازد؟

1️⃣: __package__.py
️0%(0)
2️⃣: __init__.py
️||||||||||||||||||||||||||||||||||||||||||||||92%(12)
3️⃣: __main__.py
️||||8%(1)

👥: 13شرکت در نظر سنجی