در این مقاله نشان داده میشود که علاوه بر نوشتن یک برنامه توسط خودتان، میتوانید از یک کتابخانهی پایتون برای پیداکردن همهی این کلمات استفاده کنید. و فرا خواهید گرفت که یکی از روشهای مهم در جایگزینی علاوه بر عبارت جایگزینی مستقیم از عبارت شرطی استفاده کرد. همچنین، در پایتون چاپ مقادیر به طور پیش فرض با یک خط خالی همراه است. همچنین در این مقاله نشان داده میشود که میتوان حالت پیشفرض را تغییر داد و مقادیر را در یک خط چاپ کرد.
تعریف کلید واژه یا 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") ۷learn.ac WelCome to our academy.
پایتون ۲:
# Python 2 code for printing # on the same line printing # ۷learn.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]), ۷learn.ac, WelCome to our academy ۱ ۲ ۳ ۴
پایتون ۳:
در پایتون ۳ نیز برای چاپ کردن مقادیر متغیرها بدون ایجاد خط جدید به صورت زیر عمل میکنیم:
# Python 3 code for printing # on the same line printing # ۷learn.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 استفاده شود. فرمان پرینت قالببندی شده در پایتون را میتوانید در اینجا مطالعه کنید.در مقالهی بعدی به موضوع ورودی و خروجی در پایتون پرداخته خواهد شد.