فصل سوم آموزش پایتون مقدماتی - نحو یا Syntax مقدماتی

سلام دوستانبا ادامه ی کتاب پایتون مقدماتی که به همراه دوست عزیزم جناب مهندس مهدی عباسپور شاهمرس نوشته و چاپ کردیم در خدمتتون هستیم. https://virgool.io/@mahdi.abbaspour.sh با وجود این که زبان پایتون، شباهت‌‌های زیادی به زبان‌‌های Perl، C و Java دارد، برخی از تفاوت‌‌های مشخص، بین همه زبان‌‌ها وجود دارد.3-1- اولین برنامه پایتوندر این ‌زبان، برنامه‌‌ها را در حالت‌‌های مختلف برنامه‌‌نویسی کرده و اجرا می‌‌کنیم. در ادامه به بررسی آن‌‌ها خواهیم‌‌پرداخت.3-1-1- برنامه‌‌نویسی تعاملی[1]فراخوانی مترجم بدون استفاده از یک فایل اسکریپتی، که به صورت سریع مانند شکل (3-1) اجرا و نمایش داده می‌‌شود.شکل (3-1) برنامه‌‌نویسی تعاملیاگر از پایتون‌‌های نسخه2 استفاده می‌‌کنید، متن شکل (3-2) را در پنجره prompt ویا ترمینال پایتون تایپ‌‌کرده و کلید Enter را فشار دهید. از آن جایی که بیشتر مترجم‌‌های آنلاین از این روش استفاده می‌‌کنند، مثال‌‌های ما نیز به این صورت هستند.شکل (3-2)ولی اگر از پایتون3 استفاده می‌‌کنید، لازم‌‌است عبارت مربوط به print را در داخل پرانتز قرار دهید. به هر حال جواب، به شکل (3-3) خواهد‌‌بود.شکل (3-3)[1] Interactive Mode Programming3-1-2- برنامه‌‌نویسی اسکریپتیدر این روش، کدها را در یک فایل ‌اسکریپت نوشته و سپس آن ‌را اجرا می‌‌کنیم. نرم‌‌افزار پایتون با فراخوانی مترجمِ خود، شروع ‌به اجرای اسکریپت می‌‌نماید. زمانی که اجرای اسکریپت به پایان رسید، پایتون مترجم‌ را غیرفعال می‌‌نماید.حال می‌‌خواهیم یک برنامه ساده‌‌ی پایتون را در فایل ‌اسکریپت بنویسیم. فایل‌‌های پایتون دارای پسوند py هستند. کد شکل (3-4) را در فایلی به نام test.py تایپ‌‌کرده و ذخیره‌‌کنید.شکل (3-4)با فرض این که مترجم ‌پایتون شما، در متغیر PATH تنظیم شده‌‌باشد، برنامه را همانند آن چه در شکل (3-5) می‌‌بینید، اجرا می‌‌کنیم. بنابراین، جواب مثال ‌ما در این ‌روش نیز به صورت شکل (3-3) خواهدبود.شکل (3-5)در ادامه می‌‌خواهیم روش دیگری را برای اجرای اسکریپت پایتون تجربه‌‌کنیم. فایل test.py را به شکل (3-6) اصلاح‌‌کردیم.شکل (3-6)در این جا فرض ما بر این است که، مسیر مترجم پایتون در دایرکتوری /usr/bin قرار دارد. بایستی به فایل test.py حالت اجرایی بدهیم. قطعه کد موجود در شکل (3-7) را اجرا می‌‌کنیم. سطر اول، وظیفه تغییر حالت فایل و سطر دوم، وظیفه‌‌ی اجرای آن ‌را دارد. خواهیم‌‌دید که خروجی برنامه، همچنان مانند نتایج قبلی خواهدبود.شکل (3-7)3-2- شناسه‌‌های پایتون[1]یک شناسه‌‌ی ‌پایتون، نامی است که برای شناسایی یک متغیر، تابع، کلاس، ماژول ویا اشیای دیگر مورد استفاده قرار می‌‌گیرد. هر شناسه با یک حرف (A تا Z ویا a تا z) ویا علامت خطِ‌‌زیر[2] آغاز شده و بعد از آن می‌‌تواند شامل عدد نیز باشد. به عبارت دیگر، هیچ شناسه‌‌ای در پایتون نمی‌‌تواند با عدد آغاز شود.همچنین پایتون اجازه‌‌ی استفاده از نشانه‌‌های @، $ و % را در شناسه‌‌ها نمی‌‌دهد. از خصوصیت دیگر شناسه‌‌ها، حساسیت به حروف کوچک و بزرگ (Case Sensitive) است. بنابراین var1 و Var1 دو شناسه‌‌ی کاملا متفاوت در پایتون هستند. می‌‌خواهیم یک قرارداد برای نام‌‌گذاری شناسه‌‌های پایتون داشته‌‌باشیم.نام کلاس‌‌ها با حروف ‌بزرگ و دیگر شناسه‌‌ها با حروف ‌کوچک شروع می‌‌شوند.شناسه‌‌ای که با یک خطِ‌‌زیر شروع‌‌شود، یک شناسه خصوصی است.وقتی شناسه‌‌ای با دو علامت خطِ‌‌زیر شروع‌‌شود، به احتمال زیاد، یک شناسه‌‌ی خصوصی است.اگر انتهای شناسه‌‌ای به دو خطِ‌‌زیر منتهی ‌شود، یک نام خاص و تعریف‌‌شده توسط زبان پایتون است.[1]Python Identifier [2]Underscore3-3- کلیدواژه‌‌هاشکل (3-8) لیستی از واژه‌‌های رزرو شده‌‌ی پایتون را نشان می‌‌دهد. از آن جایی که چنین کلماتی برای عملیات خاصی رزرو شده‌‌اند، شما نمی‌‌توانید از آن‌‌ها به‌‌عنوان متغیر ویا هر شناسه دیگری استفاده‌‌کنید. همه کلمات‌‌کلیدی پایتون حروف کوچک هستند.شکل (3-8)3-4- سطرها و تورفتگی‌‌ها [1]پایتون برای نشان‌‌دادن شروع و پایان بلوک‌‌های کد، تعاریف کلاس‌‌ها و توابع ویا کنترل‌‌جریان[2]، هیچ علامت یا نشانه‌‌ای ندارد. فاصله ایجاد شده در هر سطر نمایان‌‌گر وابسته‌‌بودن آن سطر به کد بالاتر است که این تورفتگی‌‌ها در زمان اجرا به‌‌شدت کنترل می‌‌شود.تعداد فضاهای خالی[3]در شروع سطرها می‌‌تواند متغیر باشد، به شرطی که تمامی آن‌‌ها دارای فواصل مشابهی باشند. به عنوان مثال، سه کاراکتر فاصله، برای هر سطر در‌‌نظر گرفته‌‌شود. شکل (3-9) نمونه‌‌ای از این تورفتگی‌‌ها را نشان‌‌می‌‌دهد.شکل (3-9)با این توضیح، قطعه کد شکل (3-10)، در زمان اجرا با خطا مواجه خواهدشد.شکل (3-10)بنابراین، در پایتون، تمام خطوط پیوسته با تعداد فضای خالی یکسان، یک بلوک را تشکیل می‌‌دهند. مثال شکل (3-11) بیان‌‌گر این موضوع است.توجه: در حال حاضر سعی‌‌نکنید منطق این مثال را در این لحظه درک‌‌کنید. فقط مطمئن‌‌شوید که مفوم بلوک‌‌بندی صحیح را به خوبی متوجه‌‌شدید.شکل (3-11)[1] Lines and Indentation [2] Flow control [3] Space3-5- دستورات چندخطیبه طور معمول، هر دستوری در پایتون با یک علامت خط جدید، پایان می‌‌یابد. با این حال، شما در پایتون این اجازه را دارید که از کاراکتر ادامه‌‌ی خط یعنی "\" (از این به‌ بعد این علامت را به نام کاراکترپیوند‌‌خطوط خواهیم‌‌شناخت) استفاده‌‌کنید. همان طوری که در شکل (3-12) مشاهده می‌‌نمایید، این علامت نشان می‌‌دهد که خط دستور باید در سطر بعد نیز ادامه‌‌یابد.شکل (3-12)در شکل (3-13)، مشاهده می‌‌کنید که دستورات درون علامت‌‌های []، {}، یا () نیازی به استفاده از کاراکتر پیوند خطوط ندارند.شکل (3-13)3-6- نقل‌‌قول یا کوتیشین[1]پایتون از تک‌‌کوتیشین و جفت‌‌کوتیشین برای تعریف رشته‌‌ها استفاده می‌‌کند. همچنین سه‌‌جفت‌‌کوتیشین برای نمایش رشته‌‌های چندخطی کاربرد دارد. گفتنی‌‌است که شروع و پایان یک رشته، بایستی از یک نوع کوتیشین باشد. در شکل (3-14) تعدادی از آن‌‌ها را مشاهده می‌‌نمایید.شکل (3-14)[1]Quotation3-7- نظر یا کامنت[1]زمانی که یک علامت هش[1] (یعنی #) نمایان می‌‌شود، نوشته‌‌های بعد از آن در سطر جاری به عنوان کامنت درنظر گرفته می‌‌شود. اجباری‌‌نیست که همیشه یک کامنت از سطر جدیدی شروع‌‌شود، گاهی می‌‌توان آن‌‌ها را بعد از یک دستور و برای توضیح در مورد آن استفاده‌‌نمود. نمونه‌‌ای از آن‌‌ها را در شکل (3-15) می‌‌بینیم که نتیجه اجرای آن نیز در شکل (3-16)، قابل مشاهده است. البته در ادامه با روش‌‌های دیگری نیز آشنا خواهیم‌‌شد. کامنت‌‌بودن یک خط به این معنی‌‌است که مترجم پایتون آن را نادیده بگیرد.شکل (3-15)شکل (3-16)همچنین برای داشتن کامنت‌‌های چندخطی می‌‌توان به یکی از روش‌‌هایی که در شکل‌‌های (3-17) و (3-18) می‌‌بینید، عمل‌‌کرد. روش دوم یکی دیگر از کاربردهای کوتیشن است. در این روش، کامنت‌‌ها با سه‌‌تا تک‌‌کوتیشن آغاز و با آن‌‌ها به پایان می‌‌رسند.شکل (3-17)شکل (3-18)[1]Comments [2]Hash3-8- استفاده از خطوط خالیاگر خطی، فقط حاوی فضای خالی ویا شامل فضای خالی وکامنت باشد، به‌ عنوان یک خط‌‌خالی شناخته‌‌شده و از طرف مترجم پایتون، به طور کامل نادیده گرفته می‌‌شود. در برنامه‌‌نویسی تعاملی، بایستی یک خط خالی را برای خاتمه دستورات چند‌‌ خطی وارد کنید.3-9- در انتظار پاسخِ کاربرقطعه کدی که در شکل (3-19) مشاهده می‌‌کنید، درخواست ورود کلید Enter را برای ادامه‌‌ی کار دارد. در این جا عبارت “\n\n” برای ایجاد دو خط جدید، قبل‌‌از نمایش عبارت اصلی استفاده می‌‌شود. زمانی که کاربر کلید Enter را فشار می‌‌دهد، برنامه به پایان می‌‌رسد. از این ترفند خوب می‌‌توان برای نگه‌‌داشتن پنجره‌‌ی ترمینال استفاده‌‌کرد.شکل (3-19)3-10- چند دستور در یک خطهمان طوری که در شکل (3-20) می‌‌بینید، با استفاده از علامت نقطه‌‌ویرگول[1] می‌‌توان به جای استفاده از بلوک کد، دستورات را پشت سر هم و در یک خط نوشت.شکل (3-20)[1]Semicolon3-11- سوئیت[1] یا مجموعهدر پایتون، هر گروه از دستورات انفرادی که یک بلوک کد واحد را ایجاد می‌‌کنند، یک سوئیت نامیده می‌‌شوند. دستورات ترکیبی ویا پیچیده مانند if، while، def و class نیازمند یک سرآیند ویا هِدر[2] و یک مجموعه کد هستند. خطوط سرآیند با کلمه‌‌کلیدی شروع‌‌شده و با یک علامت دو نقطه[3] خاتمه می‌‌یابند. در ادامه نیز شامل یک یا چند خط کد هستند که مجموعه را تشکیل می‌‌دهند. نمونه‌‌ای از آن‌‌ها را در شکل (3-21) نمایش‌‌دادیم.شکل (3-21)[1]Suite [2]Header [3]Colon3-12- آرگومان‌‌های خطِ فرمان[1]همان گونه که در شکل (3-22) نشان‌‌دادیم، می‌‌توانید برخی از اطلاعات اساسی در مورد چگونگی اجرای کدهای پایتون را با افزودن آرگومان h- در ترمینال مشاهده‌‌کنید. شما می‌‌توانید از چندین آرگومان متوالی نیز در اسکریپت‌‌های خودتان استفاده‌‌نمایید.شکل (3-22)از آن جایی که آرگومان‌‌های خط فرمان، یک موضوع پیشرفته محسوب می‌‌شود، در مباحث پیشرفته، به آن‌‌ها خواهیم‌‌پرداخت.[1]Command Line Argumentsدر پست بعدی به انواع متغیرها خواهیم پرداخت. با ما همراه باشین.