آموزش جامع پایتون از صفر تا تخصص/جلسه یازدهم:پایتون – نحو (Syntax)
آموزش جامع پایتون از صفر تا تخصص/

آموزش جامع پایتون از صفر تا تخصص/جلسه یازدهم:پایتون – نحو (Syntax)

پایتون – نحو (Syntax) نحو پایتون مجموعه‌ای از قواعد است که برای ایجاد یک برنامه پایتون استفاده می‌شود. نحو زبان برنامه‌نویسی پایتون شباهت‌های زیادی با زبان‌های برنامه‌نویسی Perl، C و Java دارد. با این حال، تفاوت‌های قابل توجهی بین این زبان‌ها وجود دارد.

اولین برنامه پایتون بیایید یک برنامه پایتون اجرا کنیم که “Hello, World!” را در دو حالت مختلف برنامه‌نویسی پایتون چاپ کند. (الف) حالت برنامه‌نویسی تعاملی (Interactive Mode) (ب) حالت برنامه‌نویسی اسکریپتی (Script Mode).

پایتون – برنامه‌نویسی حالت تعاملی ما می‌توانیم مفسر پایتون را از خط فرمان با تایپ کردن python در دستور خط فرمان فراخوانی کنیم، به شرح زیر:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ 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.
>>>
$ 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. >>>
$ 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 را فشار دهیم:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>>> print ("Hello, World!")
>>> print ("Hello, World!")
>>> print ("Hello, World!")

اگر شما از نسخه قدیمی‌تری از پایتون استفاده می‌کنید، مانند پایتون 2.4.x، باید از دستور print بدون پرانتز استفاده کنید، مانند print “Hello, World!” اما در نسخه پایتون 3.x، این دستور نتیجه زیر را تولید می‌کند:

Hello, World!

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

بیایید یک برنامه ساده پایتون در یک اسکریپت بنویسیم که یک فایل متنی ساده است. فایل‌های پایتون دارای پسوند .py هستند. کد منبع زیر را در یک فایل test.py تایپ کنید:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
print ("Hello, World!")
print ("Hello, World!")
print ("Hello, World!")

ما فرض می‌کنیم که مسیر مفسر پایتون در متغیر PATH تنظیم شده است. حالا بیایید تلاش کنیم تا این برنامه را به شرح زیر اجرا کنیم:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ python3 test.py
$ python3 test.py
$ python3 test.py

این نتیجه زیر را تولید می‌کند:

Hello, World!

حال بیایید روش دیگری برای اجرای یک اسکریپت پایتون امتحان کنیم. در اینجا فایل test.py اصلاح شده است:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/usr/bin/python3
print ("Hello, World!")
#!/usr/bin/python3 print ("Hello, World!")
#!/usr/bin/python3

print ("Hello, World!")

ما فرض می‌کنیم که مفسر پایتون در دایرکتوری /usr/bin موجود است. حالا تلاش کنید این برنامه را به شرح زیر اجرا کنید:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ chmod +x test.py # This is to make file executable
$./test.py
$ chmod +x test.py # This is to make file executable $./test.py
$ chmod +x test.py     # This is to make file executable
$./test.py

این نتیجه زیر را تولید می‌کند:

Hello, World!

شناسه‌ها در پایتون یک شناسه پایتون نامی است که برای شناسایی یک متغیر، تابع، کلاس، ماژول یا هر شیء دیگری استفاده می‌شود. یک شناسه با یک حرف از A تا Z یا از a تا z یا یک خط پایین (_) شروع می‌شود، و پس از آن می‌تواند شامل صفر یا بیشتر حروف، خط پایین و ارقام (0 تا 9) باشد.

پایتون اجازه نمی‌دهد که کاراکترهای علامت‌گذاری مانند @، $ و % در شناسه‌ها استفاده شوند.

پایتون یک زبان برنامه‌نویسی حساس به حروف است. بنابراین، Manpower و manpower دو شناسه مختلف در پایتون هستند.

در اینجا قوانین نام‌گذاری برای شناسه‌های پایتون آورده شده است:

  • نام‌های کلاس در پایتون با یک حرف بزرگ شروع می‌شوند. تمام شناسه‌های دیگر با یک حرف کوچک شروع می‌شوند.
  • شروع یک شناسه با یک خط زیرین تنها نشان‌دهنده این است که شناسه خصوصی است.
  • شروع یک شناسه با دو خط زیرین نشان‌دهنده این است که شناسه بسیار خصوصی است.
  • اگر شناسه همچنین با دو خط زیرین در انتها خاتمه یابد، این شناسه یک نام ویژه است که توسط زبان تعریف شده است.

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

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

تعداد فضاها در تورفتگی متغیر است، اما تمام دستورات داخل بلوک باید به همان میزان تورفته باشند. به عنوان مثال:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
if True:
print ("True")
else:
print ("False")
if True: print ("True") else: print ("False")
if True:
   print ("True")
else:
   print ("False")

با این حال، بلوک زیر خطا تولید می‌کند −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False")
if True: print ("Answer") print ("True") else: print ("Answer") print ("False")
if True:
   print ("Answer")
   print ("True")
else:
   print ("Answer")
   print ("False")

بنابراین، در پایتون تمام خطوط پیوسته که با تعداد یکسانی از فضاها تورفتگی دارند، یک بلوک را تشکیل می‌دهند. مثال زیر دارای بلوک‌های مختلف دستوری است −

در این لحظه سعی نکنید منطق را درک کنید. فقط اطمینان حاصل کنید که بلوک‌های مختلف را حتی اگر بدون براکت باشند، فهمیده‌اید.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 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
# 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
  # 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

بیانیه‌های چند خطی در پایتون بیانیه‌ها در پایتون معمولاً با یک خط جدید پایان می‌یابند. با این حال، پایتون استفاده از کاراکتر ادامه خط () را مجاز می‌داند تا نشان دهد که خط باید ادامه یابد. به عنوان مثال −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
total = item_one + \
item_two + \
item_three
total = item_one + \ item_two + \ item_three
total = item_one + \
        item_two + \
        item_three

بیانیه‌هایی که در داخل براکت‌های []، {} یا () قرار دارند، نیازی به استفاده از کاراکتر ادامه خط ندارند. به عنوان مثال، بیانیه زیر در پایتون به خوبی کار می‌کند −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

نقل‌قول‌ها در پایتون پایتون از نقل‌قول‌های تک (‘)، دوتایی (“) و سه‌تایی (”’ یا “””) برای نمایش رشته‌ها استفاده می‌کند، به شرطی که همان نوع نقل‌قول رشته را شروع و پایان دهد.

نقل‌قول‌های سه‌تایی برای گسترش رشته‌ها در چندین خط استفاده می‌شوند. به عنوان مثال، تمام موارد زیر معتبر هستند −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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)
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)
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 هستند.

علامت هشتگ (#) که در داخل یک رشته قرار ندارد، شروع یک کامنت است. تمام کاراکترهایی که بعد از # و تا انتهای خط فیزیکی می‌آیند، بخشی از کامنت هستند و مفسر پایتون آن‌ها را نادیده می‌گیرد.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# First comment
print ("Hello, World!") # Second comment
# First comment print ("Hello, World!") # Second comment
# First comment
print ("Hello, World!") # Second comment

این کد خروجی زیر را تولید می‌کند −

Hello, World!

شما می‌توانید یک کامنت را در همان خط و بعد از یک دستور یا عبارت بنویسید −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
name = "Madisetti" # This is again comment
name = "Madisetti" # This is again comment
name = "Madisetti" # This is again comment

می‌توانید چندین خط را به صورت زیر کامنت‌گذاری کنید −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
'''
This is a multiline
comment.
'''
''' This is a multiline comment. '''
'''
This is a multiline
comment.
'''

استفاده از خطوط خالی در برنامه‌های پایتون
خطی که فقط شامل فاصله‌های سفید باشد (و احتمالاً همراه با یک کامنت)، به عنوان یک خط خالی شناخته می‌شود و پایتون آن را کاملاً نادیده می‌گیرد.

در یک نشست تعاملی با مفسر (interactive interpreter)، برای پایان دادن به یک دستور چندخطی باید یک خط فیزیکی خالی وارد کنید.

منتظر ماندن برای کاربر
خط زیر در برنامه پیامی با عنوان «Press the enter key to exit» (کلید Enter را برای خروج فشار دهید) نمایش می‌دهد و منتظر می‌ماند تا کاربر اقدامی انجام دهد −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/usr/bin/python
raw_input("\n\nPress the enter key to exit.")
#!/usr/bin/python raw_input("\n\nPress the enter key to exit.")
#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")

در اینجا، از “\n\n” برای ایجاد دو خط جدید (خالی) قبل از نمایش پیام اصلی استفاده شده است. زمانی که کاربر کلید را فشار می‌دهد، برنامه پایان می‌یابد. این یک ترفند مفید است برای اینکه پنجره کنسول تا زمانی که کاربر کارش با برنامه تمام نشده باز بماند.

نوشتن چند دستور در یک خط نقطه‌ویرگول ( ; ) اجازه می‌دهد چند دستور در یک خط نوشته شوند، به شرطی که هیچ‌یک از آن‌ها آغازگر یک بلوک کد نباشند. در ادامه یک قطعه نمونه با استفاده از نقطه‌ویرگول آورده شده است −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import sys; x = 'foo'; sys.stdout.write(x + '\n')
import sys; x = 'foo'; sys.stdout.write(x + '\n')
import sys; x = 'foo'; sys.stdout.write(x + '\n')

گروه‌های چندگانه دستور به عنوان «Suite» مجموعه‌ای از دستورات جداگانه که یک بلوک کد واحد را تشکیل می‌دهند، در پایتون «suite» نامیده می‌شوند. دستورات ترکیبی یا پیچیده مانند if، while، def و class نیاز به یک خط سرآیند (header line) و یک suite دارند.

خطوط سرآیند، دستور را با یک کلمه کلیدی آغاز می‌کنند و با یک دو نقطه (:) خاتمه می‌یابند، و پس از آن یک یا چند خط می‌آید که مجموعه دستور (suite) را تشکیل می‌دهد. برای مثال −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
if expression :
suite
elif expression :
suite
else :
suite
if expression : suite elif expression : suite else : suite
if expression :
   suite
elif expression :
   suite
else :
   suite

آرگومان‌های خط فرمان در پایتون بسیاری از برنامه‌ها را می‌توان به گونه‌ای اجرا کرد که اطلاعات اولیه‌ای درباره نحوه اجرای آن‌ها ارائه دهند. پایتون این امکان را با استفاده از گزینه‌ی ‎-h‎ فراهم می‌کند −

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ 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. ]
$ 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. ]
$ 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. ]

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

PHP از دستورات echo و print برای نمایش خروجی در مرورگر یا کنسول PHP استفاده می‌کند. هر دو ساختارهای زبان...
شناسه‌ها در ++C نام‌های منحصربه‌فردی هستند که برای شناسایی متغیرها، توابع، کلاس‌ها، آرایه‌ها و سایر آیتم‌های تعریف‌شده توسط کاربر در...
++C
کلمات کلیدی در C++ کلمات رزرو شده‌ای هستند که برای کامپایلر معنا و مفهوم خاصی دارند. این کلمات نمی‌توانند برای...
++C
ثابت‌ها به مقادیر ثابتی اشاره دارند که برنامه نباید آن‌ها را تغییر دهد و به آن‌ها لیترال (Literal) گفته می‌شود. ثابت‌ها می‌توانند...
C++ Programming Language
توکن‌های C++ کوچک‌ترین واحدهای مستقل در یک برنامه هستند که توسط کامپایلر شناسایی و پردازش می‌شوند. این توکن‌ها با هم...
C++ Programming Language
حذف فضای نام (Namespace) شما می‌توانید به‌صورت صریح از پیشوند std:: برای اشیاء و توابع کتابخانه استاندارد استفاده کنید، به‌جای اینکه از...
C++ Programming Language
1

پشتیبانی واتساپ هوش فعال