احتمالا این روزها کلمه پایتون زیاد به گوشتان خورده است و برایتان سوال پیش آمده که اصلا پایتون چیست؟ اگر تا حدود ۱۰ سال پیش، کلمه پایتون را در گوگل سرچ میکردید، در لینکهای اول گوگل، بیشتر عکس یک نوع مار را به شما نشان میداد. با این حال امروز اگر کلمه پایتون را سرچ کنید، حتما در لینکهای اول گوگل، برایتان نرمافزار پایتون را میآورد و یا چیزهایی از زبان برنامهنویسی پایتون را به شما نشان میدهد که به برنامهنویسی مربوط هستند و نتایج جستوجوی شما دیگر آن مار پایتون نیست. با این حال لوگوی پایتون، دو مار هستند و همچنین در لوگوی بسیاری از کتابخانههای پایتون مثل pygame نیز عکس مار را میبینیم. هدف ما در این مقاله، توضیح زبان پایتون و کاربردش است و اینکه بگوییم اصلا با پایتون چه کارهایی میتوان کرد و این که بگوییم امکانات python چیست. در این مقاله قرار است که پایتون را از زاویههای مختلف مورد بررسی قرار دهیم و کمی راجع به تاریخچه پایتون برایتان بگوییم؛ سپس بگوییم که زبان برنامهنویسی پایتون چگونه نصب میشود و با نرمافزار python چه کارهایی میتوان انجام داد. اما قبل از این که وارد جزییات شویم، توضیحات کوتاهی راجع به خود زبانهای برنامهنویسی میدهیم و بعد سراغ زبان برنامهنویسی python میرویم و تمرکزمان را در این مقاله به طور خاص روی زبان برنامهنویسی پایتون میگذاریم و پایتون به زبان ساده برایتان شرح داده خواهد شد.
انسانها برای صحبت با هم از یک زبان خاص استفاده میکنند، مثلا ما در ایران از زبان فارسی استفاده میکنیم و مردم بسیاری از کشورها به زبان انگلیسی و بسیاری از کشورها به زبان عربی صحبت میکنند. با این حال، در همه زبانها مفاهیم مشترکی وجود دارد و فقط نحوه بیان آن مفاهیم با هم متفاوت است. دنیای کامپیوتر نیز به همین صورت است. تمام کامپیوترهایی که در دنیای امروز وجود دارند و ما از آنها استفاده میکنیم، از زبان ماشین یعنی ۰ و ۱ استفاده میکنند. (نحوه عملکرد کامپیوترهای کوانتومی متفاوت است و در این مقاله نمیگنجد) با این حال، همانطور که برای یک مفهوم مثل "درخت" در دنیای واقعی در زبانهای مختلف واژههای متفاوتی داریم، در زبانهای کامپیوتری نیز برای بیان یک مفهوم ثابت، از کلمات خاصی استفاده میشود. تعداد زبانهایی که میتوان با کامپیوترها صحبت کرد و برنامهنویسی انجام داد، حدود ۷۰۰ زبان است که مثل زبانهای انسانها، همه این ۷۰۰ زبان استفاده نمیشوند و همانطور که انگلیسی، فرانسوی، عربی و چند زبان دیگر به طور گسترده در دنیا استفاده میشوند، در مورد زبانهای برنامهنویسی نیز برخی از آنها بسیار رایج تر هستند و برخی مثل زبان فنلاندی، کاربرد خیلی کمتری دارند. برنامههای مختلفی که برای کامپیوتر، گوشیهای اندرویدی، طراحی سایت، بازیسازی و غیره استفاده میشوند، اغلب با حدود ۵۰ مورد از این ۷۰۰ زبان نوشته میشوند که با توجه به زمینهای که در آن استفاده میشوند، زبان خاصی انتخاب میشود و مورد استفاده قرار میگیرد. چند مورد از معروفترین آنها، عبارتند از:
پایتون
پی اچ پی
جاوا اسکریپت
جاوا
سی
سی پلاس پلاس
سی شارپ
برای دیدن لیست ۵۰ زبان برنامهنویسی که پراستفادهتر از بقیه زبانها هستند، به سایت زیر مراجعه کنید.
https://careerkarma.com/blog/how-many-coding-languages-are-there/
فرض کنید تصمیم به یادگیری یک زبان خارجی دارید. هزینه و زمان خود را صرف یادگیری زبان هلندی میکنید یا زبان انگلیسی؟
مسلما همه ابتدا زبان انگلیسی را میآموزیم. چون زبان پراستفادهتر و کاربردیتری است و پس از تسلط بر آن، میتوان سراغ زبانهای دیگر نیز رفت. در دنیای کامپیوتر نیز، یادگیری زبانی مثل زبان برنامهنویسی python نسبت به یادگیری زبانی مثل Ruby اولویت دارد. چرا که محبوبتر است و استفاده بسیار بیشتری در دنیای کامپیوتر دارد. زبان برنامهنویسی پایتون، همیشه جزو زبانهای پرکاربرد بوده و در چندین سال اخیر، همیشه جزو سه زبان برتر بوده است. یکی از ویژگیهای بسیار خوب پایتون، حجم کم نوشتن کد در آن و سادگی آن است که باعث یادگیری آسان این زبان برنامهنویسی میشود. در حین ساده بودن نوشتار کدهای پایتون، کتابخانههای زیادی نیز دارد و کارهای پیچیده را به راحتی میتوان در پایتون انجام داد و در این مقاله، به طور جزیی به زبان برنامهنویسی پایتون میپردازیم و کاربرد پایتون را در دنیای برنامهنویسی بررسی میکنیم.
بیشتر بخوانید: آموزش پایتون برای کودکان
خالق زبان برنامهنویسی پایتون، آقای گیدو ون روسوم (به هلندی: Guido van Rossum) است.
آغاز شکلگیری زبان برنامهنویسی python در اواخر دهه ۱۹۸۰ میلادی بود و اولین نسخه از این زبان برنامهنویسی، در تاریخ ۲۰ فوریه ۱۹۹۱ بود. تا کنون، سه نسخه از این زبان برنامهنویسی منتشر شده است که نسخه اولیه آن، تا سال ۲۰۰۰ به روزرسانی میشد. نسخه دوم این زبان برنامهنویسی، در دهه اول قرن ۲۱ یعنی سالهای ۲۰۰۰ تا ۲۰۱۰ میلادی رشد کرد و توسعه یافت. در همین بین، نسخه سوم از پایتون در پایان سال ۲۰۰۸ میلادی عرضه شد و همزمان با آخرین نسخههای پایتون ۲، در حال توسعه بود و تا به امروز آخرین نسخه از پایتون که همین نسخه سوم آن است، در حال توسعه و بهینهسازی است. در حال حاضر نسخه ۳.۱۲ آخرین نسخه از پایتون است که در دسترس عموم است و در سال ۲۰۲۴، نسخه ۳.۱۳ آن نیز منتشر خواهد شد. اما با توجه به صحبتهای خالق پایتون، مشکلات فراوانی که در انتقال از پایتون ۲ به ۳ به وجود آمد سبب شد که نسخه ۴ پایتون به این زودیها نیاید و حتی ممکن است هیچ وقت نسخه ۴ پایتون منتشر نشود و فقط پایتون ۳ به روزرسانی شود. در هر صورت، در این زبان سطح بالا و قدرتمند، بسیاری از امکانات زبانهای پیشرفته وجود دارد و چیزی از زبانهای قدرتمند دیگر کم ندارد و در ادامه مقاله به کاربردهای زبان python خواهیم پرداخت.
بر اساس رتبهبندی سایتهای مختلف و معتبر که زبانهای مختلف برنامهنویسی را با هم مقایسه میکنند، پایتون از زمان ظهور پایتون ۳ رشد بسیار چشمگیری داشته و از سال ۲۰۱۰، همیشه جزو ۱۰ زبان برتر برنامهنویسی بوده است. در هر سال با محبوبتر شدن کمکم به رتبههای بهتر رسیده و در چندین سال اخیر همیشه در بین رتبههای ۱ تا ۳ بوده است که در اغلب سایتهای برنامهنویسی، غالبا مقام اول یا دوم را در کنار جاوا اسکریپت دارد.
مطالب مرتبط: آموزش پایتون مقدماتی
در این قسمت، نحوه نصب نرمافزار پایتون را بیان میکنیم. شاید بپرسید که نرمافزار پایتون چیست و زبان پایتون چیست و این دو با هم چه تفاوتی دارند؟ تمام زبانهای برنامهنویسی، خود به صورت مجموعه کد نوشته شدهاند و برای کدنویسی به یک زبان، باید نرمافزار آن را نصب کرد. نرمافزار پایتون نیز به همین صورت است و برای استفاده از آن، باید python را روی سیستم خود نصب کرد. برای دانلود و نصب برنامه پایتون، میتوانید وارد سایت اصلی پایتون شوید. در صفحه اول این سایت، از قسمت Downloads میتوانید آخرین نسخه به روز شده از نرمافزار برنامهنویسی پایتون را دانلود و روی سیستم خود نصب کنید. در صورتی که از نسخههای ۱۰ و ۱۱ ویندوز استفاده میکنید، آخرین نسخه به راحتی روی سیستم شما قابل نصب است.
اما در صورتی که از نسخههای قدیمیتر ویندوز استفاده میکنید، آپدیتهای جدید پایتون روی آن کار نمیکنند و باید نسخههای قدیمیتر پایتون را دانلود و نصب کنید. با توجه به مستندات سایت اصلی پایتون، برنامه نصبی پایتون از نسخه ۳.۹ به بعد قابل نصب روی ویندوز ۷ و قدیمیتر از آن نیست. بنابراین در صورتی که از ویندوز ۷ استفاده میکنید، آخرین نسخهای از پایتون که روی آن میتوانید نصب کنید، پایتون ۳.۸ است. البته لازم به ذکر است که در صورتی که از ویندوز ۷ ۳۲ بیتی استفاده میکنید که سرویس پک ۱ روی آن نصب نشده است، آخرین نسخه قابل نصب روی آن پایتون ۳.۴ است که مربوط به سال ۲۰۱۵ میباشد و بسیاری از امکانات جدید را ندارد. بنابراین بهتر است که سیستم عامل خود را به روزرسانی کنید. در صورتی که از macOS یا سیستمهای عامل دیگری استفاده میکنید، میتوانید نسخههای مربوط به سیستم عامل خود را از این سایت دانلود کنید.
بیشتر بخوانید: گرافیک پایتون
زبان پایتون، یک زبان جامع است که در زمینههای مختلفی کاربرد دارد و همچنین کتابخانههای آماده فراوانی برای آن نوشته شده است و مرتبا به روزرسانی میشوند. با نرمافزار برنامهنویسی پایتون، شما میتوانید قسمت backend یک سایت را پیادهسازی کنید. برای این منظور چند کتابخانه جداگانه وجود دارد که یکی از معروفترین آنها django است. میتوانید بازی طراحی کنید. در زمینه هوش مصنوعی کار کنید، پردازش تصویر انجام دهید و غیره که در ادامه، به چندین نمونه از آنها میپردازیم تا با کاربرد زبان برنامهنویسی پایتون در بسیاری از زمینههای گوناگون آشنا شویم.
بیشتر بخوانید: ساخت ماشین حساب با پایتون
کتابخانههای مختلفی برای کار با هوش مصنوعی در پایتون نوشته شدهاند. به عنوان نمونه یکی از معروفترین آنها کتابخانه scikit-learn در پایتون است. scikit-learn یکی از کتابخانههای محبوب یادگیری ماشین در پایتون است که ابزارها و الگوریتمهای متنوعی را برای تحلیل دادهها و ایجاد مدلهای پیشبینی فراهم میکند. مثلا میتوان مراحل اصلی یک پروژه یادگیری ماشینی از جمله بارگذاری دادهها، پیش پردازش دادهها، انتخاب ویژگیها، انتخاب مدل، آموزش مدل و ارزیابی عملکرد مدل را با استفاده از کتابخانه scikit-learn مورد بررسی قرار داد. از دیگر کتابخانههای مشهور که در زمینه هوش مصنوعی در پایتون کاربرد دارند، TensorFlow و NumPy را میتوان نام برد. البته تعداد کتابخانههایی که در زمینه هوش مصنوعی هستند به این ۳ مورد محدود نمیشود و تعداد بسیار زیادی کتابخانه در پایتون برای کار کردن با هوش مصنوعی و یادگیری ماشین وجود دارد. هدف این مقاله، بیان همه آنها نیست و میخواهیم با اشاره به زمینههای گوناگون و متنوعی که پایتون در آنها قوی عمل کرده است، آنها را معرفی کنیم تا برای علاقهمندان، دریچهای کوچک باز کنیم که علایق خود را شناسایی کرده و به سمت علایق خود بروند.
همیشه یکی از علایق کودکان و نوجوانان و حتی برخی از بزرگسالان، ساخت بازی است. یک بازی که توسط خودتان نوشته شود، هیجان بسیار زیادی دارد و پایتون این امکان را به ما میدهد که با تعداد خط کدهای نه چندان زیاد، بازیهای جذابی را طراحی کنیم. معروفترین کتابخانه پایتون برای طراحی بازی، کتابخانه pygame است که میتوان بازیهای دوبعدی را در پایتون با آن طراحی کرد و ساخت. کتابخانههای دیگری نیز مثل Pyglet، PyKyra نیز وجود دارند که برای طراحی بازی با پایتون مورد استفاده قرار میگیرند. همچنین با کتابخانههای استاندارد پایتون مثل turtle و tkinter نیز میتوان بازی طراحی کرد. علاوه بر این، کتابخانههای دیگری نیز وجود دارند که میتوان با آنها در پایتون بازیهای سه بعدی مثل minecraft طراحی کرد که میتوان به کتابخانه ursina اشاره کرد.
مطالب مرتبط: ساخت بازی با پایتون
در زمینه طراحی سایت، پایتون یکی از قدرتمندترین و امنترین زبانهاست. معروفترین کتابخانه طراحی سایت زبان برنامه نویسی python، جنگو (django) است که بسیار محبوب است و در سایتهای مختلفی مثل instagram, pinterest, google, NASA, youtube, Quora و بسیاری از سایتهای دیگر از آن استفاده میشود. دقت کنید وقتی میگوییم استفاده میشود به این معنی نیست که کل کدهای مربوطه با پایتون نوشته شده است؛ اما با این وجود قسمتهای بزرگی از معروفترین سایتهای دنیا توسط فریمورک زبان برنامهنویسی پایتون نوشته شده است.
جنگو تنها کتابخانه طراحی سایت در پایتون نیست. یکی دیگر از کتابخانههای معروف Flask است. کتابخانههای دیگری نیز مثل CherryPy، web2py، FastAPI و چندین کتابخانه دیگر نیز برای طراحی سایت با پایتون وجود دارند. به طور کلی پایتون در زمینه طراحی وب بسیار محبوب است و همواره مورد توجه برنامهنویسان و شرکتهای مختلف بزرگ است.
پایتون به دلیل داشتن ویژگیهایی مثل سادگی و قدرت، به یکی از ابزارهای محبوب برای تحلیل داده و استخراج اطلاعات تبدیل شده است. از کتابخانههای مهم زبان python در زمینه علم داده NumPy، Pandas و Matplotlib را میتوان نام برد که همگی کتابخانه های پرکاربرد و محبوبی هستند و می توان از این کتابخانه ها در زمینه تحلیل دادهها، تصویرسازی نتایج، تحلیل و پاکسازی دادهها، استخراج ویژگیها، یادگیری ماشینی، تصویرسازی دادهها و بسیاری از موارد دیگر اشاره کرد. در این زمینه نیز، کتابخانههای گفته شده، جزو معروفترینها هستند و تعداد کتابخانههایی که در زمینه علم داده مورد استفاده قرار میگیرند، بسیار بیشتر از این تعداد است.
مطالب مرتبط: رسم نمودار در پایتون
اینترنت اشیا (IoT)، به متصل کردن اشیا فیزیکی مثل سنسورها، دستگاهها و وسایل خانگی به کامپیوتر و برقرار کردن ارتباط اینترنتی برای اشیا گفته میشود. در این زمینه نیز پایتون پیشتاز است و کتابخانهها و فریمورکهای معروفی مثل PySerial, CircuitPython, Adafruit و CircuitPython را دارد که به برنامهنویسان امکان کنترل و ارتباط با دستگاههای سختافزاری را میدهند. برای نمونه میتوان به استفاده این کتابخانهها در پروژههای عملی مانند کنترل روشنایی خانه، هوشمندسازی خانه، گلخانه هوشمند جهت آبیاری گلها، ارسال داده به سرویسهای ابری و موارد دیگر اشاره کرد. پایتون به علت سازگاری بالا، اکوسیستم گسترده کتابخانهها و جوامع فعال برنامهنویسی، یکی از انتخابهای مناسب برای توسعه نرمافزارهای اینترنت اشیا است.
در زمینه پردازش تصویر نیز پایتون کتابخانههای بسیار خوب و محبوبی دارد که معروفترین آنها OpenCV است. کتابخانههای Scikit-Image، SciPy، NumPy و pillow نیز از دیگر کتابخانههای معروف پایتون برای پردازش تصویر هستند که میتوانند از کارهای ساده مثل استفاده از یک عکس در برنامه پشتیبانی کنند تا کارهای پیچیده تر مثل شمردن تعداد انسان در یک تصویر یا بررسی وضعیت چهره یک شخص. البته کاربردهای این زمینه هنوز جای رشد بسیاری دارد و در آینده نه چندان دور، برای رانندگی خودکار ماشینهای خودران، پردازش تصویر بسیار مورد استفاده قرار خواهد گرفت که پایتون نیز در این زمینه با قدرت به پیشروی ادامه میدهد.
استخراج داده از وب یا اصطلاحا وب اسکرپینگ (web scraping)، در واقع فرآیندی است که در آن اطلاعات و دادههای موجود در صفحات وب از طریق تحلیل و استخراج از ساختار HTML و CSS آنها، در قالب دادههای مورد نیاز به صورت خودکار استخراج میشوند. جهت این کار با پایتون، برخی از کتابخانهها و ابزارهای مورد استفاده Selenium, Requests, BeautifulSoup و Scrapy هستند. این کتابخانهها امکان تجزیه و تحلیل ساختار صفحات وب، جستجوی الگوهای مشخص در صفحات و استخراج دادههای مورد نیاز را فراهم میکنند. استفاده از پایتون به عنوان یک زبان برنامهنویسی قدرتمند در وب اسکرپینگ، به دلیل سادگی و قدرت ابزارها و کتابخانههای موجود، بسیار رایج است و برنامهنویسان میتوانند به صورت خودکار اطلاعات مورد نیاز خود را از صفحات وب استخراج کنند.
در زمینه بررسی سایتها و همچنین طراحی سایت، سیستمهای کامپیوتری به هم متصل میشوند و وقتی کامپیوترهای گوناگون از سراسر دنیا به هم متصل میشوند، هکرهای گوناگون سعی در نفوذ به سیستمها کرده و و امنیت سیستم ها را با هک کردن زیر سوال میبرند. این مشکلی است که همواره وجود داشته و دارد و تمام سازمانها و افراد همیشه سعی در امن کردن سرورها و سیستمهای شخصی خود را دارند. بنابراین امنیت یکی از مهمترین مباحث در دنیای شبکه است که پایتون در این زمینه نیز خوب عمل کرده است. برای ارتباطات با سرورها و سایر سیستمهای موجود در شبکه، از کتابخانههای مثل django که در قسمتهای قبل به آن اشاره کردیم استفاده میشود. برای استخراج داده نیز یکی از کتابخانهها requests بود. همچنین کتابخانههای دیگری نیز مثل PyCrypto, Nmap و SCAPY وجود دارند که در زمینه برقراری امنیت در زبان پایتون (مثل رمز کردن دادهها و …) مورد استفاده قرار میگیرند تا در حد امکان از نفوذ هکرها به سیستمهای گوناگون جلوگیری کنند و یا این که در صورت نفوذ هکرها به سیستم، کمترین اطلاعات از کاربران به دست هکرها برسد.
با برنامهنويسي پايتون، میتوان رابط گرافیکی برای برنامههای نوشته شده درست کرد و به عنوان آخرین زمینه از کاربردهای پایتون، به طراحی برنامههای دسکتاپ که مخصوص کامپیوترهای شخصی است میپردازیم. کتابخانههای متنوع و گوناگونی برای این نوع برنامهها در پایتون نیز وجود دارد که از معروفترین آنها میتوان به PyQT، PyGUI، Kivy، flet و چندین کتابخانه قابل نصب دیگر نیز اشاره کرد. علاوه بر این موارد، کتابخانه tkinter به صورت پیشفرض و با نصب پایتون، قابل نصب روی سیستم است و امکانات زیادی به برنامهنویس جهت استفاده از رابطهای گرافیکی را میدهد. با این حال جهت طراحی یک ظاهر زیبا و کاربر پسند، کتابخانههای گفته شده بیشتر مورد استفاده قرار میگیرند.
با توجه به وجود تعداد بسیار زیاد زبانهای برنامهنویسی، در آغاز راه و ورود به این دنیای گسترده، ممکن است افراد نتوانند مسیر را درست انتخاب کنند و با انتخاب زبان برنامهنویسی اشتباه، وقت خود را هدر داده و در پایان نیز از برنامهنویسی دلزده شوند. بنابراین هدایت در جهت مسیر درست امری ضروری است. برای جوانان که علاقهمند به حضور در بازار کار برنامهنویسی هستند و میخواهند هر چه سریعتر به هدف خود برسند، یادگیری یک زبان برنامهنویسی برای کودکان با نوشتار پیچیده مثل زبان جاوا بسیار دشوار است و در این میان باید نحوه نوشتار آن زبان را نیز بیاموزند که کاری بسیار سخت است. حال اگر برای شروع ورود به این دنیا از زبانی مثل پایتون یادگیری را آغاز کنند و مفاهیم اصلی برنامهنویسی را با این زبان ساده بیاموزند، وقتی به تسلط رسیدند و ساختارهای اصلی همه زبانها را یاد گرفتند، تغییر زبان از پایتون به یک زبان دیگر برای آنها بسیار راحتتر است. بنابراین بهتر است که افرادی که شروع به یادگیری برنامهنویسی میکنند، از زبانی مثل پایتون این کار را آغاز کنند. زبانی که در عین سادگی، در تمام زمینهها مثل طراحی سایت، امنیت، یادگیری ماشین، هوش مصنوعی و غیره نیز کاربردهای فراوان دارد. به این ترتیب یک برنامهنویس پایتون، به علت گستردگی استفاده از این زبان توانایی کار در زمینه مورد علاقه خود را دارد و میتواند در صورت نیاز، یک زبان جدید را بیاموزد که چون با زبان پایتون کلیات زبان های برنامه نویسی را یاد گرفته، تغییر زبان برایش سخت نیست.
https://www.python.org/
https://en.wikipedia.org/wiki/Python_(programming_language)
https://en.wikipedia.org/wiki/History_of_Python#:~:text=of%20Python%202.-,Version%203,released%20on%20December%203%2C%202008.
https://builtin.com/software-engineering-perspectives/python-4
https://www.tiobe.com/tiobe-index/
https://www.stackscale.com/blog/most-popular-programming-languages/
https://spectrum.ieee.org/the-top-programming-languages-2023
https://distantjob.com/blog/programming-languages-rank/
https://en.wikipedia.org/wiki/List_of_programming_languages
https://careerkarma.com/blog/how-many-coding-languages-are-there/
https://www.codingal.com/coding-for-kids/blog/top-5-python-game-development-libraries-for-kids/