آموزش سینتکس در پایتون
1. تورفتگی ها
1.1 تورفتگی چیست؟
تورفتگی یک مفهوم بسیار مهم است که نقش حیاتی در ساختار کد و خوانایی آن ایفا میکند. برخلاف زبانهای دیگر که از پرانتزها یا براکتها برای جدا کردن بلوکهای کد استفاده میکنند، پایتون از تورفتگیها (فضای خالی یا تبها) برای نشان دادن سطوح مختلف بلوکهای کد استفاده میکند. در این بخش، به بررسی تورفتگیها و نحوهی استفاده صحیح از آنها میپردازیم.
1.2 چرا تورفتگی مهم است؟
در پایتون، تورفتگی نه تنها برای زیبایی و خوانایی کد، بلکه برای تعیین ساختار منطقی برنامه استفاده میشود. هر بلاک از کد (مثل بدنهی یک تابع، شرط، یا حلقه) باید درون تورفتگی مناسب قرار بگیرد تا پایتون بتواند نحوهی اجرای کد را درک کند. اگر تورفتگیها به درستی اعمال نشوند، برنامه به خطا میخورد.
1.3 نحوهی استفاده از تورفتگی
پایتون به شما اجازه میدهد که از فضاهای خالی (spaces) یا تبها (tabs) برای ایجاد تورفتگی استفاده کنید، اما ترکیب این دو روش در یک فایل مجاز نیست. باید فقط از یکی از این دو استفاده کنید و توصیه میشود از فضاهای خالی (حداقل ۴ فاصله برای هر تورفتگی) استفاده کنید، زیرا این روش در اکثر ویرایشگرهای کد و محیطهای توسعه به طور پیشفرض پشتیبانی میشود.
1.4 مثال از تورفتگی
در اینجا یک مثال ساده آوردهایم که نحوهی استفاده از تورفتگی در پایتون را نشان میدهد:
def greet(name):
if name:
print("Hello, " + name + "!")
else:
print("Hello, Guest!")
توضیحات کد:
تابع greet دارای یک تورفتگی است.
شرط if و بدنهی آن که شامل دستور print است، به وسیله تورفتگی از سایر کدها جدا شدهاند.
دستور else نیز به صورت مجزا و با تورفتگی مشخص میشود.
1.5 ایجاد خطا با تورفتگی اشتباه
در صورتی که تورفتگیها به درستی رعایت نشوند، پایتون خطای IndentationError را نمایش میدهد:
def greet(name):
if name: # خطای تورفتگی اشتباه
print("Hello, " + name + "!")
در اینجا، پایتون از تورفتگی برای مشخص کردن بلاک کد if استفاده نمیکند و باعث ایجاد خطا میشود.
1.6 تورفتگی در حلقهها و دستورات شرطی
تورفتگی نه تنها در توابع، بلکه در ساختارهای کنترلی مانند if, for, while, و try/except نیز به کار میرود. به طور مثال:
:for i in range(3)
print("Iteration", i)
if i == 1:
print("This is the second iteration!")
توضیح کد:
حلقهی for و بدنهی آن با یک تورفتگی از خط بیرونی جدا شدهاند.
شرط if داخل حلقه و با تورفتگی بیشتر از حلقه قرار دارد.
1.7 استفاده از تنظیمات ویرایشگر کد
برای جلوگیری از مشکلات تورفتگی، بسیاری از ویرایشگرهای کد و محیطهای توسعه (IDE) به شما این امکان را میدهند که تنظیماتی برای استفاده از فضاهای خالی (Spaces) به جای تبها انجام دهید. به طور مثال:
در VS Code میتوانید در تنظیمات، گزینهی “Convert tabs to spaces” را فعال کنید.
در PyCharm، میتوانید تنظیمات تورفتگی را به راحتی از طریق بخش Code Style مدیریت کنید.
2. نحوه نوشتن دستورها
پایتون به دلیل سادگی و خوانایی، زبان بسیار مناسبی برای شروع برنامهنویسی است. دستورات در پایتون با توجه به قواعد خاصی نوشته میشوند که در ادامه به برخی از آنها پرداختهایم.
2.1 ساختار پایه دستورها
در پایتون، هر دستور معمولاً در یک خط جداگانه نوشته میشود. برخلاف زبانهایی مانند C یا Java که برای پایان دستور از علامتهایی مانند ; استفاده میکنند، در پایتون نیازی به این علامتها نیست.
به عنوان مثال:
print("Hello, World!")
x = 5
y = 10
print(x + y)
2.2 دستورات چاپ
برای چاپ مقادیر در پایتون از تابع print() استفاده میشود. رشتهها باید در کوتیشن یا دبل کوتیشن قرار گیرند، ولی برای چاپ اعداد نیازی به کوتیشن نیست.
به عنوان مثال:
print("Hello, Python!")
print(42)
2.3 دستورات شرطی
برای اجرای کد بر اساس شرایط خاص، از دستورات شرطی if، elif و else استفاده میشود.
به عنوان مثال:
x = 10
if x > 5:
print("x بزرگتر از 5 است")
elif x == 5:
print("x برابر با 5 است")
else:
print("x کوچکتر از 5 است")
2.4 حلقهها در پایتون
حلقهها به شما این امکان را میدهند که یک دستور را به دفعات تکرار کنید.
حلقه for: برای تکرار روی مجموعهها یا محدودهها.
به عنوان مثال:
for i in range(5): print(i)
حلقه while: تا زمانی که شرط برقرار باشد، تکرار میشود.
به عنوان مثال:
x = 0 while x < 5: print(x) x += 1
2.5 توابع (Functions)
برای تعریف قطعه کدهایی که میخواهید چندین بار از آنها استفاده کنید، از توابع استفاده میشود.
به عنوان مثال:
def greet(name):
print("Hello, " + name + "!")
greet("Ali") # فراخوانی تابع
greet("Sara") # فراخوانی تابع
2.6 پایان بلوکها با تورفتگی (Indentation)
در پایتون، برای مشخص کردن بلوکهای کد از تورفتگی استفاده میشود. این موضوع به جای پرانتزهای معمول در زبانهای دیگر، مشخص میکند که کدام دستورات داخل یک بلوک قرار دارند.
به عنوان مثال:
if x > 5:
print("x بزرگتر از 5 است")
else:
print("x کوچکتر یا برابر با 5 است")
2.7 استفاده از کامنتها (Comments)
برای اضافه کردن توضیحات به کد، میتوان از کامنتها استفاده کرد که با # شروع میشوند.
به عنوان مثال:
# این یک کامنت است
print("Hello, Python!")
2.8 استفاده از حلقههای تو در تو (Nested Loops)
میتوان حلقهها را درون یکدیگر قرار داد، که در مواقعی که نیاز به عملیات پیچیدهتری دارید مفید است.
به عنوان مثال:
for i in range(3):
for j in range(2):
print(f"i = {i}, j = {j}")
این ساختارها و دستورات پایهای، اساس نوشتن برنامههای پیچیدهتر در پایتون را تشکیل میدهند.
3. کامنت ها
3.1 کامنت یک خطی
کامنتهای یک خطی با استفاده از علامت # در ابتدا ایجاد میشوند. پایتون تا پایان خط کامنت را نادیده میگیرد.
# این یک کامنت یک خطی است x = 10 # این قسمت از کد مقدار x را تعیین میکند
3.2 کامنت چند خطی (docstring)
برای مستندسازی توابع، کلاسها یا ماژولها، معمولاً از docstring استفاده میشود. docstringها با استفاده از سه کوتیشن (سه علامت نقل قول: “”” یا ”’) در ابتدا و انتهای رشته نوشته میشوند.
def greet(name):
"""
این تابع نام ورودی را گرفته و پیامی خوشآمد گویی را چاپ میکند.
پارامترها:
name (str): نام شخصی که میخواهید خوشآمد بگویید.
بازگشتی:
None
"""
print(f"سلام {name}!")
نکات مهم:
کامنت یک خطی معمولاً برای توضیحات کوتاه و جزئی استفاده میشود.
docstring معمولاً برای مستندسازی توابع، کلاسها و ماژولها و برای توضیحات بیشتر و رسمیتر به کار میرود.
به طور معمول، docstringها باید مستندات مفصلتری نسبت به کامنتهای یک خطی ارائه دهند.
این ساختارها به خوانایی کد کمک میکنند و برنامهنویسان دیگر میتوانند به راحتی کد را بفهمند.
