آموزشگاه تخصصی کامپیوتر،شبکه و برنامه نویسی در کرج

آموزش برنامه نویسی پایتون Python

 

اگر شما هم از علاقه مندان به دنیای برنامه نویسی (Programming) هستید و میخواهید کارتان را با یک زبان برنامه نویسی شروع کنید مسیر را درست آمده اید، یاد گیری زبان Python بهترین نقطه برای شروع میباشد چراکه مزایای زیادی دارد و در ادامه به توضیح این مزیت ها خواهیم پرداخت.

مزایای زبان برنامه نویسی Python

یادگیری بسیار آسان: یادگیری زبان برنامه نویسی Python به علت وجود کلید واژه های کم، ساختار بسیار ساده و قواعد روشن و مشخص بسیار آسوده میباشد.

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

نگه داری ساده: حفظ و نگهداری از Source Code های پایتون بسیار ساده میباشد.

کتابخانه های فراوان: زبان برنامه نویسی پایتون از Library های قابل حمل فراوانی برخوردار است که با پلتفرم های مختلف از قبیل Windows و Linux و Macintosh سازگاری دارند.

حالت انفعالی: زبان برنامه نویسی پایتون از حالت انفعالی یا Interactive Mode پشتیبانی میکند که شما میتوانید با استفاده از این ویژگی کد های خود را تست و اشکال زدایی کنید.

حمل: زبان برنامه نویسی پایتون روی همه پلتفرم ها با یک رابط کاربری واحد و مشخص قابل استفاده میباشد.

توسعه پذیری: شما میتوانید به تفسیر کننده زبان برنامه نویسی (Python Interpreter) پایتون ماژول های سطح پایین (Low Level) اضافه کنید تا با استفاده از این ماژول ها برنامه ای کارآمد تر و شخصی سازی شده تر درست کنید.

پایگاه داده: از مزیت های پایتون میتوان به پشتیبانی از همه Database های تجاری اشاره نمود.

برنامه نویسی گرافیکی (GUI): شما میتوانید با زبان برنامه نویسی پایتون برای هر سیستم عاملی مثل ویندوز یا لینوکس و یا مکینتاش برنامه گرافیکی تولید کنید.

دیگر ویژگیهای Python

جدا از ویژگیهای که در بالا به آنها اشاره شد پایتون دارای ویژگیهای قدرتمندی میباشد که در ادامه به آنها اشاره خواهم نمود.

  • پشتیبانی از ساختار تابعی به همراه شی گرایی (Object Oriented Programming)
  • از زبان پایتون هم میتوان به صورت Script استفاده نمود هم به صورت Byte-Code برای ساخت برنامه های بزرگ
  • پایتون Data Type های دینامیک سطح بالا را ارائه میکند و از بررسی Dynamic Type پشتیبانی میکند.
  • پشتیبانی خودکار از مجموعه زباله روبی (Garbage Collection)
  • توان همبستگی با زبان های C و C++ و COM و ActiveX و CORBA و Java

 مقایسه ی زبان برنامه نویسی پایتون با سایر زبان‌های برنامه نویسی

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

مزیت های زبان پایتون نسبت به زبان سی شارپ

بسیاری از کارشناسان بر این باورند که شرکت بزرگ مایکروسافت صرفاً زبان برنامه نویسی جاوا را کپی کرده و زبانی تحت عنوان سی شارپ را خلق کرده است .زبان برنامه نویسی پایتون در مقایسه با سی شارپ، از نقاط قوت زیر برخوردار است:
- یادگیری آسان‌تر
- کدنویسی کم تر
- متن باز و جامعه ی توسعه ی گسترده
- پشتیبانی چند منظوره بهتر (Multiplatform)
- امکان استفاده ی راحت از چندین محیط توسعه ی نرم‌افزار مختلف
- قابلیت توسعه ی راحت‌تر با استفاده از زبان‌های سی، جاوا و سی پلاس پلاس
- پشتیبانی بیش تر عملی/مهندسی

مزیت های زبان پایتون نسبت به زبان جاوا

سالیان درازی را برنامه نویسان سراسر دنیا منتظر ماندند تا به زبانی دست یابند که یک بار کدنویسی کنند و هر کجا که خواستند آن را اجرا کنند تا اینکه زبان جاوا این رؤیای ایشان را به واقعیت مبدل ساخت . جالب است بدانید که در حال حاضر زبان برنامه نویسی جاوا به عنوان یکی از محبوب ترین زبان‌های برنامه نویسی دنیا است (حتی محبوب‌تر از پایتون!) به هر حال، زبان پایتون دارای یکسری مزیت‌ها نسبت به این زبان است که عبارتند از:
- یادگیری به مراتب راحت‌تر
- کدنویسی به مراتب کم تر
- متغیرهایی با قابلیت ذخیره سازی انواع داده‌ها
- سرعت توسعه ی اپلیکیشن به مراتب بیش تر از جاوا

مزیت های زبان پایتون نسبت به زبان پرل

زبان برنامه نویسی پرل به عنوان زبانی در میان برنامه نویسان شناخته شده است که به خوبی با دیتابیس کار می‌کند و داده‌ها را از آن فراخوانی می‌کند اما در عین حال، از این زبان برای ساخت انواع اپلیکیشن ها نیز استفاده می شود. زبان پایتون در مقایسه با پرل، از نقاط قوت زیر برخوردار است:
- یادگیری سریع تر
- خوانایی بیش تر
- تعامل بهتر با زبان جاوا
- سازگاری بهتر و بیش تر با پلتفرم های مختلف
- امنیت بیش تر داده ها
اگر چه که در مقایسه ی بالا، تقریبا می شود گفت که زبان برنامه نویسی Python نسبت به زبان های Java, Perl و #C از نقاط قوت قابل توجهی برخوردار است، اما توجه داشته باشیم که این نیازهای کاری شما است که مشخص می کند کدام زبان را می بایست انتخاب کنید

چرا زبان برنامه نویسی پایتون را انتخاب کنیم؟

زبان‌های برنامه نویسی زیادی در حال حاضر وجود دارند که یک برنامه نویس مبتدی می‌تواند یکی از آن‌ها را برای شروع انتخاب کند و این در حالی است که هر یک از زبان‌های برنامه نویسی دارای نقاط ضعف و قوت خاص خودشان هستند و با آگاهی از همین نقاط ضعف و قوت است که ما به عنوان یک برنامه نویس مبتدی می‌توانیم بسته به نیازی که برای یادگیری برنامه نویسی داریم دست به انتخاب درستی بزنیم.
معمولاً برنامه نویسان حرفه‌ای سعی می‌کنند که به بیش از یک زبان برنامه نویسی تسلط پیدا کنند تا متناسب با نقاط قوتی که هر زبان برنامه نویسی دارد -مثلا یک زبان برای کار با دیتابیس سرعت بالایی دارا است و زبان دیگر در تحلیل داده‌ها و … خوب است- بتوانند یک اپلیکیشن حرفه‌ای بنویسد.
آگاهی از نقاط ضعف و قوت زبان‌های برنامه نویسی -به خصوص زبان برنامه نویسی پایتون به برنامه نویسان کمک می‌کند تا با دید بازتری اقدام به استفاده از آن زبان برنامه نویسی نمایند. در ادامه قصد داریم به نکاتی بپردازیم که زبان برنامه نویسی پایتون را از سایر زبان‌های برنامه نویسی متمایز می‌سازد و این زبان قدرتمند را به گزینه ی مناسبی برای طراحی و ساخت اپلیکیشن های حرفه‌ای مبدل می سازد.
هر زبان برنامه نویسی با یک هدف خاص در ذهن توسعه دهندگان آن زبان طراحی و توسعه داده شده است تا دردی از دردهای سایر برنامه نویسان را دوا کند. در ارتباط با زبان برنامه نویسی پایتون، بایستی گفت که هدف اصلی آقای روسوم -خالق زبان برنامه نویسی پایتون- این بود که زبانی به دنیا عرضه کند که در یک کلام ساده و کاربردی باشد.
توجه داشته باشیم که اگر با توجه به نیازهای خود در توسعه ی اپلیکیشن اقدام به انتخاب زبان نامناسبی کنیم، این نوع انتخاب ما در آینده می‌تواند بهای گزافی برای ما در بر داشته باشد که از آن جمله می‌توان به صرف وقت زیاد، سرعت توسعه ی کم، راندمان اندک و بسیاری مشکلات دیگر اشاره کرد.
نیاز به تعداد خطوط کد کمتر: سورس کد برنامه‌های نوشته شده با پایتون در مقایسه با سایر رقبا -مثل زبان‌های سی، جاوا و سی پلاس پلاس- چیزی در حدود ۲ تا ۱۰ برابر کمتر است. لذا این نوید به شما داده می‌شود که زمان کمتری برای نوشتن یک اپلیکیشن با این زبان برنامه نویسی قدرتمند نیاز دارید.
خوانایی زیاد: همان‌طور که درک زبانی همچون زبان چینی در مقایسه با مثلاً زبان انگلیسی بسیار دشوارتر است، در مورد زبان‌های برنامه نویسی هم دقیقاً قضیه به همین شکل است. به عبارت دیگر، برخی از زبان‌های برنامه نویسی هستند که مطالعه ی سورس کد آن‌ها به مراتب دشوارتر از سایر زبان‌ها است و خبر خوشحال کننده این که سینتکس زبان برنامه نویسی پایتون -اگر نگوییم راحت ترین- یکی از راحت ترین سینتکس ها در میان زبان‌های برنامه نویسی است چرا که تا حد بسیار زیادی شبیه به زبان انگلیسی است!
یادگیری سریع: پیش از این هم گفتیم که منحنی یادگیری کم شیب پایتون،‌ آن را به گزینه ی خوبی برای مبتدیان مبدل ساخته است. توسعه دهندگان اصلی زبان برنامه نویسی پایتون همواره این دغدغه را داشته‌اند تا زبانی طراحی کنند که خیلی قوانین عجیب و غریب نداشته و استثناء های آن منجر به یادگیری دشوار این زبان نگردد و همین رویکرد در طراحی زبان برنامه نویسی پایتون منجر گردیده تا این زبان جزو زبان‌هایی گردد که یادگیری آن خیلی سریع اتفاق می‌افتد حتی برای کسانی که هیچ آشنایی با دنیای برنامه نویسی ندارند.

از پایتون برای چه اپلیکیشن هایی می توان استفاده کرد؟

  با توضیحات فوق، حال قصد داریم ببینیم که از زبان برنامه نویسی پایتون برای چه نوع اپلیکیشن هایی می‌توانیم استفاده کنیم که در ادامه، برخی از شاخص ترین کاربردهای پایتون را بر می شماریم:
برای پروتوتایپ سازی: گاهی اوقات تیم های توسعه ی نرم افزاری در سراسر دنیا نیاز دارند تا یک نمونه ی اولیه از ایده ی خاصی که در ذهن دارند ایجاد کنند تا با دید بهتری اقدام به سیاست گذاری توسعه ی اپلیکیشن خود کنند. در چنین مواقعی، زبان برنامه نویسی پایتون به منزله ی یکی از بهترین گزینه ها است چرا که سرعت توسعه ی اپلیکیشن با این زبان نسبت به سایر رقبا به مراتب بیشتر است و توسعه دهندگان زودتر می‌توانند خروجی کدهای خود را ببینند.
ساخت وب اپلیکیشن: اگرچه زبان جاوا اسکریپت به عنوان معروف ترین زبان برنامه نویسی وب اپلیکیشن ها محسوب می‌گردد اما در این حوزه زبان پایتون هم حرف‌هایی برای گفتن دارا است و در حال حاضر در جایگاه دوم قرار دارد. واقعیت امر آن است که پایتون قابلیت‌هایی را در اختیار توسعه دهندگان قرار می‌دهد که جاوا اسکریپت از برآورده کردن آن‌ها ناتوان است و در کل پایتون این امکان را در اختیار توسعه دهندگان قرار می‌دهد تا وب اپلیکیشن های سریع‌تری طراحی کنند.
طراحی اپلیکیشن های محاسباتی،‌ علمی و مهندسی: کتابخانه‌های طراحی شده برای پایتون این امکان را به توسعه دهندگان می‌دهد تا به راحتی و به سرعت بتوانند اپلیکیشن های محاسباتی، علمی و مهندسی طراحی کنند که از جمله ی مهم‌ترین این کتابخانه‌ها می‌توان به NumPy و SciPy اشاره کرد.
کار با XML: زبان اکس ام ال یکی از زبان‌هایی است که برای ذخیره سازی داده‌های تحت وب مورد استفاده قرار می‌گیرد و پایتون هم ارتباط بسیار خوبی با این زبان دارا است. به طور مثال، اگر شما در پروژه ای بخواهید از وب سرویس استفاده کنید، زبان پایتون گزینه ی بسیار مناسبی است.
ارتباط با دیتابیس: امروزه کسب و کارهای بسیاری هستند که مبتنی بر داده‌ها هستند و مسلماً نیاز دارند تا داده‌های خود را در دیتابیسی ذخیره سازند. پایتون به سادگی می‌تواند با دیتابیس های مختلف ارتباط بر قرار ساخته و به تبادل داده با دیتابیس -خواندن داده ها، ثبت داده ها، آپدیت داده‌ها و حذف آن ها- بپردازد.
طراحی رابط کاربری: پایتون همچون زبان سی شارپ نیست که توسعه دهنده با استفاده از نرم‌افزار ویژوال استودیو به راحتی بتواند با درگ اند دراپ اقدام به طراحی رابط کاربری کند اما در در عین حال فریم ورک های بسیاری برای این زبان طراحی شده‌اند که طراحان با استفاده از آن‌ها می‌توانند اقدام به طراحی UI اپلیکیشن های خود کنند.
به منظور تسهیل فرایند آموزشی، در این سری از آموزش ها باکس هایی به صورت زیر استفاده خواهند شد تا مخاطبین دوره بهتر بتوانند برخی از نکات مهم این دوره ی آموزشی را به خاطر بسپارند

سرفصل های دوره پایتون :

  • درس یکم: مقدمه و پیش درآمد
    • چرا پایتون؟
    • تاریخچه پایتون
    • ویژگی های پایتون
    • نسخه های انتشار یافته
    • کاربرد
  • درس دوم: نحوه نصب و راه اندازی
    • چگونگی دریافت پایتون
    • چگونگی نصب و راه اندازی پایتون
    • محیط های موجود در پایتون جهت کدنویسی
  • درس سوم: متغیرها و داده ها
    • متغیرها
    • قوانین نام گذاری متغیرها
    • گرفتن مقدار متغیر از کاربر
  • درس چهارم: معرفی چند عملگر و اپراتور و چگونگی ذخیره برنامه ها
    • ایجاد و ذخیره برنامه
    • عبارات محاسباتی
    • عملگرهای پایتون
    • اولویت و ترتیب اجرای عملگرها
    • انواع خطاها در پایتون
  • درس پنجم: ساختمان داده
    • تعریف ساختمان داده در پایتون و فواید آنها
    • دنباله، رشته ها
    • تعریف و فراخوانی یک دنباله
    • متدها در دنباله ها
    • لیست ها
    • تعریف و فراخوانی یک لیست
    • ماتریس ها
    • متدها در لیست ها
    • تاپل ها
    • تعریف و فراخوانی یک تاپل
    • تاپل یا لسیت؟
    • متدها در تاپل ها
    • دیکشنری ها
    • تعریف و فراخوانی یک دیکشنری
    • ماتریس ها در دیکشنری
    • متدها در دیکشنری ها
    • مجموعه ها
    • تعریف و فراخوانی یک مجموعه
    • مجموعه ها و داده های تغییرپذیر
    • متدها در مجموعه ها
  • درس ششم: عبارات و کنترل تبدیل اجرا
    • عملگرهای منطقی
    • عملگرهای شرطی
    • حلقه
    • حلقه While
    • حلقه for in
    • حلقه های تو در تو
    • حلقه و ساختمان داده
    • دستورات کنترلی حلقه
  • درس هفتم: توابع در پایتون
    • توابع داخلی پایتون
    • تعریف توابع داخلی
    • انواع توابع داخلی
    • توابع تعریف شده توسط کاربر در پایتون
  • درس هشتم: شی‌ء گرایی در پایتون
    • تعریف مفهوم شی‌ء گرایی
    • معرفی اشیا در پایتون
    • تعریف کلاس
    • کلاس ها و توابع
    • کلاس ها و متدها
    • بدل سازی در پایتون
    • وراثت
    • مفهوم وراثت
    • کلاس مادر
    • کلاس فرزند
    • بهینه سازی برنامه
    • مثال ها
  • درس نهم: ضمایم و جمع بندی
    • کتابخانه های استاندارد پایتون
    • لیست کتابخانه موجود در ورژن ۲ و ۳ پایتون
    • طریقه تعریف یک کتابخانه در برنامه
    • بهینه سازی برنامه با استفاده از کتابخانه های موجود
    • داده های انتزاعی پایتون
    • پشته
    • مفهوم پشته، رجیستر
    • پشته و پایگاه داده
    • صف
    • مفهوم صف
    • صف و پایگاه داده
    • اولویت صف بندی
    • ضمیمه
    • فایل ها در پایتون
    • معرفی چند تولبار نرم افزار پایتون
    • تغییرات به وجود آمده در نسخه