جشنواره فطر سون لرن

کلید واژه های پایتون - آموزش مقدماتی پایتون - قسمت ششم

دسته بندی: پایتون
زمان مطالعه: 8 دقیقه
۰۳ فروردین ۱۳۹۹

کلید واژه‌های پایتون:

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

فهرست محتوای این مقاله

تعریف کلید واژه یا keyword

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

False, elif, lambda, None, else, nonlocal, True, except, not, and, finally, or,
 as, for, pass, assert, from, raise, break, global, return, class, if, try,
 continue, import, while, def, in, with, del, is, yield,

چگونه بررسی کنیم که یک رشته کلید واژه است؟

پایتون یک ماژول به نام keyword دارد که عملیات خاصی را در ارتباط با کلید ‌واژه‌‌ها انجام می‌دهد. در این ماژول یک تابع به نام ()iskeyword دارد که با استفاده از آن می‌توان چک کرد که آیا یک رشته جز کلید واژه‌های پایتون است یا خیر. این تابع مقدار True‌ را برمی‌گرداند اگر رشته داده شده به آن یک کلید واژه باشد در غیر این‌صورت مقدار False برگردانده می‌شود. برای روشن موضوع به مثال زیر توجه کنید:

#Python code to demonstrate working of iskeyword() 

# importing "keyword" for keyword operations 
import keyword 

# initializing strings for testing 
s = "for"
s1 = "7learn.ac"
s2 = "elif"
s3 = "elseif"
s4 = "Ali Mohammadi"
s5 = "assert"
s6 = "Avand"
s7 = "True"
s8 = "False"
s9 = "Amozesh"
s10 = "Video"
s11 = "break"
s12 = "Tehran"
s13 = "lambda"
s14 = "Covid-19"
s15 = "try"
s16 = "Labtop"

# checking which are keywords 
if keyword.iskeyword(s): 
		print ( s + " is a python keyword") 
else : print ( s + " is not a python keyword") 

if keyword.iskeyword(s1): 
		print ( s1 + " is a python keyword") 
else : print ( s1 + " is not a python keyword") 

if keyword.iskeyword(s2): 
		print ( s2 + " is a python keyword") 
else : print ( s2 + " is not a python keyword") 

if keyword.iskeyword(s3): 
		print ( s3 + " is a python keyword") 
else : print ( s3 + " is not a python keyword") 

if keyword.iskeyword(s4): 
		print ( s4 + " is a python keyword") 
else : print ( s4 + " is not a python keyword") 

if keyword.iskeyword(s5): 
		print ( s5 + " is a python keyword") 
else : print ( s5 + " is not a python keyword") 

if keyword.iskeyword(s6): 
		print ( s6 + " is a python keyword") 
else : print ( s6 + " is not a python keyword") 

if keyword.iskeyword(s7): 
		print ( s7 + " is a python keyword") 
else : print ( s7 + " is not a python keyword") 

if keyword.iskeyword(s8): 
		print ( s8 + " is a python keyword") 
else : print ( s8 + " is not a python keyword") 

if keyword.iskeyword(s9): 
		print ( s9 + " is a python keyword") 
else : print ( s9 + " is not a python keyword") 

if keyword.iskeyword(s10): 
		print ( s10 + " is a python keyword") 
else : print ( s10 + " is not a python keyword") 

if keyword.iskeyword(s11): 
		print ( s11 + " is a python keyword") 
else : print ( s11 + " is not a python keyword") 

if keyword.iskeyword(s12): 
		print ( s12 + " is a python keyword") 
else : print ( s12 + " is not a python keyword") 

if keyword.iskeyword(s13): 
		print ( s13 + " is a python keyword") 
else : print ( s13 + " is not a python keyword") 

if keyword.iskeyword(s14): 
		print ( s14 + " is a python keyword") 
else : print ( s14 + " is not a python keyword") 

if keyword.iskeyword(s15): 
		print ( s15 + " is a python keyword") 
else : print ( s15 + " is not a python keyword") 

if keyword.iskeyword(s16): 
		print ( s16 + " is a python keyword") 
else : print ( s16 + " is not a python keyword") 

lseif is not a python keyword

Ali Mohammadi is not a python keyword

assert is a python keyword

Avand is not a python keyword

True is a python keyword

False is a python keyword

Amozesh is not a python keyword

Video is not a python keyword

break is a python keyword

Tehran is not a python keyword

lambda is a python keyword

Covid-19 is not a python keyword

try is a python keyword

Labtop is not a python keyword

چگونه لیستی از کلید واژه‌های پایتون را به‌دست آوریم؟

واضح است به خاطر سپردن همه‌ی کلید واژه‌های پایتون امکان‌پذیر نیست. پایتون در ماژول keyword‌ یک تابع به نام ()kwlist دارد که کلیه ۳۳ کلید واژه‌های پایتون را برای شما چاپ می‌کند. به کد زیر توجه کنید:

#Python code to demonstrate working of iskeyword() 

# importing "keyword" for keyword operations 
import keyword 

# printing all keywords at once using "kwlist()" 
print ("The list of keywords is : ") 
print (keyword.kwlist) 

 

The list of keywords is : ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

چگونه می‌توان یک مقدار را به یک متغیر نسبت داد؟

در مقاله‌ی چهارم آموزش مقدماتی پایتون در مورد فضای‌نام بیان شد که پایتون در فرآیند یک عبارت جایگزینی یک شی ایجاد و آن را به یک نام نسبت می‌دهد. صرف نظر از جزییات عملکرد مفسر پایتون نسبت دادن یک مقدار به یک متغیر به دو روش انجام می‌شود.

  • روش جایگزینی مستقیم
  • به‌کارگیری اپراتور شرطی

در ادامه با کدهای ساده این دو روش را نشان می‌دهیم.

روش جایگزینی مستقیم

# Python 3 code to demonstrate variable assignment 
# upon condition using Direct assignment Method 

# assignment  variable directly 
a = 5

# printing value of a 
print ("The value of a is: " + str(a)) 

 

The value of a is: 5

در این مثال مقدار شی ۵ به نام a نسبت داده می‌شود.

به‌کارگیری اپراتور شرطی:

# Python 3 code to demonstrate variable assignment 
# upon condition using One liner if-else 

# assignment variable using Conditional Operator 
a = 1 if 20 > 10 else 0

# printing value of a 
print ("The value of a is: " + str(a)) 

 

The value of a is: 1

در این روش مقدار جایگزینی بر اساس بررسی یک شرط تک‌خطی انجام می‌شود. در این شرط تک‌خطی اگر عبارت منطقی ۱۰<۲۰ درست باشد در متغیر مقدار ۱ در غیر این‌صورت مقدار ۰ جایگزین می‌شود. شکل کلی روش شرط تک‌خطی به صورت زیر است:

variable_name = [on_true] if [expression] else [on_false] 

چگونه می‌توان یک مقدار بدون ایجاد یک خط جدید چاپ کرد؟

در پایتون برای چاپ مقدار یک متغیر از تابع ()print استفاده می‌شود. این تابع به‌طور پیش‌فرض در انتهای چاپ یک خط جدید ایجاد می‌کند. به عبارت دیگر پایتون دارای یک فرمت چاپ خروجی از پیش تعریف شده است که به‌طور اتوماتیک بعد از چاپ مقدار متغیر کنترل به خط بعدی منتقل می‌شود. اما، در C یا ++C این‌طور نیست. برای مثال:

print("7learn.ac") 
print("WelCome to our academy") 

 

7learn.ac

WelCome to our academy.

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

پایتون ۲:

در پایتون۲ چاپ بدون خط جدید به صورت زیر است:
# Python 2 code for printing 
# on the same line printing 
# 7learn.ac and WelCome to our academy
# in the same line 

print("7learn.ac, "), 
print("WelCome to our academy") 

# array 
a = [1, 2, 3, 4] 

# printing a element in same 
# line 
for i in range(4): 
	print(a[i]), 

7learn.ac,  WelCome to our academy

1 2 3 4

پایتون ۳:

در پایتون ۳ نیز برای چاپ کردن مقادیر متغیرها بدون ایجاد خط جدید به صورت زیر عمل می‌کنیم:

# Python 3 code for printing 
# on the same line printing 
# 7learn.ac and WelCome to our academy
# in the same line 

print("7learn.ac, ", end =" ") 
print("WelCome to our academy") 

# array 
a = [1, 2, 3, 4] 

# printing a element in same 
# line 
for i in range(4): 
	print(a[i], end =" ") 

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

جمع‌بندی:

کلید واژه‌های پایتون ۳۳ تا است، که برنامه‌ نویس مجاز به استفاده از آن برای نام متغیرها نیست. پایتون دارای ماژول keyword‌ است که از توابع و متدهای آن می‌توان برای صحت این‌که نام یک متغیر جزو کلمات‌ کلیدی هست یا نه استفاده کرد. همچنین، می‌توان لیستی از کلید واژه‌‌های پایتون نیز به‌دست آورد. یک روش معمول و کاربردی برای نسبت دادن یک مقدار به یک متغیر استفاده از شرط تک‌ خطی است. همچنین، پایتون بر عکس C و ++C در چاپ مقدار متغیر به طور پیش‌فرض یک خط جدید ایجاد می‌کند. برای جلوگیری کافی است که در دستور ()print‌ از ""=end استفاده شود. فرمان پرینت قالب‌بندی شده در پایتون را می‌توانید در اینجا مطالعه کنید.در مقاله‌ی بعدی به موضوع ورودی و خروجی در پایتون پرداخته خواهد شد.

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

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :