در درس هفتم از آموزش رایگان پایتون، شما با نحوهی درست ساختاردهی به برنامه های پایتون آشنا خواهید شد.
نحوه اجرای دستورات پایتون
به طور کلی، مفسر دستورات را خط به خط میخواند و اجرا میکند، یعنی به صورت متوالی. با این حال، بعضی دستورات هستند که میتوانند این روند را تغییر دهند، مانند دستورات شرطی.
اغلب، دستورات پایتون به گونهای نوشته میشوند که هر دستور فقط در یک خط قرار میگیرد. مفسر ‘کاراکتر خط جدید’ را به عنوان پایاندهنده یک دستور تلقی میکند. با این حال، نوشتن چند دستور در یک خط نیز امکانپذیر است که جزئیات آن را در ادامه میتوانید ببینید.
مثال 1:
print('Welcome to datayad')
خروجی:
Welcome to datayad
مثال 2:
# Example 2 x = [1, 2, 3, 4] # x[1:3] means that start from the index # 1 and go upto the index 2 print(x[1:3]) """ In the above mentioned format, the first index is included, but the last index is not included."""
خروجی:
[2, 3]
چندین دستور در یک خط
ما همچنین میتوانیم چندین دستور را در یک خط بنویسیم، اما این کار توصیه نمیشود زیرا خوانایی کد را کاهش میدهد. سعی کنید از نوشتن چند دستور در یک خط خودداری کنید.
با این حال، همچنان میتوانید با استفاده از ‘;’ برای پایان دادن به یک دستور، چندین دستور را در یک خط بنویسید. در این مورد، ‘;’ به عنوان پایاندهنده یک دستور استفاده میشود.
برای مثال، کد زیر را در نظر بگیرید.
# Example a = 10; b = 20; c = b + a print(a); print(b); print(c)
خروجی:
10 20 30
ادامه خط (Line Continuation) برای جلوگیری از اسکرول چپ و راست
برخی از دستورات ممکن است بسیار طولانی شوند و شما را مجبور کنند صفحه نمایش را به طور مکرر به چپ و راست اسکرول کنید. برای جلوگیری از این اتفاق، میتوانید کد خود را به گونهای تنظیم کنید که نیازی به اسکرول به این طرف و آن طرف نداشته باشید.
پایتون به شما اجازه میدهد یک دستور تکی را در چندین خط بنویسید، که به آن ادامه خط (Line Continuation) نیز گفته میشود. ادامه خط همچنین خوانایی کد را نیز افزایش میدهد.
# Bad Practice as width of this code is too much. #code x = 10 y = 20 z = 30 no_of_teachers = x no_of_male_students = y no_of_female_students = z if (no_of_teachers == 10 and no_of_female_students == 30 and no_of_male_students == 20 and (x + y) == 30): print('The course is valid') # This could be done instead: if (no_of_teachers == 10 and no_of_female_students == 30 and no_of_male_students == 20 and x + y == 30): print('The course is valid')
انواع ادامه خط
به طور کلی، دو نوع ادامه خط وجود دارد
– ادامه خط ضمنی
– ادامه خط صریح
ادامه خطی ضمنی
این سادهترین تکنیک برای نوشتن دستوری است که چندین خط را در بر میگیرد.
هر دستوری که شامل پرانتز (‘(‘)، براکت (‘[‘)، یا آکولاد (‘{‘) باز باشد، تا زمانی که تمام پرانتزها، براکتها و آکولادهای متناظر آنه بسته نشوند، ناقص فرض میشود. تا آن زمان، دستور میتواند بدون ایجاد خطا به طور ضمنی در چندین خط ادامه یابد.
مثال:
# Example 1 # The following code is valid a = [ [1, 2, 3], [3, 4, 5], [5, 6, 7] ] print(a)
خروجی:
[[1, 2, 3], [3, 4, 5], [5, 6, 7]]
مثال 2:
# Example 2 # The following code is also valid person_1 = 18 person_2 = 20 person_3 = 12 if ( person_1 >= 18 and person_2 >= 18 and person_3 < 18 ): print('2 Persons should have ID Cards')
خروجی:
2 Persons should have ID Cards
ادامه خط صریح
این روش یعنی ادامه خط صریح، بیشتر اوقات زمانی استفاده میشود که پیوستگی خط ضمنی قابل اعمال نباشد. در این روش، باید از یک کاراکتر استفاده کنید که به مفسر کمک میکند تا درک کند که دستور خاصی بیش از یک خط را در بر میگیرد.
از کاراکتر (\) ( بک اسلش – backslash) برای نشان دادن اینکه یک دستور بیش از یک خط را در بر میگیرد استفاده میشود. نکته قابل توجه این است که \ باید آخرین کاراکتر در آن خط باشد، حتی فضای سفید (خالی) هم مجاز نیست.
برای روشن شدن موضوع، به مثال زیر توجه کنید.
# Example x = \ 1 + 2 \ + 5 + 6 \ + 10 print(x)
خروجی:
24
کامنت در پایتون
نوشتن کامنت در کد بسیار مهم است و به خوانایی کد کمک میکند و همچنین اطلاعات بیشتری درباره کد ارائه میدهد. این امر به شما کمک میکند تا جزئیاتی در مقابل یک دستور یا یک قطعه کد بنویسید.
مفسر کامنت را نادیده میگیرد و آنها را در دستورات محاسبه نمیکند. در این بخش، یاد میگیریم چگونه در پایتون کامنت بنویسیم.
نمادهای مورد استفاده برای نوشتن کامنت شامل هشتگ (#) یا علامت نقل قول سهگانه (“””) هستند. از هشتگ برای نوشتن کامنت تکخطی که به چند خط ادامه نمییابد استفاده میشود. علامت نقل قول سهگانه نیز برای نوشتن کامنت چند خطی استفاده میشود. سه علامت نقل قول پشت سر هم برای شروع کامنت و دوباره سه علامت نقل قول برای پایان دادن به کامنت به کار میرود.
مثالهای زیر را در نظر بگیرید.
مثال 1:
# Example 1 ####### This is an example ####### print('Hello World') # This is a comment
مثال 2:
# Example 2 """ This example will demonstrate multiple comments """ """ The following a variable contains the string 'How old are you?' """ a = 'How old are you?' """ The following statement prints what's inside the variable a """ print(a)
خروجی:
?How old are you
توجه کنید که وجود هشتگ در یک رشته، آن را به کامنت تبدیل نمیکند. به مثال زیر توجه کنید.
# Example """ The following statement prints the string stored in the variable """ a = 'This is # not a comment #' print(a) # Prints the string stored in a
فضاهای خالی
پراستفادهترین کاراکترهای فضای خالی به همراه کد ASCII آنها در جدول زیر آورده شدهاند.
Literal Expression | ASCII Code | Character |
‘ ‘ | 32 (0x20) | space |
‘t\’ | 9 (0x9) | tab |
‘n\’ | 10 (0xA) | newline |
فضای خالی اغلب توسط مفسر پایتون نادیده گرفته میشود و عمدتاً نیازی به آن نیست. وقتی روشن است که یک توکن کجا به پایان میرسد و توکن بعدی از کجا شروع میشود، که میتوان از فضای خالی صرف نظر کرد.
این موضوع زمانی حائز اهمیت است که با کاراکترهای غیر الفبایی خاصی سر و کار داریم.
مثال 1:
# Example 1 # This is correct but whitespace can improve readability a = 1-2 # Better way is a = 1 - 2 print(a)
مثال 2:
# Example 2 # This is correct # Whitespace here can improve readability. x = 10 flag =(x == 10)and(x<12) print(flag) """ Readable form could be as follows x = 10 flag = (x == 10) and (x < 12) print(flag) """ # Try the more readable code yourself
فضاهای خالی برای جداسازی کلمات کلیدی از متغیرها یا سایر کلمات کلیدی ضروری هستند. به مثال زیر توجه کنید.
مثال 3:
# Example x = [1, 2, 3] y = 2 """ Following is incorrect, and will generate syntax error a = yin x """ # Corrected version is written as a = y in x print(a)
فضاهای خالی به عنوان تورفتگی
سینتکس پایتون بسیار ساده است، اما هنوز هم باید در نوشتن کد دقت کرد. تورفتگی در نوشتن کدهای پایتون استفاده میشود.
فضاهای خالی قبل از یک دستور نقش مهمی دارند و در تورفتگی استفاده میشوند. فضای خالی قبل از یک دستور میتواند معنای متفاوتی داشته باشد. بیایید یک مثال را بررسی کنیم.
# Example print('foo') # Correct print('foo') # This will generate an error # The error would be somewhat 'unexpected indent'
فضاهای خالی در ابتدای خط برای تعیین گروهبندی دستورات، مانند حلقهها یا ساختارهای کنترلی و غیره، استفاده میشوند. برای درک بهتر مطلب، یک مثال دیگر را بررسی می کنیم.
# Example x = 10 while(x != 0): if(x > 5): # Line 1 print('x > 5') # Line 2 else: # Line 3 print('x < 5') # Line 4 x -= 2 # Line 5 """ Lines 1, 3, 5 are on same level Line 2 will only be executed if if condition becomes true. Line 4 will only be executed if if condition becomes false. """
خروجی:
x > 5 x > 5 x > 5 x < 5 x < 5