شروع کار با حالت تعاملی مفسر زبان برنامه نویسی پایتون


ساده ترین روش اجرای برنامه های پایتون تایپ کردن آن ها در کامند لاین تعاملی پایتون است که به آن Interactive Prompt (اینتراکتیو پرامپت) گفته می شود. روش های مختلفی برای شروع کار با این کامند لاین وجود دارد که در این جا به بعضی از این موارد اشاره خواهیم کرد:

1- در همان مسیری که پکیج پایتون را نصب کردیم وارد فولدر Python 3.5 می شویم و با کلیک روی برنامه ی python وارد محیط تعاملی آن می شویم. به طور مثال، در زمان نصب پایتون آن را در مسیر C:\Program Files\Python 3.5 نصب کرده ایم و اکنون با مراجعه به این دایرکتوری می توانیم به برنامه ی python.exe دسترسی پیدا کنیم:

با کلیک روی آیکون برنامه و اجرای آن، پنجره ی زیر که محیط تعاملی پایتون است باز می شود:

2- استفاده از سیستم پرامپت که در آموزش قبل با نحوه ی دسترسی به آن در سیستم عامل های مختلف آشنا شدیم. جهت یادآوری در این جا یک بار دیگر نحوه ی باز کردن سیستم پرامپت را دوره می کنیم:

- در ویندوز از طریق پنجره ی کنسول داس که برنامه ای است با نام cmd.exe. ساده ترین راه باز کردن این پنجره فشردن هم زمان کلیدهای Windows+R است و کافی است در پنجره ی باز شده عبارت cmd را تایپ کنید و دکمه ی OK را بزنید تا کامند پرامپت باز شود.
- در مک او اس از طریق دنبال کردن مسیر Applications→Utilities→Terminal و باز کردن پنجره ی ترمینال.
- در لینوکس از طریق یک پنجره ی ترمینال یا شل.

برای مثال تصویر زیر پنجره ی کنسول داس را در سیستم عامل ویندوز نشان می دهد:

دقت داشته باشید بخشی که در تصویر با قرار گرفتن درون دایره ی قرمز رنگ مشخص شده است در همه ی سیستم ها یکسان نیست و به طور مثال در این جا مسیر دایرکتوری پیش فرض سیستم را که در آن قرار داریم مشخص کرده است. بنابراین بدون در نظر گرفتن این تفاوت کافی است دستورات را در جایی که نشان گر چشمک زن قرار گرفته است وارد کنیم تا کامند لاین تعاملی پایتون را مانند حالت قبل باز کنیم. در حقیقت در روش قبل به صورت گرافیکی این کار را انجام دادیم و اکنون می خواهیم با استفاده از دستوراتی که به سیستم می دهیم درخواست ورود به حالت تعاملی پایتون را بدهیم. برای این منظور، ابتدا با استفاده از دستور cd و رفتن به مسیری که پکیج پایتون را در آن نصب کرده ایم، وارد دایرکتوری مربوطه می شویم. به طور مثال در تصویر زیر می بینید که این تغییر در دایرکتوری چه طور اتفاق می افتد:

اکنون کافی است دستور python را وارد کنیم تا وارد حالت تعاملی پایتون شویم:

البته در صورتی که برنامه ی پایتون در مسیر جستجوی برنامه های سیستم شما قرار گرفته باشد نیازی به استفاده از دستور cd برای تغییر مسیر نیست و از همان ابتدا می توان با تایپ کردن دستور python در پنجره ی کامند لاین و فشردن کلید اینتر وارد حالت تعاملی پایتون شد.

برای این کار باید متغیر محیطی PATH سیستم خود را طوری تنظیم کرده باشید که دایرکتوری نصب پایتون را در بر گیرد. اگر به خاطر داشته باشید در زمان نصب نسخه ی 3.5 با تیک زدن گزینه ی موجود، به صورت خودکار این مسیر را به متغیر PATH اضافه می کردیم. با این حال در نسخه ی ویندوز پایتون از شماره ی 3.3 به بعد بخش استاندارد Launcher (لانچر) افزوده شده است که با استفاده از آن دیگر نه نیازی به استفاده از دستور cd و تغییر پوشه است و نه نیازی به پیکربندی و تنظیم متغیر PATH، بلکه برای ورود به حالت تعاملی پایتون از طریق خط فرمان سیستم کافی است دستور py را وارد کرده و کلید اینتر را فشار دهید:

نکته
به منظور خروج از حالت تعاملی ارتباط با مفسر پایتون در کامند لاین سیستم می توان از کلیدهای ترکیبی Ctrl+Z در سیستم عامل ویندوز و کلیدهای ترکیبی Ctrl+D در سیستم های مبتنی بر یونیکس (مک او اس و لینوکس) و سپس فشردن کلید اینتر استفاده کرد. به علاوه در تمام سیستم ها و برنامه ها می توان از دستور ()quit برای خروج از حالت تعاملی کار با مفسر پایتون استفاده کرد.

3- استفاده از حالت تعاملی واسط برنامه نویسی IDLE که در بخش های بعد به طور مفصل با آن آشنا خواهیم شد.

در تمام روش های یاد شده پس از ورود به حالت تعاملی پایتون در قسمت بالا توضیحاتی در مورد نسخه ی پایتون مورد استفاده و سیستم عامل کامپیوتر نوشته شده است. اگر در تصویر دقت کنید در آخرین خط، نشان گر <<< را می بینید که command prompt نامیده می شود. هر بار که این علامت روی صفحه نمایش داده شود بیانگر آن است که مفسر پایتون منتظر است تا شما کد خود را در پنجره وارد کنید. علاوه بر این گاهی علامت … را خواهید دید که باز هم نشان می دهد مفسر در انتظار نوشتن کدهای بیش تری است که این حالت را بعداً در وارد کردن دستورات مرکب مثل تعریف توابع که در چند سطر نوشته می شوند خواهیم دید. پس از وارد کردن کدها، کافی است کلید اینتر را فشار دهید تا مفسر کدها را بلافاصله اجرا کند و در صورت لزوم نتیجه را گزارش دهد.

نکته یی که باید به آن توجه داشته باشیم این است که در زمان کار با حالت تعاملی پایتون کدها به هیچ وجه ذخیره نخواهند شد. بنابراین شاید این پرسش مطرح شود که اصلاً استفاده از حالت تعاملی پایتون چه مزیتی دارد؟ در حقیقت از حالت تعاملی زمانی استفاده می کنیم که بخواهیم قطعه کدهای کوچک را آزمایش و اجرا کنیم و سریعاً جواب بگیریم. برای مثال فرض کنید در یک برنامه ی بزرگ با تعداد زیادی کد، دستور زیر نوشته شده باشد:

"SokanAcademy.com " * 3

و ما به عنوان یک فرد مبتدی که هیچ گونه آشنایی قبلی با سینتکس این دستور ندارد نمی دانیم که چه کاری را انجام می دهد. برای دانستن این مطلب باید به منابع مختلف رجوع کنیم و احتمالاً زمانی را صرف پیدا کردن مفاهیم مربوط به آن کنیم. با این وجود حالت تعاملی پایتون این امکان را فراهم می کند که دستور مربوطه را وارد کنیم و در کسری از ثانیه نتیجه را ببینیم. این کار را امتحان می کنیم:

>>> "SokanAcademy.com " * 3
'SokanAcademy.com SokanAcademy.com SokanAcademy.com '

همان طور که می بینید بدون آن که نیاز به مراجعه به مستندات پایتون داشته باشیم، با امتحان کردن در حالت تعاملی سریعاً به این نتیجه می رسیم که دستور فوق متن سمت چپ * را به تعدادی که در سمت راست آن آمده است تکرار می کند. به علاوه گاهی اطلاعاتی را از حالت تعاملی دریافت می کنیم که به ما در پیدا کردن خطاهای برنامه کمک خواهد کرد. برای مثال کد زیر را در نظر بگیرید که در حالت تعاملی پایتون وارد شده است:

>>> if age > 10 : age +=1
Traceback (most recent call last):
  File "<pyshell#14>", line 1, in 
    age
NameError: name 'age' is not defined

صرف نظر از این که دستور وارد شده چه کاری را انجام می دهد، همان طور که می بینید با اجرای آن مفسراعلام می کند که خطایی رخ داده است و نام یا شناسه ی age که در این دستور بکار رفته از قبل تعریف نشده است.

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
MrR0b0t
MrR0b0t
آیا باید کلا آموزش نسخه 2.7 پایتون رو فراموش کرد؟
محمدعلی بحرینی
محمدعلی بحرینی
سلام خدمت شما کاربر گرامی.
خیر. هنوز هم کسانی هستند که روی پروژه هایی کار می کنند که با ورژن 2.7 پایتون نوشته شده اند و اگر در آینده این فرصت برای شما پیش بیاید که با یکی از آنها کار کنید، اینکه هیچ چیز از نسخه 2.7 ندانید یک امتیاز منفی برای شما خواهد بود.
بنابراین بهترین گزینه برای شروع یادگیری، پایتون نسخه 3 هست و در عین حال دانستن تفاوت های هر مبحث در نسخه 2.
به این ترتیب، از بهترین راه ممکن پایتون را یاد خواهید گرفت و در عین حال قادر خواهید بود روی پروژه های پیاده سازی شده با نسخه 2 هم کار کنید.
اصطلاحی برای این شکل از کار در علم کامپیوتر وجود دارد با عنوان Backward Compatibility

در پاسخ به

saeedx4
saeedx4
ساختار نسخه تر 3 تمیزتر شده و آینده پایتون با نسخه 3 است و آقای رسوم و کامیونیتی پایتون هم پیشنهاد میکنن که همه از نسخه 3 استفاده کنن و نسخه دو تا سال 2020 پشتیبانی میشه و بعد از اون معلوم نیست سرنوشت نسخه 2 چی میشه برای اطلاعات بیشتر و تکنیکالتر از تفاوت نسخه 2و 3 پایتون می تونید به وب سایت ramzey.ir مراجعه کنید.
کاربر میهمان
کاربر میهمان
اگه میشه تفاوت های نسه دو و سه رو بگین
کاربر میهمان
کاربر میهمان
سلام خداقوت
یه سوال دارم
کد پایتونی که نوشتم و ذخیره کردم وقتی روش کلیک میکنم اجرا بشه صفحه تو یه چشم بهم زدن باز میشه و بسته میشه
و نمیتونم خروجی رو ببینم
میدونید مشکلش کجاس
مرسی
saeedx4
saeedx4
در آخرین خط برنامه تون این دستور رو بنویسید
()input

در پاسخ به

mrafzian
mrafzian
من از پایتون ورژن 3.4 استفاده میکنم قبلش 2.7 بود که UNINSTAL کردم
لطفا بگید چی کار کنم ؟ نا امیدم کرده
این پیغام بر رویIDLE UESTUDIO هم ظاهر میشه من رو واقعا نا امیدکرده لطفا کمکم کنید
mrafzian
mrafzian
با سلام خدمت استاد بزرگوار
بنده به تازگی شروع به یادگیری حرفه ای برنامه نویسی کردم
الان با زبان PYTHON دارم کار میکنم
در حال حاضر از 5.1 WING IDLE استفاده میکنم . الان به یک مشکل خوردم که نمی تونم حلش کنم
زمانی که یک ماژول را IMPORT میکنم برای مثال ماژول RANDOM استفاده میکنم و وقتی از تابع آن استفاده میکنم زمان RUN کردن برنامه با چنین پیغام خطایی در خط اجرای تابع آن ماژول مواجه میشوم
builtins.TypeError: 'module' object is not callable
هر چه گشتم نفهمیدم چی کار کنم
علی فلاحتی
علی فلاحتی
سلام خدمت شما عزیزان . از مطالب بسیار عالی تان ممنونم. یک بیشنهاد دارم در صورت امکان دکمه های بعدی و قبلی را در آخر هر آموزش قرار دهید تا بتوان راحت در بین آموزش ها جابجا شد و نیازی به اسکرول نباشد. ممنون
ادمین سایت
ادمین سایت
کاربر گرامی سلام
احتراما به استحضار می رساند که این قابلیت به دوره های آموزشی سکان آکادمی اضافه گردید.

با تشکر
ارادتمند
تیم سکان آکادمی

در پاسخ به

کاربر میهمان
کاربر میهمان
سلام خداقوت
یه سوال دارم
کد پایتونی که نوشتم و ذخیره کردم وقتی روش کلیک میکنم اجرا بشه صفحه تو یه چشم بهم زدن باز میشه و بسته میشه
و نمیتونم خروجی رو ببینم
میدونید مشکلش کجاس
مرسی
aherehef
aherehef
سلام با عرض خسته نباشید.ادامه آموزش .بعد فصل 5 کی میذارید رو سایت که ما بهره مند بشیم.با سپاس فراوان
ادمین سایت
ادمین سایت
با سلام و عرض ادب
احتراما به استحضار می رساند که ادامه ی آموزش ها در دست تالیف است و به محض تکمیل، منتشر خواهند شد.

با تشکر
ارادتمند
تیم سکان آکادمی

در پاسخ به

Need
Need
Dfn منظورم همون def هست دایم اشتب مینویسم
نرگس اسدی
نرگس اسدی
سلام، دوست عزیز اولاً خواهش می کنم به اعصاب خودتون مسلط باشید، برنامه نویس باید پر حوصله تر از این حرف ها باشه. بعد هم این که در مورد اول در آموزش های بعدی یاد می گیرید که چطور در حالت اسکریپتی در محیط توسعه ی آیدل کد بزنید که با رفتن به خط بعدی کدها سریعاً اجرا نشه. در مورد سوال دوم هم لطفاً بفرمایید چه اروری دریافت می کنید. حدس می زنم شما تورفتگی را در زمان وارد کردن دستورهای درون بدنه ی فانکشن رعایت نمی کنید که باید به آموزش این مبحث مراجعه کنید. توصیه می کنم اگر با این مجموعه آموزش می بینید در هر بخش نکته های مربوط به همان آموزش رو گام به گام یاد بگیرید و عجله نداشته باشید.

در پاسخ به

Need
Need
ببخشید اعصابم خورده همش اشتباه مینویسم
Dfn ghg(): بعد خط بعدی هرچی بنویسم غرور میده
Need
Need
این برنامه
Dfn ghg():
Print x
ارور
Need
Need
و دومی چهپطور برای این که بدون اجرای دستور بریم خط بعدی؟
saeedx4
saeedx4
همچین کاری در حالت تعاملی پایتون قابل انجام نیست
حالت تعاملی پایتون طوری طراحی شده که یک دستور بنویسید و خروجی اون رو ببینید مگر اینکه بخواهید بلاکی از کد تعریف کنید که به شما اجازه میده بدنه بلاک رو بنویسید و در نهایت بعد از اتمام بدنه می تونید بلاک رو اجرا کنید. اصلا معنی نداره که بخواهید در حالت تعاملی دستوری بنویسید و بدون اجرا برید خط بعدی اگر همچین چیزی می خواهید باید از حالت اسکریپتی استفاده کنید یعنی file -> new و یک فایل خالی ایجاد میشه کدها رو اونجا بنویسید و با دکمه f5 اجرا کنید.

در پاسخ به

Need
Need
من دو تا مشکل دارم یکی این که def رو تعریف میکنم بعدش هرچی مینویسم غرور میده
saeedx4
saeedx4
def کلمه کلیدی برای ایجاد تابع است بعد از نوشتن def باید نام تابع به همراه پارامترها رو وارد کنید و سپس کولن رو بگذارید و اینتر رو فشار بدید و برید خط بعدی و بدنه تابع رو بنویسید.

در پاسخ به

Need
Need
بکبم
Need
Need
سلام من تازه شروع کردم به برنامه نویسی پایتون و دو مشکل دارم اولی این که بخوام دستوری بنویسم و بدون اجرا برم خط بعدی باید چیکار کنم؟دوم من اینو تو موبایل مینویسم غرور میده چرا؟
:()dfn fgj
Print x
یعنی تا دیفاین رو میزنم زیرشدیه سه خط میاد و هرچی بنویسم غرور میده
هیراد
هیراد
با سلام
من وقتی CMD رو باز میکنم ، و py رو تایپ میکنم ، نمیره تو حالت تعاملی پایتون.با اینکه موقع نصب من Default زدم و آخرش هم Successful داد.فک کنم باید به PATCH اضافه کنم ولی نمیخوام jdk که به PATCH اضافه کردم از بین بره ، میخوام فقط پایتون اضافه شه..
ممنون میشم اگه کامل توضیع دهید.. خیلی خیلی ممنون از این همه آموزش های خوبتون..
نرگس اسدی
نرگس اسدی
سلام
دوست عزیز برای این که دستگاه شما بفهمه که هسته ی پایتون در کدام بخش از حافظه ی کامپیوتر شما ذخیره شده باید مسیر نصب پایتون را به متغیر PATH سیستم اضافه کنید و این مشکلی برای jdk ایجاد نمی کنه. اگر این کار رو نکنید همانطور که توضیح داده شده باید مسیر کامل را وارد کنید تا وارد حالت تعاملی پایتون بشید.

در پاسخ به

Skye
Skye
سلام . من طبق اموزش شما پایتون ۳ رو به صورت دیفالت قرار دادم. اما متاسفانه الان توی محطی ترمینال خیلی از دستورات اجرا نمی شن. برای مثال وقتی تایپ میکنم Katoolin قبلا پکیج مربوطه باز میشد ولی الان این ارور رو میده:
File "/usr/bin/katoolin", line 23
'''
^
SyntaxError: Missing parentheses in call to 'print'

چجوری باید این مشکل رو حل کنم؟؟؟ اینو سرچ هم کردم ولی راه حلی پیدا نکردم لطفا کمک کنید :((
نرگس اسدی
نرگس اسدی
سلام دوست عزیز خطای سینتکسی برنامه ی شما به دلیل قرار ندادن پرانتز برای تابع پرینته . تفاوت فاحش نسخه ی 2 و 3 پایتون هم در همین پرانتزه که در نسخه ی 3 اجباریه.

در پاسخ به

Skye
Skye
ممنون از پاسختون ... متوجه این تفاوت بین پایتون ۲ و ۳ شده بودم اما نمی دونم الان چطور باید این مشکل رو حل کنم؟!!! برای مثال همون پکیج Katoolin رو توی محیط ترمینال چطور باید اجرا کنم که اجرا بشه و ارور نده؟!! اخه توی رانتز هم که میزارم باز هم ارور میده ... همینطور میشه راهنمایی بفرمایید که اگه نسخه پایتون رو از ۳ به ۲ برگردونم این مشکل حل میشه؟
با تشکر زیاد از لطفتون

در پاسخ به

نرگس اسدی
نرگس اسدی
نه نیازی به تغییر نسخه نیست. چون من اروری که می بینم این جا اینه SyntaxError: Missing parentheses in call to 'print .شما تو کدهاتون از دستور پرینت استفاده کردید وقتی print رو نوشتید بعد پرانتزهای بازو بسته رو قرار می دید () و چیزی که قراره پرینت بشه رو بین پرانتز ها می نویسید. تو نسخه ی دو نیازی به گذاشتن این پرانتزها نیست ولی الان ارور میده. البته این چیزیه که من این جا می بینم و شاید برنامتون خطاهای دیگه ای هم داشته باشه.

در پاسخ به