کلیدواژه‌های پایتون – بخش دوم

بفرست برای دوستت
Telegram
WhatsApp

فهرست مطالب

در درس سوم از آموزش رایگان پایتون برخی از مهمترین کلیدواژه های پایتون را با هم بررسی کردیم، در این درس می خواهیم ادامه این کلمات کلیدی پایتون را با هم یاد بگیریم.

 

کلیدواژه‌های ساختاری در پایتون: def، class، with، as، pass، lambda

     در پایتون def

کلیدواژه def برای تعریف توابع توسط کاربر استفاده می‌شود.

کد زیر تابعی به نام fun را با استفاده از کلیدواژه def تعریف می‌کند. زمانی که تابع با استفاده از ()fun فراخوانی می‌شود، “Inside Function” در خروجی چاپ می‌شود. این کد استفاده از کلیدواژه def را برای تعریف و فراخوانی یک تابع در پایتون نشان می‌دهد.

 

استفاده از کلید واژه def در پایتون 

def fun():
	print("Inside Function")


fun()

خروجی:

Inside Function

 

class در پایتون

کلیدواژه class برای اعلام کلاس‌های تعریف شده توسط کاربر به کار می‌رود.

 

استفاده از کلیدواژه Class در پایتون

کد زیر یک کلاس پایتون به نام Dog را با دو ویژگی کلاسی، attr1 و attr2، و یک متد به نام fun که این ویژگی‌ها را چاپ می‌کند، تعریف می‌کند.

در ابتدا یک شیء به نام Rodger از کلاس Dog ایجاد می‌شود، این شی به ویژگی‌های کلاس دسترسی پیدا می‌کند، و متد را فراخوانی می‌کند. و در نهایت هنگام اجرا، مقادیر attr1 و attr2 را چاپ می‌کند و متد این مقادیر را نمایش می‌دهد که منجر به خروجی نشان داده شده می‌شود.

class Dog:
	attr1 = "mammal"
	attr2 = "dog"

	def fun(self):
		print("I'm a", self.attr1)
		print("I'm a", self.attr2)

Rodger = Dog()
print(Rodger.attr1)
Rodger.fun()

خروجی:

mammal
I'm a mammal
I'm a dog

 

With در پایتون

کلیدواژه with برای بسته‌بندی اجرای یک بلوک کد درون متدهای تعریف شده توسط مدیریت کنتکست (context manager) استفاده می‌شود. این کلیدواژه در برنامه‌نویسی روزمره زیاد استفاده نمی‌شود.

 

استفاده از کلیدواژه With در پایتون

این کد نشان می‌دهد چگونه از دستور with برای باز کردن یک فایل به نام ‘file_name‘ در حالت نوشتن (‘w‘) استفاده می‌شود. این کد متن ‘ !hello world‘ را داخل فایل می‌نویسد و به طور خودکار باز و بسته شدن فایل را مدیریت می‌کند. دستور with برای مدیریت بهتر منابع استفاده می‌شود و اطمینان حاصل می‌کند که فایل پس از اجرای بلوک به درستی بسته شود.

# using with statement
with open('file_name', 'w') as file:
	file.write('hello world !')

 

as در پایتون

یکی از کاربردهای کلیدواژه as ایجاد یک نام مستعار برای ماژول وارد شده به برنامه است. یعنی به ماژول وارد شده یک نام جدید داده می‌شود. به عنوان مثال، import math as mymath.

 

  ساختاردهی به برنامه‌ های پایتون

استفاده از کلیدواژه as در پایتون

این کد از ماژول ریاضی پایتون استفاده می‌کند که با نام مستعار gfg وارد برنامه می‌شود. این کد فاکتوریل 5 را محاسبه و چاپ می‌کند. تابع ()math.factorial برای محاسبه فاکتوریل یک عدد به کار می‌رود و در این مورد، فاکتوریل 5 را که برابر با 120 است، محاسبه می‌کند. 

import math as gfg

print(gfg.factorial(5))

خروجی:

120

 

pass در پایتون

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

 

استفاده از کلیدواژه Pass در پایتون

کد زیر شامل یک حلقه for است که باید 10 بار تکرار شود اما به علت وجود دستور موقت ‘pass‘، هیچ اقدام خاصی درون حلقه انجام نمی‌گیرد. بنابراین چیزی در خروجی چاپ نمی‌شود.

n = 10
for i in range(n):

	# pass can be used as placeholder
	# when code is to added later
	pass

 

Lambda در پایتون

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

 

کلیدواژه Lambda در پایتون

کد زیر یک تابع Lambda به نام g را تعریف می‌کند که یک آرگومان x می‌گیرد و x به توان سه را برمی‌گرداند. سپس این تابع Lambda با آرگومان 7 فراخوانی می‌شود و نتیجه چاپ می‌گردد. در این مورد، مکعب 7 که برابر با 343 است، محاسبه و چاپ می‌شود.

# Lambda keyword
g = lambda x: x*x*x

print(g(7))
خروجی:

343

 

کلیدواژه‌های بازگشتی در پایتون – Return، Yield

return

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

 

yield

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

 

استفاده از کلیدواژه‌های Return و Yield در پایتون

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

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

# Return keyword
def fun():
	S = 0

	for i in range(10):
		S += i
	return S


print(fun())

# Yield Keyword


def fun():
	S = 0

	for i in range(10):
		S += i
		yield S


for i in fun():
	print(i)

خروجی:

45
0
1
3
6
10
15
21
28
36
45

 

در پایتون Import, from کلید واژه‌های

import

این دستور برای وارد کردن یک ماژول خاص به برنامه جاری استفاده می‌شود.

 

  بررسی دقیق مجموعه‌ ها در پایتون

from

معمولاً همراه با import استفاده می‌شود، from برای وارد کردن عملکردها و یابخش‌هایی خاص از ماژول وارد شده به برنامه کار می‌رود.

 

استفاده از کلیدواژه‌های Import و From در پایتون

کلیدواژه ‘import‘ برای وارد کردن ماژول‌ها یا توابع/کلاس‌های خاص از ماژول‌ها به کار می‌رود و آن‌ها را در کد شما قابل دسترس می‌کند.

کلیدواژه ‘from‘ همراه با ‘import‘ برای مشخص کردن توابع یا کلاس‌های خاصی که می‌خواهید از یک ماژول وارد کنید، استفاده می‌شود. در این مثال، در هر دو روش تابع ‘factorial‘ از ماژول ‘math‘ وارد برنامه می‌شود، که امکان استفاده مستقیم از آن را در کد برای شما فراهم می‌کند. 

# import keyword
from math import factorial
import math
print(math.factorial(10))

# from keyword
print(factorial(10))

خروجی:

3628800
3628800

کلیدواژه‌های مدیریت استثنا در پایتون try، except، raise، finally، و assert

try

این کلیدواژه برای مدیریت استثناها به کار می‌رود، و برای گرفتن خطاها در کد با استفاده از کلیدواژه except استفاده می‌شود. کد در بلوک “try” بررسی می‌شود، اگر هر نوع خطایی در برنامه وجود داشته باشد، بلوک except اجرا می‌شود.

 

except

همانطور که بالاتر توضیح داده شد، این دستور همراه با “try” برای گرفتن استثناها کار می‌کند.

 

finally

صرف نظر از نتیجه بلوک “try“، بلوک “finally” همیشه اجرا می‌شود.

 

raise

ما می‌توانیم به طور صریح با کلیدواژه raise یک استثنا ایجاد کنیم.

 

assert

این تابع برای اهداف اشکال‌زدایی استفاده می‌شود. و معمولاً برای بررسی صحت کد به کار برده می‌شود. اگر یک بیانیه درست (true) ارزیابی شود، هیچ اتفاقی نمی‌افتد، اما وقتی که غلط (false) باشد، “AssertionError” ایجاد می‌شود. می‌توان همراه با خطا یک پیام نیز چاپ کرد، که پیام مورد نظر با کاما از بدنه دستور جدا می شود.

 

استفاده از کلیدواژه‌های try، except، raise، finally، و assert در پایتون

مثال 1: کد ارائه شده در زیر، استفاده از چندین کلیدواژه در پایتون را نشان می‌دهد:

1. try و except: برای مدیریت استثناها، به ویژه ZeroDivisionError، استفاده می‌شود و اگر این خطا رخ دهد یک پیام خطا چاپ می‌کند.

2. finally: این بلوک همیشه اجرا می‌شود و پیام “This is always executed” را چاپ می‌کند، صرف نظر از اینکه آیا استثنا رخ داده است یا نه.

3. assert: یک شرط را بررسی می‌کند، و اگر False باشد، یک AssertionError با پیام “Divide by 0 error” ایجاد می‌کند.

4. raise: اگر شرط مورد نظر برقرار نشود یک استثنای سفارشی (TypeError) با یک پیام خطای مشخص ایجاد می‌کند.

a = 4
b = 0
try:
	k = a//b
	print(k)
except ZeroDivisionError:
	print("Can't divide by zero")

finally:
	print('This is always executed')

print("The value of a / b is : ")
assert b != 0, "Divide by 0 error"
print(a / b) 

خروجی:

Can't divide by zero
This is always executed
:The value of a / b is
AssertionError: Divide by 0 error

مثال 2: این کد از کلیدواژه raise برای ایجاد یک استثنای سفارشی TypeError استفاده می‌کند، در این کد اگر دو رشته با هم برابر نباشند این خطا ایجاد می‌شود.

temp = "geeks for geeks"
if temp != "geeks":
	raise TypeError("Both the strings are different.")

خروجی:

TypeError: Both the strings are different.

del در پایتون

del برای حذف ارجاع به یک شیء استفاده می‌شود. هر متغیر یا مقدار لیستی می‌تواند با استفاده از del حذف شود.

 

  دستور، تورفتگی و کامنت در پایتون

استفاده از کلیدواژه del در پایتون

در این کد، متغیرهای my_variable1 و my_variable2 ابتدا تعریف می‌شوند و سپس با استفاده از کلیدواژه del حذف می‌شوند. وقتی سعی کنید پس از حذف آنها را چاپ کنید، با یک NameError مواجه خواهید شد زیرا دیگر این متغیرها وجود ندارند. 

my_variable1 = 20
my_variable2 = "datayad"
print(my_variable1)
print(my_variable2)
del my_variable1
del my_variable2
print(my_variable1)
print(my_variable2)

خروجی:

20
datayad
NameError: name 'my_variable1' is not defined

 

کلیدواژه‌ های Global و Nonlocal در پایتون

global

این کلمه کلیدی برای تعریف یک متغیر درون تابع به عنوان یک متغیر با دامنه سراسری (global) استفاده می‌شود.

 

non-local

این کلمه کلیدی مشابه با global عمل می‌کند، اما برخلاف global، این کلمه کلیدی در زمان استفاده از توابع تو در تو، به یک متغیر خارج از تابع تو در توی مورد استفاده، اشاره می کند.

 

استفاده از کلمه‌های کلیدی Global و Nonlocal در پایتون

در این کد، کلمه کلیدی ‘global‘ برای تعریف متغیرهای سراسری ‘a‘ و ‘b‘ استفاده شده است. سپس یک تابع به نام ‘add‘ وجود دارد که این متغیرهای سراسری را جمع می‌کند و نتیجه را چاپ می‌کند.

بخش دوم کد نحوه استفاده از کلمه کلیدی ‘nonlocal‘ را نشان می‌دهد. تابع fun شامل متغیر var1 است و در داخل تابع تو در تو gun از nonlocal استفاده می‌شود تا نشان دهد می‌خواهیم متغیر var1 که در تابع محیطی خارجی fun تعریف شده است را تغییر دهیم. این مقدار متغیر var1 را افزایش داده و چاپ می‌کند.

a = 15
b = 10
def add():
	c = a + b
	print(c)
add()
def fun():
	var1 = 10

	def gun():
		nonlocal var1
		
		var1 = var1 + 10
		print(var1)

	gun()
fun()

خروجی:

25
20

Rating 5.00 from 1 votes

لیست دروس دوره

آموزش پیشنهادی و مکمل

اگر سوالی در مورد این درس دارید، در کادر زیر بنویسید.

guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
سبد خرید

جشنواره دوره جامع متخصص علم داده شروع شد

برای دیدن نوشته هایی که دنبال آن هستید تایپ کنید.
×