پایتون – نحو (Syntax) نحو پایتون مجموعهای از قواعد است که برای ایجاد یک برنامه پایتون استفاده میشود. نحو زبان برنامهنویسی پایتون شباهتهای زیادی با زبانهای برنامهنویسی Perl، C و Java دارد. با این حال، تفاوتهای قابل توجهی بین این زبانها وجود دارد.
اولین برنامه پایتون بیایید یک برنامه پایتون اجرا کنیم که “Hello, World!” را در دو حالت مختلف برنامهنویسی پایتون چاپ کند. (الف) حالت برنامهنویسی تعاملی (Interactive Mode) (ب) حالت برنامهنویسی اسکریپتی (Script Mode).
پایتون – برنامهنویسی حالت تعاملی ما میتوانیم مفسر پایتون را از خط فرمان با تایپ کردن python در دستور خط فرمان فراخوانی کنیم، به شرح زیر:
$ python3 Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
در اینجا >>> نماد دستور پایتون است که میتوانید دستورات خود را در آن تایپ کنید. حالا بیایید متن زیر را در دستور پایتون تایپ کرده و کلید Enter را فشار دهیم:
>>> print ("Hello, World!")
اگر شما از نسخه قدیمیتری از پایتون استفاده میکنید، مانند پایتون 2.4.x، باید از دستور print بدون پرانتز استفاده کنید، مانند print “Hello, World!” اما در نسخه پایتون 3.x، این دستور نتیجه زیر را تولید میکند:
Hello, World!
پایتون – برنامهنویسی حالت اسکریپتی ما میتوانیم مفسر پایتون را با یک پارامتر اسکریپت فراخوانی کنیم که اجرای اسکریپت را آغاز کرده و تا زمانی که اسکریپت تمام شود ادامه میدهد. وقتی اسکریپت تمام شد، مفسر دیگر فعال نخواهد بود.
بیایید یک برنامه ساده پایتون در یک اسکریپت بنویسیم که یک فایل متنی ساده است. فایلهای پایتون دارای پسوند .py هستند. کد منبع زیر را در یک فایل test.py تایپ کنید:
print ("Hello, World!")
ما فرض میکنیم که مسیر مفسر پایتون در متغیر PATH تنظیم شده است. حالا بیایید تلاش کنیم تا این برنامه را به شرح زیر اجرا کنیم:
$ python3 test.py
این نتیجه زیر را تولید میکند:
Hello, World!
حال بیایید روش دیگری برای اجرای یک اسکریپت پایتون امتحان کنیم. در اینجا فایل test.py اصلاح شده است:
#!/usr/bin/python3 print ("Hello, World!")
ما فرض میکنیم که مفسر پایتون در دایرکتوری /usr/bin موجود است. حالا تلاش کنید این برنامه را به شرح زیر اجرا کنید:
$ chmod +x test.py # This is to make file executable $./test.py
این نتیجه زیر را تولید میکند:
Hello, World!
شناسهها در پایتون یک شناسه پایتون نامی است که برای شناسایی یک متغیر، تابع، کلاس، ماژول یا هر شیء دیگری استفاده میشود. یک شناسه با یک حرف از A تا Z یا از a تا z یا یک خط پایین (_) شروع میشود، و پس از آن میتواند شامل صفر یا بیشتر حروف، خط پایین و ارقام (0 تا 9) باشد.
پایتون اجازه نمیدهد که کاراکترهای علامتگذاری مانند @، $ و % در شناسهها استفاده شوند.
پایتون یک زبان برنامهنویسی حساس به حروف است. بنابراین، Manpower و manpower دو شناسه مختلف در پایتون هستند.
در اینجا قوانین نامگذاری برای شناسههای پایتون آورده شده است:
- نامهای کلاس در پایتون با یک حرف بزرگ شروع میشوند. تمام شناسههای دیگر با یک حرف کوچک شروع میشوند.
- شروع یک شناسه با یک خط زیرین تنها نشاندهنده این است که شناسه خصوصی است.
- شروع یک شناسه با دو خط زیرین نشاندهنده این است که شناسه بسیار خصوصی است.
- اگر شناسه همچنین با دو خط زیرین در انتها خاتمه یابد، این شناسه یک نام ویژه است که توسط زبان تعریف شده است.
کلمات رزرو شده پایتون لیست زیر کلمات کلیدی پایتون را نشان میدهد. اینها کلمات رزرو شده هستند و شما نمیتوانید از آنها به عنوان نام ثابت، متغیر یا هر شناسه دیگری استفاده کنید. تمامی کلمات کلیدی پایتون فقط حاوی حروف کوچک هستند.

خطوط و تورفتگیها در پایتون برنامهنویسی پایتون هیچ براکتی برای نشان دادن بلوکهای کد برای تعریف کلاسها و توابع یا کنترل جریان استفاده نمیکند. بلوکهای کد با تورفتگی خطوط مشخص میشوند که به شدت رعایت میشود.
تعداد فضاها در تورفتگی متغیر است، اما تمام دستورات داخل بلوک باید به همان میزان تورفته باشند. به عنوان مثال:
if True: print ("True") else: print ("False")
با این حال، بلوک زیر خطا تولید میکند −
if True: print ("Answer") print ("True") else: print ("Answer") print ("False")
بنابراین، در پایتون تمام خطوط پیوسته که با تعداد یکسانی از فضاها تورفتگی دارند، یک بلوک را تشکیل میدهند. مثال زیر دارای بلوکهای مختلف دستوری است −
در این لحظه سعی نکنید منطق را درک کنید. فقط اطمینان حاصل کنید که بلوکهای مختلف را حتی اگر بدون براکت باشند، فهمیدهاید.
# close the file file.close break file.write(file_text) file.write("\n") file.close() file_name = raw_input("Enter filename: ") if len(file_name) == 0: print "Next time please enter something" sys.exit() try: file = open(file_name, "r") except IOError: print "There was an error reading file" sys.exit() file_text = file.read() file.close() print file_text
بیانیههای چند خطی در پایتون بیانیهها در پایتون معمولاً با یک خط جدید پایان مییابند. با این حال، پایتون استفاده از کاراکتر ادامه خط () را مجاز میداند تا نشان دهد که خط باید ادامه یابد. به عنوان مثال −
total = item_one + \ item_two + \ item_three
بیانیههایی که در داخل براکتهای []، {} یا () قرار دارند، نیازی به استفاده از کاراکتر ادامه خط ندارند. به عنوان مثال، بیانیه زیر در پایتون به خوبی کار میکند −
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
نقلقولها در پایتون پایتون از نقلقولهای تک (‘)، دوتایی (“) و سهتایی (”’ یا “””) برای نمایش رشتهها استفاده میکند، به شرطی که همان نوع نقلقول رشته را شروع و پایان دهد.
نقلقولهای سهتایی برای گسترش رشتهها در چندین خط استفاده میشوند. به عنوان مثال، تمام موارد زیر معتبر هستند −
word = 'word' print (word) sentence = "This is a sentence." print (sentence) paragraph = """This is a paragraph. It is made up of multiple lines and sentences.""" print (paragraph)
کامنتها در پایتون کامنتها توضیحات یا یادداشتهای قابل درک برای برنامهنویس در کد منبع پایتون هستند. اینها برای سادهتر کردن درک کد برای انسانها اضافه میشوند و توسط مفسر پایتون نادیده گرفته میشوند.
دقیقا مانند اکثر زبانهای مدرن، پایتون از کامنتهای تکخطی (یا پایان خط) و چندخطی (بلوک) پشتیبانی میکند. کامنتهای پایتون مشابه کامنتهای موجود در زبانهای برنامهنویسی PHP، BASH و Perl هستند.
علامت هشتگ (#) که در داخل یک رشته قرار ندارد، شروع یک کامنت است. تمام کاراکترهایی که بعد از # و تا انتهای خط فیزیکی میآیند، بخشی از کامنت هستند و مفسر پایتون آنها را نادیده میگیرد.
# First comment print ("Hello, World!") # Second comment
این کد خروجی زیر را تولید میکند −
Hello, World!
شما میتوانید یک کامنت را در همان خط و بعد از یک دستور یا عبارت بنویسید −
name = "Madisetti" # This is again comment
میتوانید چندین خط را به صورت زیر کامنتگذاری کنید −
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
رشتهای که با نقلقول سهتایی نوشته شده نیز توسط مفسر پایتون نادیده گرفته میشود و میتواند به عنوان کامنت چندخطی استفاده شود:
''' This is a multiline comment. '''
استفاده از خطوط خالی در برنامههای پایتون
خطی که فقط شامل فاصلههای سفید باشد (و احتمالاً همراه با یک کامنت)، به عنوان یک خط خالی شناخته میشود و پایتون آن را کاملاً نادیده میگیرد.
در یک نشست تعاملی با مفسر (interactive interpreter)، برای پایان دادن به یک دستور چندخطی باید یک خط فیزیکی خالی وارد کنید.
منتظر ماندن برای کاربر
خط زیر در برنامه پیامی با عنوان «Press the enter key to exit» (کلید Enter را برای خروج فشار دهید) نمایش میدهد و منتظر میماند تا کاربر اقدامی انجام دهد −
#!/usr/bin/python raw_input("\n\nPress the enter key to exit.")
در اینجا، از “\n\n” برای ایجاد دو خط جدید (خالی) قبل از نمایش پیام اصلی استفاده شده است. زمانی که کاربر کلید را فشار میدهد، برنامه پایان مییابد. این یک ترفند مفید است برای اینکه پنجره کنسول تا زمانی که کاربر کارش با برنامه تمام نشده باز بماند.
نوشتن چند دستور در یک خط نقطهویرگول ( ; ) اجازه میدهد چند دستور در یک خط نوشته شوند، به شرطی که هیچیک از آنها آغازگر یک بلوک کد نباشند. در ادامه یک قطعه نمونه با استفاده از نقطهویرگول آورده شده است −
import sys; x = 'foo'; sys.stdout.write(x + '\n')
گروههای چندگانه دستور به عنوان «Suite» مجموعهای از دستورات جداگانه که یک بلوک کد واحد را تشکیل میدهند، در پایتون «suite» نامیده میشوند. دستورات ترکیبی یا پیچیده مانند if، while، def و class نیاز به یک خط سرآیند (header line) و یک suite دارند.
خطوط سرآیند، دستور را با یک کلمه کلیدی آغاز میکنند و با یک دو نقطه (:) خاتمه مییابند، و پس از آن یک یا چند خط میآید که مجموعه دستور (suite) را تشکیل میدهد. برای مثال −
if expression : suite elif expression : suite else : suite
آرگومانهای خط فرمان در پایتون بسیاری از برنامهها را میتوان به گونهای اجرا کرد که اطلاعات اولیهای درباره نحوه اجرای آنها ارائه دهند. پایتون این امکان را با استفاده از گزینهی -h فراهم میکند −
$ python3 -h usage: python3 [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
شما همچنین میتوانید اسکریپت خود را طوری برنامهنویسی کنید که گزینههای مختلفی را از خط فرمان بپذیرد. آرگومانهای خط فرمان یک مبحث پیشرفته محسوب میشوند و بهتر است پس از آشنایی با سایر مفاهیم پایتون، به مطالعه آن بپردازید.