سینتکس پایتون، نحوهی نوشتن و اجرای کد را مشخص میکند. این زبان به سادگی و خوانایی بالا شهرت دارد و از تورفتگی برای تعیین بلوکهای کد استفاده میکند، برخلاف بسیاری از زبانهای دیگر که از آکولاد یا کلمات کلیدی خاص بهره میبرند. استفادهی حداقلی از نشانهگذاری اضافی، انعطافپذیری بالا و ساختار یکدست از ویژگیهای اصلی آن است که یادگیری و استفاده از آن را آسانتر میکند.
مقدمه
سینتکس پایتون به مجموعهای از قوانین اشاره دارد که ترکیب نمادها و علائمی را تعریف میکنند که به عنوان برنامههای ساختاریافته و درست در زبان برنامهنویسی پایتون شناخته میشوند. این قوانین تضمین میکنند که برنامههای نوشتهشده باید بهطور صحیح ساختاردهی و قالببندی شوند تا مفسر پایتون بتواند آنها را بهدرستی درک و اجرا کند. در ادامه برخی جنبههای سینتکس پایتون آورده شده است.
اجرای برنامه ساده در پایتون
روشهای مختلفی برای اجرای برنامههای پایتون وجود دارد. برای استفاده از پایتون، ابتدا میتوانید از مفسر پایتون استفاده کنید. در همین موضوع به نوشتن اولین برنامه در پایتون می پردازیم.
برنامه hello world در پایتون
در همه زبان های برنامه نویسی چاپ hello world مرحله اول شروع کدنویسی است. پایتون نیز مستثنی از این قاعده نیست پس به سراغ کدنویسی اولین برنامه در پایتون می رویم.
print("Hello, World!")
خروجی:
Hello, World!
پوسته تعاملی پایتون
برای شروع مفسر پایتون، کافی است در ترمینال یا خط فرمان عبارت python (یا در برخی سیستمها python3) را تایپ کنید. سپس میتوانید دستورات پایتون را به صورت تعاملی اجرا کنید و سینتکس پایتون را برای نوشتن کدها استفاده کنید. برای خروج، میتوانید عبارت ()exit را تایپ کنید یا کلیدهای ترکیبی «Ctrl + D» را فشار دهید.
نمونهای پوسته تعاملی پایتون
اجرای یک اسکریپت پایتون
برای اجرای یک اسکریپت پایتون، ابتدا یک فایل با پسوند py. ایجاد کنید، مثلاً «Namaste.py».
این اسکریپت را از طریق ترمینال یا خط فرمان با استفاده از دستور زیر اجرا کنید:
«python script.py» یا «python Namaste.py»
تورفتگی در پایتون
تورفتگی «Indentation» در پایتون به استفاده از فاصلهها «space» یا تبها «tab» در ابتدای خطوط کد اشاره دارد و برای تعریف بلوکهای کد استفاده میشود. این ویژگی در سینتکس پایتون بسیار مهم است، زیرا برخلاف بسیاری از زبانهای برنامهنویسی دیگر که از آکولاد { } برای تعریف بلوکها استفاده میکنند، پایتون از تورفتگی استفاده میکند.
این ویژگی خوانایی کد را بهبود میبخشد، اما از طرف دیگر، اصلاح خطاهای تورفتگی را دشوار میکند. حتی یک فاصله اضافه یا کم میتواند منجر به خطای تورفتگی شود.
if 10 > 5: print("This is true!") if 10 > 5: print("This is true!")
در این مثال از تورفتگی «Indentation» در سینتکس پایتون ، خط اول یک دستور است، خط دوم یک شرط if دارد و خط آخر هم یک دستور دیگر است که همه آنها به یک بلوک کد تعلق دارند. این بدین معناست که بعد از اجرای دستور اول، شرط if بررسی میشود و اگر شرط if نادرست باشد، پایتون به دستور آخر میرود و آن را اجرا میکند.
در صورتی که یک if-else تو در تو باشد، این به بلوک دوم تعلق دارد، یعنی اگر شرط if تو در تو نادرست باشد، پایتون دستورات داخل بخش else را اجرا خواهد کرد. دستورات داخل if-else تو در تو به بلوک سوم تعلق دارند و تنها یکی از این دستورات بسته به نتیجه شرط if-else اجرا خواهد شد.
پایتون از تو رفتگی برای مشخص کردن تعلق دستورات به یک بلوک کد خاص استفاده میکند. هر بلوک مجموعهای از دستورات است که برای یک هدف خاص گروهبندی شدهاند. در اکثر زبانهای برنامهنویسی مانند C++، C و جاوا از براکتهای { } برای تعریف بلوکهای کد استفاده میشود، اما پایتون از تو رفتگی برای این کار بهره میبرد. در سینتکس پایتون، تمام دستورات با فاصله یکسان از سمت چپ به یک بلوک کد تعلق دارند و اگر بلوک به عمق بیشتری نیاز داشته باشد، تنها باید با فاصله بیشتری تو رفته نوشته شود.
مثال: دو خط print(“Logging on to blog.programstore…”) و print(“retype the URL.”) به دو بلوک کد جداگانه تعلق دارند. دو بلوک کد در دستور if که در مثال ما آمدهاند، هر کدام چهار فضای تو رفتگی دارند. در نهایت، خط print(“All set!”) تو رفتگی ندارد و بنابراین به بلوک else تعلق ندارد.
# Python program showing # indentation site = 'gfg' if site == 'gfg': print('Logging on to blog.programstore...') else: print('retype the URL.') print('All set !')
خروجی:
Logging on to blog.programstore... All set !
خروجی:
Logging on to blog.programstore... All set !
مثال: برای نشان دادن یک بلوک کد در پایتون، باید هر خط از بلوک را با فاصلهی یکسان تو رفتگی دهید. دو خط کد در حلقه while هر کدام چهار فضای تو رفتگی دارند. این امر برای نشان دادن این است که کدام بلوک کد به یک دستور خاص تعلق دارد. بهعنوان مثال، j=1 و while(j<=5): تو رفتگی ندارند، بنابراین جزو بلوک while در سینتکس پایتون نیستند. بنابراین، ساختار کد در پایتون با استفاده از تو رفتگی مشخص میشود.
j = 1 while(j<= 5): print(j) j = j + 1
خروجی:
۱ ۲ ۳ ۴ ۵
متغیر ها در پایتون
متغیرها در پایتون به طور اساسی ارجاعاتی با نام هستند که به اشیا در حافظه اشاره میکنند. برخلاف برخی زبانهای دیگر، در پایتون نیازی به اعلام نوع متغیر به صورت صریح نیست. بر اساس مقداری که به متغیر اختصاص داده میشود، سینتکس پایتون به صورت دینامیک نوع آن را تعیین میکند. این ویژگی در سینتکس زبان پایتون به این صورت است که نوع داده متغیرها به طور خودکار بر اساس مقداری که به آنها اختصاص داده میشود تغییر میکند.
در مثال زیر، ما یک متغیر به نام a ایجاد میکنیم و آن را با یک مقدار عددی صحیح «int» مقداردهی میکنیم، بنابراین نوع «a» از نوع int است. سپس وقتی مقدار یک رشته به «a» اختصاص داده میشود، نوع آن به str تغییر میکند. این ویژگی به نام «تایپ دینامیک» شناخته میشود، به این معنی که نوع داده متغیر میتواند در حین اجرا تغییر کند.
a = 10 print(type(a)) b = 'blog.programstore' print(type(b))
شناسه ها در پایتون
در پایتون، شناسهها بلوکهای سازنده یک برنامه هستند. شناسهها نامهای منحصر به فردی هستند که به متغیرها، توابع، کلاسها و دیگر موجودیتها اختصاص داده میشوند. این شناسهها برای شناسایی منحصربهفرد موجودیت در داخل برنامه استفاده میشوند. سینتکس پایتون برای شناسهها به این صورت است که شناسهها باید با یک حرف (a-z و A-Z) یا یک زیرخط _ شروع شوند و میتوانند شامل حروف، اعداد یا زیرخطها باشند. به عنوان مثال، first_name یک شناسه است که یک مقدار رشتهای را ذخیره میکند.
first_name = "Ram"
قوانین نام گذاری شناسه ها در پایتون
برای نامگذاری شناسهها در پایتون باید قوانین زیر را رعایت کنید:
- شناسهها میتوانند از حروف (حروف بزرگ یا کوچک) ، اعداد (۰ – ۹)، و کاراکتر زیرخط ( _ ) تشکیل شوند. نباید شامل کاراکترهای خاص یا فاصله باشند.
- اولین کاراکتر شناسه باید یک حرف یا زیرخط باشد.
- برخی کلمات در پایتون، که به عنوان کلمات کلیدی شناخته میشوند، دارای معانی خاصی هستند و وظایف خاصی در دستور زبان زبان برنامهنویسی دارند. این کلمات نمیتوانند به عنوان شناسه استفاده شوند. به عنوان مثال، for، while، if، و else کلمات کلیدی هستند و نمیتوان از آنها به عنوان شناسه استفاده کرد. حتی اگر print کلمه کلیدی نباشد، یک تابع داخلی است و باید از استفاده از آن به عنوان شناسه خودداری کرد تا از تداخل جلوگیری شود.
- در داخل یک محدوده خاص یا فضای نام «namespace»، هر شناسه باید نامی منحصر به فرد داشته باشد تا از تداخل جلوگیری شود. با این حال، در محدودههای مختلف میتوان از شناسههایی با نام مشابه استفاده کرد بدون اینکه تداخلی ایجاد شود.
کلمات کلیدی پایتون
کلمات کلیدی در پایتون کلمات رزرو شدهای هستند که معانی خاصی دارند و برای اهداف خاصی در دستور زبان زبان پایتون python به کار میروند. این کلمات نمیتوانند به عنوان شناسهها استفاده شوند (به عنوان نام متغیرها، توابع، کلاسها و غیره). در زیر فهرستی از کلمات کلیدی پایتون آورده شده است:
False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield
با توجه به نسخههای مختلف پایتون، ممکن است کلمات کلیدی تغییر کنند. برای مشاهده تمام کلمات کلیدی نسخه کنونی پایتون، میتوانیم از کد زیر استفاده کنیم:
>>>import keyword >>>print(keyword.kwlist)
کامنت در پایتون
کامنتها در پایتون بیانیههایی هستند که در داخل کد نوشته میشوند. هدف از کامنتها توضیح دادن، روشنسازی یا دادن زمینه در مورد بخشهای خاصی از کد است. کامنتها هیچ تأثیری بر اجرای برنامه یا نتیجه آن ندارند.
کامنت تک خطی در پایتون
کامنتهای تکخطی با نماد «#» شروع میشوند. هر چیزی که بعد از این نماد در همان خط بیاید، بهعنوان کامنت در نظر گرفته میشود و بخشی از اجرای کد نخواهد بود.
first_name = "Reddy" last_name = "Anna" # print full name print(first_name, last_name)
خروجی:
Reddy Anna
کامنت چندخطی در پایتون
پایتون ساختار خاصی برای کامنتهای چندخطی ندارد. با این حال، برنامهنویسان معمولاً از چندین کامنت تکخطی، یکی پس از دیگری، استفاده میکنند یا گاهی از کوتیشنهای سهگانه (”’ یا “””) استفاده میکنند، اگرچه اینها از نظر فنی رشتههای متنی هستند.
# This is a Python program # to explain multiline comment. ''' Functions to print table of any number. ''' def print_table(n): for i in range(1,11): print(i*n) print_table(4)
خروجی:
۴ ۸ ۱۲ ۱۶ ۲۰ ۲۴ ۲۸ ۳۲ ۳۶ ۴۰
عبارات چندخطی
نوشتن یک عبارت طولانی در یک خط از کد، قابل خواندن و کارآمد نیست. به همین دلیل، در پایتون این امکان وجود دارد که یک عبارت طولانی را به خطوط مختلف تقسیم کرده و آن را خواناتر کنیم. یکی از روشهای انجام این کار به شرح زیر است:
استفاده از بک اسلش در پایتون
در پایتون، میتوانید یک عبارت را با استفاده از بکاسلش (\) به چند خط تقسیم کنید. این روش بهویژه زمانی مفید است که با رشتهها یا عملیات ریاضیاتی کار میکنیم.
sentence = "This is a very long sentence that we want to " \ "split over multiple lines for better readability." print(sentence) # For mathematical operations total = 1 + 2 + 3 + \ ۴ + ۵ + ۶ + \ ۷ + ۸ + ۹ print(total)
خروجی:
This is a very long sentence that we want to split over multiple lines for better readability. ۴۵
استفاده از پرانتز
برای برخی ساختارها مانند لیستها، تاپلها یا آرگومانهای توابع، میتوانیم عبارات را بدون نیاز به بکاسلش در داخل پرانتز به چند خط تقسیم کنیم. این روش به راحتی امکان تقسیم عبارات را فراهم میکند.
# Create list numbers = [1, 2, 3, ۴, ۵, ۶, ۷, ۸, ۹] def total(num1, num2, num3, num4): print(num1+num2+num3+num4) # Function call total(23, 34, ۲۲, ۲۱)
خروجی:
۱۰۰
نقل قول سه تایی برای رشته ها
اگر با مستندات «docstrings» یا رشتههای چندخطی کار میکنیم، میتوانیم از نقل قول سهتایی (تکنقل کوتاه ”’ یا دو نقل کوتاه “””) استفاده کنیم.
text = """GeeksforGeeks Interactive Live and Self-Paced Courses to help you enhance your programming. Practice problems and learn with live and online recorded classes with GFG courses. Offline Programs.""" print(text)
خروجی:
GeeksforGeeks Interactive Live and Self-Paced Courses to help you enhance your programming. Practice problems and learn with live and online recorded classes with GFG courses. Offline Programs.
نقل قول ها در پایتون
در پایتون، رشتهها میتوانند با استفاده از نقل قولهای تک( ‘ )، دوگانه ( ” ) یا سهگانه ( ”’ یا “”” ) محصور شوند. نقل قولهای تک و دوگانه برای تعریف رشتههای ساده قابل تعویض هستند، در حالی که نقل قولهای سهگانه امکان ایجاد رشتههای چندخطی را فراهم میکنند، همانطور که در مثال بالا استفاده شده است.
این روشها بخشی از سینتکس های پایتون هستند. انتخاب نوع نقل قول میتواند به سادهتر کردن وارد کردن یک نوع نقل قول درون رشته کمک کند، بدون نیاز به فرار دادن آن، مثلاً از نقل قول دوگانه برای محصور کردن رشتهای که شامل نقل قول تک است، استفاده میشود.
این قوانین بخشی از سینتکس زبان پایتون هستند که برای کار با رشتهها و مدیریت صحیح علامتها در داخل رشتهها طراحی شدهاند. در زیر مثالی از استفاده از نقل قولهای تک و دوگانه آورده شده است. در زیر مثالی از استفاده از نقل قولهای تک و دوگانه آورده شده است.
# Embedded single quote inside double. text1 = "He nasrin, 'I learned Python from blog.programstore'" # Embedded double quote inside single. text2 = 'He nasrin, "I have created a project using Python"' print(text1) print(text2)
خروجی:
He nasrin, 'I learned Python from blog.programstore' He nasrin, "I have created a project using Python"
ادامه دار بودن دستورات در پایتون
در پایتون، معمولاً دستورات در یک خط نوشته میشوند. با این حال، در برخی موارد، نوشتن یک دستور در چندین خط میتواند به بهبود خوانایی کمک کند یا به دلیل طولانی بودن دستور ضروری باشد. این امکان برای ادامه دادن دستورات در چندین خط در پایتون از طریق روشهای مختلفی پشتیبانی میشود:
ادامهدادن ضمنی
پایتون بهطور ضمنی از ادامهدادن دستورات در داخل پرانتزها ( )، کروشهها [ ]، و آکولادها { } پشتیبانی میکند. این روش اغلب برای تعریف لیستها، تاپلها، دیکشنریها یا آرگومانهای توابع چندخطی استفاده میشود. این ویژگی بخشی از سینتکس در پایتون است که به شما این امکان را میدهد که دستورات خود را در چند خط بنویسید بدون اینکه نیاز به استفاده از علامتهای خاصی برای شکستن کد باشد.
# Line continuation within square brackets '[]' numbers = [ ۱, ۲, ۳, ۴, ۵, ۶, ۷, ۸, ۹ ] # Line continuation within parentheses '()' result = max( ۱۰, ۲۰, ۳۰, ۴۰ ) # Line continuation within curly braces '{}' dictionary = { "name": "Alice", "age": 25, "address": "123 Wonderland" } print(numbers) print(result) print(dictionary)
خروجی:
GFG is computer science portal that that is used by geeks.
توجه: استفاده از بکاسلش ممکن است مشکلاتی ایجاد کند؛ برای مثال، اگر بعد از بکاسلش فاصلهای وجود داشته باشد، منجر به خطای سینتکسی خواهد شد.
رشتهها (Strings)
رشتهها میتوانند در چندین خط ادامه پیدا کنند با استفاده از سه کوتیشن (”’ یا “””). این ویژگی سینتکس های پایتون به شما اجازه میدهد تا رشتههای طولانی یا متنی که باید در چندین خط قرار گیرند، به راحتی بنویسید. علاوه بر این، اگر دو رشته به طور متوالی در کنار هم قرار گیرند، پایتون بهطور خودکار آنها را به هم پیوند میدهد (Concatenate).
text = '''A blog can help other Geek by writing article on GFG''' message = "Hello, " "blog!" print(text) print(message)
خروجی:
A Geek can help other Geek by writing article on GFG Hello, blog!
رشته ها در پایتون
رشتهها در پایتون دنباله ای از کاراکترها هستند که برای نمایش دادههای متنی استفاده میشوند. در سینتکس پایتون، رشتهها میتوانند با کوتیشنهای تک (‘)، دوگانه (“) یا سهگانه (”’ یا “””) محصور شوند. این انعطافپذیری به برنامهنویسان این امکان را میدهد که به راحتی با رشتههای تک خطی یا چند خطی کار کنند.
string1 = 'Hello, blog' string2 = "Namaste, blog" multi_line_string = '''Ram learned Python by reading tutorial on blog.programstore''' print(string1) print(string2) print(multi_line_string)
خروجی:
Please enter your name: Sagar Hello, Sagar!
خلاصه و نتیجهگیری
سینتکس پایتون ساده و خوانا طراحی شده و بر اساس قوانین خاصی مانند فاصلهگذاری (Indentation) ساختار کد را تعیین میکند. در این زبان، تعریف متغیرها نیازی به تعیین نوع داده ندارد و از کلمات کلیدی برای ساختاردهی کد مانند شرطها، حلقهها و توابع استفاده میشود. کامنتها برای مستندسازی کد و توضیحات در کنار خطوط برنامه کاربرد دارند. این ویژگیها پایتون را به زبانی ایدهآل برای مبتدیان و همچنین پروژههای پیچیده تبدیل کرده است.
توضیحات خوبی بود فقط من متوجه کارکرد تورفتگی نشدم. یعنی نمیشه براکت گذاشت؟
در پایتون، تورفتگی جایگزین براکت شده و استفاده از آن اجباریه. استفاده از براکتها نیازمند یک ساختار جداگانه برای تعیین تورفتگی هست.
واگه به هردلیلی میخواین که از براکتها برای نشان دادن بلاکها استفاده کنین، میتونید از زبانهایی مثل جاوا، C یا جاوااسکریپت استفاده کنین. ولی در پایتون چنین قابلیتی وجود نداره.
مطالب خوب و مفیدی بود.
ممنون از مطالب خوب و آموزندتون، خیلی جامع و کاربردی بود.