pythonعلوم داده

پایتون برای علم داده

پایتون چیست؟

پایتون یک زبان برنامه نویسی است که در اوایل دهه‌ی ۹۰ میلادی، توسط خیدو فان روسوم درهلند اختراع شد. از زمان اختراعش تا امروز پایتون به عنوان یک زبان برنامه نویسی سطح بالا در توسعه‌ی برنامه‌های وب و موبایل و همچنین در آنالیز داده و محاسبات علمی به کار رفته است.

برای مثال، در توسعه‌ی وبسایت‌های معروفی مانند Dropbox , Google , Instagram , Spotify وYoutube از پایتون استفاده شده است. جامعه‌ی بزرگ توسعه دهندگانِ پایتون و ابزار‌های متن بازِ(open source) متعدد برای این زبان، می‌تواند کمک بزرگی برای برنامه نویسان این زبان باشد. در سال‌های اخیر ابزار‌های زیادی مخصوصا در حوزه‌ی علم داده برای پایتون توسعه داده شده است که آنالیز کردن داده‌ها را از همیشه آسان‌تر می‌سازد.

با اینکه پایه‌های نوشتن زبانی مانند پایتون در دهه‌‌ی ۸۰ میلادی گذاشته شد، اولین بار در سال ۱۹۹۱ منتشر شد. هدف اصلی از توسعه‌ی این زبان، اتوماسیون کار‌های تکراری، برای توسعه سریع برنامه‌ها است. پایتون زبانی به نسبت آسان برای یادگیری است زیرا کدهای آن تمیز و قابل فهم است. بنابراین غافل‌‌گیر کننده نیست که بیشتر برنامه نویس‌ها با آن آشنا هستند.

برخلاف C و C++ که زبان‌هایی دارای کامپایلر هستند، پایتون زبانی دارای مفسر است. کامپایلر برنامه ایست که کد نوشته شده (برای مثال به زبان C) را به زبان ماشین ترجمه می‌کند. اما سخت افزار برای هر دستگاهی متفاوت است و این باید توسط کامپایلر پیشبینی شود؛ مثلا کامپایلر برای سی‌پی‌یو‌های Intel و AMD متفاوت است. اما در مقابل مفسر برنامه را در محیطی به نام kernel به bytecode ترجمه و آن را به صورت خط به خط اجرا می‌کند. لذا هر برنامه‌ی پایتون در هر دستگاهی که مفسر پایتون نصب شده‌باشد، اجرا می‌شود.

به دلیل متن‌باز بودن مفسر پایتون، نسخه‌های مختلفی از آن توسط افراد مختلفی توسعه داده شده است که پیاده‌سازی اصلی آن CPython نام دارد (به این دلیل که به زبان C نوشته شده است)؛ نسخه‌های دیگری مانند Jython , IronPython , PyPy نیز وجود دارد که تفاوت‌های کوچکی با پیاده‌سازی اصلی دارند. به طور مثال Jython برنامه را به java bytecode ترجمه می‌کند و روی JVM اجرا می‌کند. یا PyPy کد پایتون را ۷ برابر سریع‌تر از پیاده‌سازی اصلی اجرا می‌کند.

  • به کد زیر دقت کنید. این کد که در زبان پایتون نوشته شده است، تمام عناصر لیست تعریف شده را چاپ می‌کند.
stuff = ["Hello, World!", "Hi there, Everyone!", 6]
for i in stuff:
    print(i)
  • همان کد را در زبان جاوا می‌بینید.
public class Test {
    public static void main(String args[]) {
        String array[] = {"Hello, World", "Hi there, Everyone", "6"};
        for (String i : array) {
          System.out.println(i);
        }
    }
}

می‌توان دید که کد پایتون نسبت به کد جاوا (و بقیه زبان‌هایی که نوشتاری شبیه جاوا دارند) کوتاه‌تر و ساده‌تر است و به زبان گفتاری نزدیک‌تر است.

چرا پایتون برای علم داده انتخاب شده؟

به غیر از پایتون زبان‌های دیگری مانند R، Scala، Julia، Matlab و SQL نیز برای علوم داده استفاده می‌شوند؛ اما پایتون به خصوص در صنعت از همه پر‌کاربرد‌تر است (منظور از Matlab، اسکریپت نوشته‌شده در متلب است).

stats
محبوبیت در این‌جا به معنی تعداد جستجو در گوگل است.
همانطور که مشاهده می‌کنید محبوبیت زبان پایتون به مراتب از سایر زبان‌ها بیشتر است.

پایتون کتابخانه‌ها و ابزار‌هایی قوی و متعدد دارد

پایتون در همه‌ی حوزه‌های علم داده دارای کتابخانه‌های متعددی است که اکثر آنها توسط شرکت‌های بزرگ یا دانشگاه‌ها پشتیبانی و دائما به‌روز‌رسانی می‌شوند. تعدادی از مهمترین کتابخانه‌های پایتون برای علم داده را در مقاله ای با نام  کتابخانه‌های علم داده در پایتون معرفی خواهم کرد.

کدهای پایتون قابل فهم است

پایتون به نسبت زبان‌های دیگر نوشتار ساده‌تری دارد و به همین دلیل سریع قابل یادگیری است و این باعث می‌شود کار، به خصوص در پروژه‌های بزرگ، راحت‌تر شود. در واقع نوشتار پایتون به قدری ساده است که جمله‌ی زیر بسیار به شوخی گفته می‌شود:

پایتون، شبه کد قابل اجرا است.

جامعه‌ای بزرگ از توسعه‌دهندگان

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

چند پارادایمی بودن

پایتون از جمله‌ی زبان‌هایی است که از اکثر پارادایم‌های معروف برنامه‌نویسی مانند functional programmingobject-oriented programmingstructured programming و procedural programming را پشتیبانی می‌کند.

پایتون در مقابل R

پایتون و R دو زبان پرطرفدار در حوزه‌ی علم داده هستند. اشتراکات زیادی از جمله رایگان و متن باز بودن بین دو زبان وجود دارد. مستندات هر دو زبان با کمک کاربران نوشته‌ شده است و هر دو اجتماعات فعالی در اینترنت دارند. اما هرکدام برتری‌هایی نسبت به دیگری دارند.

  • پایتون کتابخانه‌های متعدد و قوی‌ای دارد که در بالا به آنها اشاره شده است.
  • تقریبا هر ۱۸ ماه یک بار نسخه‌ی جدید و با ثباتی از پایتون عرضه می‌شود.
  • پایتون دارای نوشتار ساده است.
  • R توانایی کشیدن نمودارهای با کیفیت و متنوعی را دارد.
  • R به سرعت در حال توسعه است و تقریبا برای همه‌ی تکنیک‌های آماری پکیج دارد.

اما تفاوت اصلی میان این دو، کاربرد بیشتر پایتون در صنعت است. به صورتی که اکثر شرکت‌ها برای بخش production از پایتون استفاده می‌کنند و R بیشتر به استفاده‌های آکادمیک محدود شده است.

برای مطالعه مقاله سئو در2022 بر روی لینک کلیک کنید

امیرحسین باقری

امیرحسین باقری هستم عاشق برنامه نویسی مخصوصا با python و همینطور طراح قالب و متخصص فرانت اند؛ از دانشی که تو این مدت بدست آوردم میشه به HTML, CSS, Bootstrap, Flexbox, SASS, Python, Django, DRF و هوش مصنوعی اشاره کرد.

نوشته های مشابه

دکمه بازگشت به بالا