X
تبلیغات
رایتل
پشم سنگ عایق الاستومری
چهارشنبه 28 اسفند‌ماه سال 1387
توسط: آلفا پک

معرفی زبان برنامه نویسی

 یا 

 

دو تعریف ساده اما کاملا متمایز پایتون (یا فایتون) یک افسانه قدیمی در یونان باستان است که اشاره به اژدهای غیب گو دارد و در کامپیوتر به معنای زبان برنامه نویسی شی گرا می باشد 

به نقل از کتاب : 

Pythonیکی از آن زبان های کمیابی است که می تواند ادعای قدرتمند بودن و ساده بودن را داشته باشد. شما وقتی پی خواهید برد که به خوبی شگفت زده خواهید شد از این که تمرکز کردن روی راه حل مشکل آسان است، سریع تر ازترکیب و ساختار زبانی که دارید در آن برنامه نویسی می کنید.معرفی رسمیPythonاین است: Pythonیک زبان برنامه نویسی با یادگیری آسان و قدرتمند است.Pythonیک ساختمان داده سطح بالای کارامد ویک روش ساده اما موثر را برای برنامه نویسی شیء گرایی دارد.ترکیب زیبا و ماشین نویسی پویایPython، با هم همراه ذات مفسر گونه اش، آن را تبدیل به زبانی ایده آل برای اسکریپت نویسی و توسعه سریع نرم افزارها  در اکثر پلتفورم ها تبدیل کرده است.من بیشتر این قابلیت ها را با جزئیات بیشتری در بخش بعدی ذکر خواهم کرد.توجهگیدو ون روسوم، سازنده زبانPython،نام این زبان را بعد از نمایش "Monty Python's Flying Circus" بیبی سی گذاشت. او مخصوصا مارهایی که با پیچش بدنشان دور حیوانات و فشار دادن آنها، آن ها را برای غذا میکشتند، دوست نداشت. 

قابلیت هایPython 

سادگیPythonیک زبان ساده و ساده گرا است. خواندن متن یک برنامه خوب که باPythonنوشته شده است، مثل خواندن انگلیسی است، هرچند یک انگلیسی سخت! این سرشت کد کاذبPython، یکی از بزرگترین نقاط قوت آن است. این به شما اجازه می دهد که روی راه حل مشکلات سریعتر از خود برنامه تمرکز کنید. 

سادگی یادگیری 

 همان طور که می دانید، شروع به کار کردن با Python بسیار آسان است. همان طور که قبل گفته شد،Pythonیک ترکیب فوق العاده آسان دارد.آزاد و متن باز بودنPythonیک نمونه ازFLOSSیاFree/Libr and Open Source Softwareéاست. به عبارت ساده تر، شما به طور آزادانه می توانید کپی هایی از این نرم افزار را توزیع کنید، متن آن را بخوانید، تغییراتی را در آن ایجاد کنید،قطعه هایی از آن را در برنامه های آزاد جدید به کار ببرید، و همان طور که می دانید، می توانید این کارها را انجام دهید.FLOSSبر پایه اندیشه یک اجتماع است که اطلاعات خودشان را به اشتراک می گذارند. این یکی از دلایل خیلی خوب بودنPythonاست - این ساخته شده است و دائما توسط یک اجتماع که فقط می خواهند یک Pythonبهتر را ببینند، بهبود می یابد. 

زبان سطح بالا بودن 

 وقتی شما در حال برنامه نویسی باPythonهستید، شما هرگز نیازی به نگرانی در مورد جزئیات سطح پایین بودن مثل مدیریت حافظه اشغال شده توسط برنامه ندارید.قابلیت حمل به علت طبیعت متن باز آن،Pythonبه پلتفورم های بسیاری برده شده است (یعنی تغییراتی برای کار کردن روی پلتفورم های در آن داده شده است). تمام برنامه های شما، می توانند روی هر کدام از این پلتفورم ها بدون لزوم داشتن هیچ تغییری کار کنند، اگر شما به اندازه کافی مراقب باشید که برخی قابلیت های سیستم های بخصوصی را به کار نبرید.شما می توانیدPythonرا در،Linux، Windows، FreeBSD، Macintosh، Solaris، OS/2، Amiga،AROS، AS/400، BeOS، OS/390، z/OS، Palm OS، QNX، VMS، Psion، Acorn RISC OSVxWorks، PlayStation، Sharp Zaurus، Windows CEو حتیPocket PCهم استفاده کنید! 

 تفسیر شده بودن 

این کمی توضیح لازم دارد.یک برنامه که در زبان های کامپایل شده مانندCو++ Cنوشته شده باشد، از زبان اصلی یعنیCیا++ Cبه زبان کامپیوتر (کدهای باینری یعنی0ها و1ها) به وسیله یک کامپایلر همراه چندین انتخاب و پرچم تبدیل می شود. وقتی شما برنامه را اجرا می کنید، برنامه پیوند دهنده(linker)/بارگذار(loader) برنامه را از هارددیسک به حافظه کپی می کند و اجرای آن را شروع می کند.از سویی دیگر،Python، تبدیل شدن به باینری را لازم ندارد. شما تنها مستقیما برنامه را از سورس کد آن اجرا میکنید. از درون،Pythonسورس کد را در داخل یک شکل متوسط به نامbytecodesتبدیل می کند و سپس این رابه زبان کامپیوتر شما ترجمه می کند و سپس آن را اجرا می کند. تمام این ها، در حقیقیت استفاده ازPythonرا آسان می کند، چون لزومی ندارد که در مورد کامپایل کردن برنامه نگران باشید و مطمئن شوید که کتابخانه های مناسب لینک شده و لود شده باشند. همچنین این برنامه شما را خیلی بیشتر قابل حمل خواهد کرد، از آن جایی که شما می توانید فقط برنامه خود را به کامپیوتر دیگری منتقل کنید و کار خواهد کرد!شیء گراییPython پردازه گرایی(procedure-oriented) را به خوبی شیء گرایی(object-oriented) پشتیبانی می کند.در زبان های پردازه گرا، پیرامون پروسه ها و توابعی ساخته می شود که هیچ چیز نیستند، اما برای قسمت هایی ازبرنامه قابل استفاده مجدد هستند. در زبان های شیء گرا، برنامه پیرامون شیء هایی ساخته می شود که داده ها وعملکرد سیستم را ترکیب می کند.Pythonیک راه قدرتمند، اما ساده را برای انجامOOPدارد. مخصوصا وقتی که با زبان هایی بزرگی مثلJavaو++ Cمقایسه شود. 

توسعه پذیری  

اگر شما به یک قطعه کد خطرناک برای اجرای بسیار سریع نیاز دارید یا می خواهید چند قطعه الگوریتم که باز نشوندداشته باشید، می توانید آن قسمت از برنامه تان را درCیاC++ برنامه نویسی کنید و سپس آن ها را از برنامه خود استفاده کنید. 

قابلیت جا دادن 

 شما می توانیدPythonرا در داخل برنامه هایی که با/C++ Cنوشته اید، جا بدهید تا بتوانید قابلیت اسکریپت نویسی را به کاربرانتان بدهید.کتابخانه های گسترده کتابخانه استانداردPythonبه راستی بزرگ است. این به شما کمک می کند که چیزهای گوناگونی را شامل

واردکردن عبارات منظم، تولید مستندات، آزمایش دستگاه، رشته کشی(threading)، پایگاه داده، مرورگر وبCGI، FTP،Email، XML، XML-RPC، HTML، فایل هایWAV، رمزنگاری کردن،GUI(رابط کاربریگرافیکی)،Tkو بقیه چیزهای وابسته به سیستم را انجام دهید. به یاد داشته باشید که تمام این ها همیشه درهرجاکه Python نصب شده باشد، قابل دسترسی است. این به عنوان "قوه های درون گذاشته" فلسفهPythonیاد می شود.گذشته از این کتابخانه استاندارد، کتابخانه های باکیفیت گوناگونی مانندwxPython(به نشانیhttp://wxpython.org) وTwisted(به نشانیhttp://www.twistedmatrix.com/products/twisted) وPython Imaging Library(به نشانیhttp://www.pythonware.com/products/pil/index.htm) و کتابخانه های خیلی زیادتری نیز وجوددارند.خلصهPythonواقعا یک زبان مهیج و قدرتمند است.Pythonترکیب کارائی و ویژگی درستی دارد که نوشتن برنامه هادرPythonرا مفرح و آسان می کند. 

چرا Perl نه؟ 

اگر قبل نمی دانستید،Perlیکی دیگر از زبان های برنامه نویسی به شدت محبوب متن باز تفسیر شده است.اگر تا به حال به نوشتن یک برنامه بزرگ درPerlتلاش کرده باشید، شما این سوال را از خود پرسیده اید! به عبارتی دیگر، برنامه هایPerlتا وقتی آسان هستند که کوچک باشند و برای انجام دادن کارها، بر بهبودهای فنی کوچک و اسکریپت ها برتری دارد. هرچند از زمانی که شما شروع به نوشتن برنامه های بزرگ تر نمایید، آنها سریع سنگین می شوند و من در مورد سابقه ام در مورد نوشتن برنامه هایPerlبزرگ برای یاهو صحبت می کنم!هنگامی کهPerlوPythonبا هم مقایسه می شوند، برنامه های نوشته شده با Python قطعا ساده تر و واضح ترهستند و نوشتن آن ها آسان تر است و از این رو قابل فهم تر هستند و نگهداری از آنان آسان تر است. منPerlراتحسین می کنم و از آن برای پایه ای روزانه برای چیزهای دیگر استفاده می کنم. اما هرگاه که برنامه ای را مینویسم، من همیشه به فکر استفاده کردن از Python می افتم، زیرا برای من طبیعی تر است.Perlدچار تغییرات ودستکاری های زیادی شده است که به نظر می رسد یک بهبود فنی بزرگ است (اما یک جهنم برای بهبود است).متاسفانه به نظر نمی رسد کهPerl 6که در آینده خواهد آمد، هیچ بهبودی در این باره داشته باشد.تنها و مهمترین فایدهPerlکه احساس می کنم آن را دارد، کتابخانه بزرگCPANآن (the ComprehensivePerl Archive Network) است(http://cpan.perl.org). همان طوری که از نام آن پیداست، این یک مجموعه بسیار بزرگ از ماژول هایPerlاست و واقعا به دلیل حجم خالص و عمقش شگفت انگیز است - شما واقعا هرکاری را با کامپیوتری که این ماژول ها را داشته باشد، می توانید انجام دهید. یکی از دلیل اینکهPerlازPythonکتابخانه های بیش تری دارد این است کهPerlزودتر ازPythonساخته شده است. شاید لازم باشد روشی برای انتقال ماژول هایPerlبهPythonرا ازcomp.lang.pythonپیشهاد کنم(http://groups.google.com/groups?q=comp.lang.python) (:همچنین، ماشین مجازی جدیدParrotبرای اجرا درPerl 6و بقیه زبان های تفسیر شده مانندRubyوPHPوTclبه خوبیPythonطراحی شده است. این برای شما چه معنایی دارد که شاید بتوانید تمام ماژول های Perlرا درآینده درPythonبه کار ببرید؟ بنابراین، شما می توانید بهترین هردو دنیا را داشته باشید - کتابخانه قدرتمندCPANبه همراه زبان قدرتمندPython. در هر صورت، ما مجبور هستیم که فقط صبر کنیم و ببینیم چه اتفاقی رخ خواهد داد.

برنامه نویسان چه می گویند؟
شاید برای شما جالب باشد بخوانید که هکرهایی مثلESRمجبور شده اند چه چیز در موردPythonبگویند:اریک. اس. ریموند، نویسند کتاب "کلیسای جامع و بازار" است و همچنین کسی است که کلمه متن باز را تجاری کرد. او می گوید کهPythonزبان برنامه نویسی محبوبش شده است(http://www.linuxjournal.com/article.php?sid=3882). این مقاله یک محرک واقعی برای اولین تجربه من باPythonبود.بروس اکل، نویسنده کتاب های مشهور "تفکر درJava" و "تفکر در++C" است. او می گوید هیچ زبانی به اندازهPythonاو را تولیدکننده تر نکرده است. او می گوید که شاید Pythonتنها زبانی است که تمرکزش بر روی آسان ترکردن کارها برای برنامه نویس است. برای جزئیات بیش تر این مصاحبه را بخوانید(http://www.artima.com/intv/aboutme.html)پیتر نورویگ،یکی از نویسندگان مشهور زبان برنامه نویسیLispو مدیر کیفیت جست و جو درGoogleاست(باتشکر از گایدو ون روسوم برای نشان دادن آن). او می گوید کهPythonهمیشه یک قسمت کامل از Googleبوده است. شما واقعا می توانید این جمله را با نگاه کردن به صفحهGoogle Jobsبررسی کنید(http://www.google.com/jobs/index.html) که دانستنPythonرا به عنوان یک نیاز برای برنامه نویسان فهرست می کند.بروس پرنس، بنیان گذارOpenSource.orgو پروژهLinuxUserاست.LinuxUserقصد دارد که یک توزیعLinuxاستاندارد شده که چندین شرکت از آن پشتیبانی کنند را بسازد.Pythonمدعیانی همچونPerlوRubyراشکست داده است تا خود زبان برنامه نویسی اصلی که توسطLinuxUserپشتیبانی خواهد شد، باشد.
 
فصل دونصب کردنPythonبرای کاربران/Linux BSDاگر شما از یک توزیعLinuxمانندFedoraوMandrivaیا {انتخابتان را اینجا قرار دهید}، یا یک سیستمBSDمانندFreeBSDاستفاده می کنید، احتمال Pythonقبل روی سیستم شما نصب شده باشد.برای اینکه امتحان کنیدPythonروی سیستمLinuxشما قبل نصب شده است، یک برنامهshellرا باز کنید(مانندKonsoleیاGnome-Terminal) و دستورpython -Vرا، همان طور که در زیر نشان داده شده است، واردکنید.python -V $Python 2.3.4توجهعلمت $ اعلنshellاست. این اعلن برای شما بسته به تنظیمات سیستم عاملتان مختلف خواهد بود، بنابراین من اعلن را فقط با علمت $ نشان خواهم داد.اگر شما اطلعات نسخه را مانند چیزی که در بال نشان داده شده است می بینید، شما از قبلPythonرا نصبکرده اید.در هر صورت اگر شما یک پیام مانند این پیام دریافت کردید:python -V $bash: python: command not foundآن وقت شماPythonرا به صورت نصب شده ندارید. این بسیار بعید است، اما ممکن است.در این مورد، شما دو راه برای نصب کردنPythonروی سیستم تان دارید.بسته هایbinaryرا با استفاده از نرم افزار مدیریت بسته ای که همراه سیستم عامل تان است، نصب کنید، مانندyumدرFedora،سurmpiدرMandriva Linux،سapt-getدرDebian GNU/Linux،سpkg_addدرFreeBSDو غیره. توجه داشته باشید که برای استفاده از این روش به اتصال اینترنتی نیازمندهستید.متناوبا، شما می توانید بسته هایbinaryرا از جایی دیگر تهیه کنید و به کامپیوتر شخصی تان منتقل کنید و آن رانصب کنید.شما می توانیدPythonرا از روی کد منبع آنcompileکنید(http://www.python.org/download/) و آنرا نصب کنید. راهنمایcompileکردن در وب سایت تهیه شده است.برای کاربرانWindowsبه آدرسhttp://www.python.org/download/ بروید و آخرین نسخه را از این وب سایتdownloadکنید(که2.3.4به هنگام تهیه این نوشته بود). این فقط9مگابایت حجم دارد که نسبت به اکثر زبان های دیگر کمحجم تر است. نصب کردن آن دقیقا مثل بقیه نرم افزارهای ویندوزی است.اخطاراگر به شما امکان داده شد که هر جزء انتخابی را بدون علمت کنید، هیچ کدام را بدون علت نکنید! برخی از این اجزا مخصوصاIDLEمی توانند برای شما مفید باشند.
یک واقعیت جالب این است که حدود70٪ ازdownloadهای Pythonمربوط به کاربرانWindowsاست.البته این چهره واقعی موضوع را ازآنجاییکه تقریبا همه کاربران لینوکس از قبل به صورت پیش فرضPythonروی سیستم شان نصب شده است، نشان نمی دهد.به کارگیریPythonدر خط فرمانWindowsاگر شما می خواهید در خط فرمانWindowsازPythonاستفاده کنید، شما نیاز دارید که مسیر متغیر را به طور مناسب مرتب کنید.برایWindowsهای 2000وXPو2003، بر رویControl Panel -> System -> Advanced ->Environment Variablesکلیک کنید. برروی متغیرPATHدر قسمت "System Variables" کلیک کنید،سپس گزینهEditرا انتخاب کرده و ";C:\Python23" را به انتهای هرچیزی که از قبل آنجا بوده، اضافهکنید(بدون نشانه نقل قول). البته نام پوشه مناسب را به کار ببرید.برای نسخه های قدیمی ترWindows، خطوط زیر را به فایلC:\AUTOEXEC.BATاضافه کنید: "=PATHPATH%;C:\Python23%"(بدون نشانه نقل قول) و سیستم را دوباره راه اندازی کنید. برایWindows NT،از فایلAUTOEXEC.NTاستفاده کنید.خلصهبرای یک سیستمLinux، به احتمال قوی،Pythonاز قبل روی سیستم شما نصب شده است. در غیر این صورت، می توانید با استفاده از نرم افزار مدیریت بسته هایی که همراه سیستم شما هستند، آن را نصب کنید. برای یک سیستمWindows، نصب کردنPythonبه اندازهdownloadکردن آن و دوبار کلیک کردن روی آن آسان است.از این پس، ما فرض می کنیم کهPythonروی سیستم شما نصب است.در ادامه، ما اولین برنامهPythonمان را می نویسیم.

فصل سه
اولین قدم ها 

 حال مشاهده خواهیم کرد که چگونه برنامه سنتی "Hello World" را درPythonاجرا کنیم. این به شما خواهد آموخت که چگونه برنامه هایPythonرا بنویسید، ذخیره و اجرا کنید.در اینجا دو راه برای استفاده ازPythonبرای اجرای برنامه ها وجود دارد - استفاده از اعلان فعل و انفعالی مفسر یااستفاده از یک فایل منبع. ما خواهیم دید که چگونه از هر دو روش استفاده کنیم.استفاده از اعلان مفسرمفسر را در خط فرمان با وارد کردنpythonدر اعلنshellآغاز کنید. حال عبارتprint 'Hello World' راوارد کنید و کلیدEnterرا بزنید. شما باید کلماتHello Worldرا به عنوان خروجی مشاهده کنید. برای کاربران ویندوز، شما می توانید مفسر را به شرط اینکه مسیر متغیر را به درستی تعیین کرده باشید، در خط فرمان اجرا کنید.متناوباْ، شما می توانید از برنامهIDLEاستفاده کنید.IDLEمخففIntegrated DeveLopmentEnvironmentاست. بر روی Start -> Programs -> Python 2.x -> IDLE (Python GUI) کلیک کنید.کاربرانLinuxنیز می توانند ازIDLEاستفاده کنند. توجه کنید که علمت های >>> اعلان وارد کردن عباراتPythonهستند. مثال3.1. به کارگیری اعلان مفسرPythonpython $(Python 2.3.4 (#1, Oct 26 2004, 16:42:40GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2].Type "help", "copyright", "credits" or "license" for more information'>>> print 'hello worldhello world>>>توجه داشته باشید کهPythonبی درنگ خروجی را به شما می دهد! چیزی که شما وارد کرده اید، یک عبارتPythonاست. ما printرا برای نشان دادن هر مقداری که شما می خواهید به کار می بریم. اکنون ما متنHelloWorldرا آماده کرده ایم و این بی درنگ روی صفحه نمایش نشان داده می شود.چگونگی خارج شدن از اعلنPythonبرای خارج شدن از اعلن، در صورتی که ازIDLEو خط فرمانLinux/BSDاستفاده می کنید، Ctrl-dرا فشاردهید. در مورد خط فرمان ویندوز،Ctrl-zو به دنبال آنEnterرا فشار دهید.انتخاب یک ویرایشگرقبل از اینکه ما در راه نوشتن برنامه هایPythonدر فایل های منبع قدم برداریم، ما به یک ویرایشگر برای نوشتنفایل های منبع نیازمندیم. انتخاب یک ویرایشگر به راستی بسیار سخت است. شما مجبور هستید که یک ویرایشگر راانتخاب کنید همانطوری که شما تمایل داشته باشید خودروی را که می خواهید، بخرید. یک ویرایشگر خوب شما راکمک می کند که برنامه هایPythonرا به سادگی انجام دهید، کار شما را راحت تر کند و شما را در رسیدن
مقصدتان در یک راه سریع تر و امن تر کمک کند(به هدفتان دست پیدا کنید).یکی از پایه ای ترین لزومات پررنگ کردن ترکیب زبان است که در آن تمام اجزای متفاوت برنامهPythonشمارنگی می شوند. بنابراین می توانید برنامه خود را ببینید و کارکرد را تصور کنید.اگر شما ازWindowsاستفاده می کنید، من به شماIDLEرا پیشنهاد می کنم.IDLEبرجسته کننده ترکیب زبانرا و چیزهای بسیار دیگری از جمله امکان اجرای برنامه را درونIDLEدر میان دیگر چیزها را داراست. یک توجهمخصوص: ازNotepadاستفاده نکنید - این یک انتخاب خوب نیست، زیرا برجسته کردن ترکیب را انجام نمی دهد و به طور مهم، از دندانه گذاری متن پشتیبانی نمی کند که همان طور بعدا می بینیم، در مورد ما خیلی مهماست. ویرایشگرهای خوب مانندIDLE(و همچنینVIM) به صورت خودکار به شما کمک می کنند این کار راانجام دهید.اگر شما ازLinux/FreeBSDاستفاده می کنید، شما گزینه های زیادی برای انتخاب ویرایشگر دارید. اگر شما یک برنامه نویس باتجربه هستید، باید از قبل ازVIMیاEmacsاستفاده کرده باشید. نیازی به گفتن نیست که این دو، دو برنامه از قدرتمندترین ویرایشگرها هستند و شما از استفاده از آنان برای نوشتن برنامه هایPythonتان ...خواهید شد. من شخصا ازVIMبرای اکثر برنامه هایم استفاده می کنم. اگر شما یک برنامه نویس تازه کار هستید،می توانید ازKateاستفاده کنید که یکی از برنامه های مورد علقه من است. در صورتی که مایل هستید زمانی را برای یادگیریVIMوEmacsاختصاص دهید، در این صورت من خیلی پیشنهاد می کنم که استفاده از هرکدام را یاد بگیرید، زیرا در اجرای طولنی برای شما بسیار مفید خواهد بود.اگر شما هنوز می خواهید گزینه های دیگری از یک ویرایشگر را جست و جو کنید، لیست جامع ویرایشگرهایPythonرا ببینید[http://www.python.org/cgi-bin/moinmoin/PythonEditors] و انتخاب تان را انجام دهید.شما همچنین می توانید یکIDEرا برایPythonانتخاب کنید(Integrated DevelopmentEnvironment). لیست جامعIDEهایی را که ازPythonپشتیبانی می کنند، برای جزییات بیش تر ببینید [http://www.python.org/cgi-bin/moinmoin/IntegratedDevelopmentEnvironments]. یکوقت که شروع به نوشتن برنامه های بزرگPythonکنید،IDEها می توانند واقعا خیلی مفید باشند.یک بار دیگر تکرار می کنم، لطفا یک ویرایشگر مناسب را انتخاب کنید - این می تواند نوشتن برنامه هایPythonرا جذاب تر و ساده کند.استفاده از یک فایل منبع اکنون بیایید به برنامه نویسی برگردیم. یک رسم وجود دارد که هرگاه یک زبان برنامه نویسی جدید را یاد می گیرید،اولین برنامه ای که می نویسید و اجرا می کنید، برنامه "Hello World" است - تمام آن چه که انجام می دهد ایناست که هنگامی که آن را اجرا می کنید، 'Hello World' را بگوید. همانطوری که سیمون کوزنز آن را قرار دادهاست، این "طلسم باستانی خدایان برنامه نویسی برای کمک به شما برای یادگیری بهتر زبان برنامه نویسی است"(: .ویرایشگر برگزیده تان را باز کنید، برنامه زیر را وارد کنید و آن را بانامhelloworld.pyذخیره کنیدمثال3.2. استفاده از یک فایل منبعusr/bin/python/!#Filename : helloworld.py # 'print 'Hello World
(فایل منبع:code/helloworld.py)این برنامه را به وسیله باز کردن پوسته خط فرمان(Linux terminalیا اعلنDOS) و وارد کردن دستورpython helloworld.pyاجرا کنید. اگر شما از IDLEاستفاده می کنید، از منویEdit -> Run Scriptیا میانبرصفحه کلیدCtrl-F5استفاده کنید. خروجی در زیر نشان داده شده است. خروجیpython helloworld.py $ Hello Worldاگر شما خروجی را مثل خروجی نشان داده شده بال دریافت کردید، تبریک می گویم! - شما با موفقیت اولین برنامهPythonتان را اجرا کرده اید.در صورتی که شما یک خطا دریافت کردید، برنامه بال را همانطور که نشان داده شده است، تایپ کنید و دوبارهبرنامه را اجرا کنید. توجه داشته باشید کهPythonبه بزرگی یا کوچکی حروف حساس است یعنیprintباPrintیکی نیست - توجه کنید به حرف کوچکpدر اولی و حرف بزرگPدر دومی. همچنین مطمئن شوید که قبل ازاولین حرف هر خط هیچ فاصله یاTabای وجود نداشته باشد - ما بعدا خواهیم دید که چرا این مهم است. این چگونه کار می کند؟اجازه دهید که دو خط اول برنامه را بررسی کنیم. به این ها توضیح(comment) می گویند - هرچیزی در سمتراست علمت # یکcommentاست و اساسا به عنوان یادداشت هایی برای خواننده برنامه مفید است. Pythonتوضیح ها را به جز در موارد خاضی از اولین خط به کار نمی برد. این راshebang line(خط تعبیه) میگویند - هر وقتی که اولین حروف فایل منبع !# و به دنبال آن محل یک برنامه باشد، این به سیستمLinux/Unixشما می گوید که هنگامی که برنامه را اجرا کردید، باید با این مفسر اجرا شود. این به صورت مفصل در بخش بعدیشرح داده خواهد شد. توجه کنید که شما همیشه می توانید برنامه را بر روی هر پلتفورمی به وسیله مشخص کردنمستقیم مفسر در خط های دستوری مانندpython helloworld.pyاجرا کنید. مهمازcommentها به صورت نمایان برای توضیح جزئیات مهم برنامه تان استفاده کنید - این برای خوانندگان برنامه تان مفید است، زیرا آن ها به سادگی می توانند درک کنند که برنامه چه کاری را انجام می دهد. به یاد داشته باشیدکه این شخص می تواند خود شما بعد از شش ماه باشد!به دنبال توضیحات، یک دستور پایتون می آید - این فقط متن 'hello world' را نشان می دهد. در حقیقتprintیکoperator(عملگر) و 'hello world' به عنوان یک رشته نشان داده می شود - نگران نباشید، ما بعدا ایناصطلحات فنی را با جزئیات بیش تر بررسی می کنیم.قابل اجرا کردن برنامه هایPythonاین تنها توسط کاربرانLinux/Unixقابل اجراست، اما شاید کاربرانWindowsدر مورد اولین خط برنامهکنجکاو باشند. ابتدا ما مجبوریم که به وسیله دستورchmodبه برنامه مجوز اجرا شدن را بدهیم و سپس آن را اجراکنیم.chmod a+x helloworld.py $helloworld.py/. $
Hello Worldدستورchmodدر اینجا برای تغییر روش فایل به وسیله دادن اجازه اجرا کردن به تمام کاربران سیستم به کار بردهشده است. سپس ما برنامه را مستقیما به وسیله مشخص کردن مسیر فایل منبع اجرا می کنیم. ما از /. برای نشاندادن اینکه برنامه در پوشه کنونی است، استفاده می کنیم.برای اینکه چیزها را جالب تر کنید، می توانید نام فایل را تنها بهhelloworldتغییر دهید و آن را به صورتhelloworld/. اجرا کنید و این از آن جاییکه سیستم می داند باید به وسیله مفسری که محل آن در اولین خط فایلمنبع نوشته شده است آن را اجرا کند، کار خواهد کرد. شما می توانید تا زمانی که محل برنامه را بدانید، آن را اجراکنید - اما اگر بخواهید برنامه را در هر جایی اجرا کنید، چه؟ شما می توانید این کار را با ذخیره برنامه در یکی ازپوشه هایی که در محیط متغییرPATHلیست شده اند، انجام دهید. هرگاه شما برنامه ای را اجرا می کنید، سیستمبه دنبال آن برنامه در هر پوشه ای که در محیط متغییرPATHاست، می گردد و سپس آن برنامه را اجرا می کند.شما می توانید این برنامه را در هرجا با کپی ساده فایل منبع به یکی از پوشه های لیست شده درPATH، قابلدسترسی کنید.echo $PATH $opt/mono/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin/cp helloworld.py /home/swaroop/bin/helloworld $helloworld $Hello Worldما می توانیم توسط دستورechoو پیشوند $ متغییرPATHرا نشان دهیم تا بهshellبفهمانیم که ما مقدار اینمتغییر را می خواهیم. ما می بینیم که /home/swaroop/binیکی از پوشه هایی است که در متغییرPATHوجود دارد کهswaroopنام کاربری است که من در حال استفاده از آن در سیستمم هستم. معمول یک پوشه مشابه برای نام کاربریتان روی سیستم وجود خواهد داشت. متناوبا، شما می توانید یک پوشه دولخواه را به متغییرPATHاضافه کنید - این می تواند به وسیله اجرای دستورPATH=$PATH:/home/swaroop/mydirانجام گیردکه '/home/swaroop/mydir' پوشه ای است که می خواهم به متغییرPATHاضافه کنم. در صورتی که بخواهید اسکریپت های مفید بنویسید و بخواهید هر وقت و هرجا آن را اجرا کنید، این روش خیلیمفید خواهد بود. این به ساختن دستور خودتان مثلcdیا هر دستور دیگری که آن را در خط فرمانLinuxو اعلنDOSاستفاده می کنید، شبیه است.توجه کنید کهW.r.t. Pythonیا یک برنامه یا یک اسکریپت یا نرم افزار همه یک معنی دارند.کمک گرفتناگر شما به اطلعات فوری در مورد هر تابع یا دستوری درPythonنیاز دارید، می توانید از دستور اصلیhelpاستفاده کنید. این مخصوصا وقتی که از اعلن مفسر استفاده می کنید، خیلی سودمند است. برای مثال،help(str)را اجرا کنید - این راهنمایی را برای کلسstrنشان می دهد که این برای ذخیره کردن تمام متونی (رشته هایی) کهدر برنامه به کار برده اید، استفاده می شود. کلس ها در فصل برنامه نویسی شیء گرایی مفصل شرح داده خواهدشد.توجهبرای خارج شدن از راهنما، کلیدqرا بزنید.به همین ترتیب، می توانید درباره تقریبا هرچیزی درPythonاطلعات کسب کنید. برای یادگیری بیشتر در مورد استفاده کردن از خودhelp، ازhelp() استفاده کنید!در صورتی که شما به راهنمایی در مورد عملگرهایی مانندprintنیاز داشته باشید، آن گاه شما به تنظیم محیطمتغییرPYTHONDOCSبه صورت مناسب نیاز دارید. این درLinux/Unixبه وسیله استفاده از دستورenvبه سادگی قابل انجام است.env PYTHONDOCS=/usr/share/doc/python-docs-2.3.4/html/ python $(Python 2.3.4 (#1, Oct 26 2004, 16:42:40GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2].Type "help", "copyright", "credits" or "license" for more information('>>> help('printشما توجه خواهید کرد که من برای معلوم کردن 'print' از علمت نقل قول استفاده کرده ام، چنان کهPythonمیتواندبفهمد که من می خواهم در مورد 'print' کمک به دست آورم و من از آن نمی خواهم که چیزی را چاپ دهد(printکند).توجه کنید محلی که از آن استفاده کرده ام، محل در لینوکسFedora Core 3است - این شاید برای توزیع ها و نسخه های مختلف، متفاوت باشد.خلصهاکنون شما باید بتوانید برنامه هایPythonرا به آسانی بنویسید، ذخیره و اجرا کنید. حال که شما یک کاربرPythonهستید، بیاید چند مفهوم بیشتر Pythonرا یاد بگیریم.......

 

به نقل از ویکی پدیا : 

 History

Python was conceived in the late 1980s[4] by Guido van Rossum at CWI in the Netherlands as a successor to the ABC programming language (itself inspired by SETL)[5] capable of exception handling and interfacing with the Amoeba operating system.[6] Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, Benevolent Dictator for Life (BDFL).s

Python 2.0 was released on 16 October 2000, with many major new features including a full garbage collector and support for unicode. However, the most important change was to the development process itself, with a shift to a more transparent and community-backed process.[7] Python 3.0, a major, backwards-incompatible release, was released on 3 December 2008[8] after a long period of testing. Many of its major features have been backported to the backwards-compatible Python 2.6.[9]s

 Programming philosophy

Python is a multi-paradigm programming language. This means that, rather than forcing programmers to adopt a particular style of programming, it permits several styles: object oriented and structured programming are fully supported, and there are a number of language features which support functional programming and aspect-oriented programming[clarification needed]. Many other paradigms are supported using extensions, such as pyDBC and Contracts for Python which allow Design by Contract. Python uses dynamic typing and a combination of reference counting and a cycle-detecting garbage collector for memory management. An important feature of Python is dynamic name resolution (late binding), which binds method and variable names during program execution.s

Another aspect of the language's design is ease of extensibility, rather than having everything built into the language core. New built-in modules are easily written in C or C++. Python can also be used as an extension language for existing modules and applications that need a programmable interface. This design, of a small core language with a large standard library and an easily-extensible interpreter, was intended by Van Rossum from the very start, because of his frustrations with ABC, which espoused the opposite mindset.[4]s

The design of Python offers limited support for functional programming in the Lisp tradition. However, there are significant parallels between the philosophy of Python and those of minimalist Lisp-family languages such as Scheme. The library has two modules (itertools and functools) that implement proven functional tools borrowed from Haskell and Standard ML.[10]

While offering choice in coding methodology, the Python philosophy rejects exuberant syntax, such as in Perl, in favor of a sparser, less-cluttered grammar. As with Perl, Python's developers expressly promote a particular "culture" or ideology based on what they want the language to be, favoring language forms they see as "beautiful", "explicit" and "simple". As Alex Martelli put it in his Python Cookbook (2nd ed., p.230): "To describe something as clever is NOT considered a compliment in the Python culture." Python's philosophy rejects the Perl "there is more than one way to do it" approach to language design in favor of "there should be one—and preferably only one—obvious way to do it".[11]s

Python eschews premature optimization, and moreover, rejects patches to non-critical parts of CPython which would offer a marginal increase in speed at the cost of clarity.[12] It is sometimes described as "slow".[13] However, most problems[who?] are not speed critical, and as computer hardware continues to become exponentially faster (Moore's Law), languages do have more hardware resources available. When speed is a problem, Python programmers tend to try to optimize bottlenecks by algorithm improvements or data structure changes, using a JIT compiler such as Psyco, rewriting the time-critical functions in "closer to the metal" languages such as C, or by translating Python code to C code using tools like Cython.[14]s