پایتون (Python)زبان برنامه نویسی پایتون چیست؟ – نحوه شروع و دلایل محبوبیتزبان برنامه نویسی پایتون (Python) چیست؟ این مقاله عالی به بررسی دلایل محبوبیت پایتون، موارد استفاده از پایتون و نحوه شروع به برنامه نویسی پایتون پرداخته زبان برنامه نویسی همهمنظوره، سطح بالا و شی گراییبرنامه نویسی شی گرا چیست؟ شی گرایی چیست؟این صفحه عالی به معرفی برنامه نویسی شی گرا پرداخته و توضیح داده شی گرایی یا همان object oriented یا OPP چیست؟ همچنین مزایای برنامه نویسی شی گرا را بیان کرده است که تحت مفسر کار میکند و در خیلی از زمینههای مهم از جمله علم داده (Data Science) کاربرد دارد. اگر قصد دارید وارد حوزه برنامه نویسیبرنامه نویسی کامپیوتر چیست و چطور می توانید یک برنامه نویس موفق شوید؟در عصر فعلی برنامهنویسی یکی از پرطرفدارترین شغلهای دنیاست، دغدغهای افرادی که میخواهند در مسیر برنامهنویس شدن قدم بردارند این است که نمیدانند از کجا باید شروع کنند، در این صفحه هر آن چه برای تبدیل شدن به یک برنامه نویس حرفه ای نیاز دارید در اختیارتان قرار گرفته است شوید یا در این حیطه مطالعاتی داشتهاید، قطعا مفاهیمی نظیر ساختمان داده و الگوریتمآموزش ساختمان داده و الگوریتمهر ساختمان داده یک نوع فرمت ذخیرهسازی و مدیریت دادهها در کامپیوتر است، که امکان دسترسی و اصلاح کارآمد آن دادهها را برای یکسری از الگوریتمها و کاربردها فراهم میکند، در این صفحه به بررسی و آموزش ساختمان داده و الگوریتم پرداخته شده است به گوشتان خورده است. در مقاله پیش رو قصد داریم مبحث ساختمان داده در پایتون را بیشتر بررسی کنیم.
ساختمان داده (Data Structure) چیست؟
حل مسئله، از کلیدیترین نیازهای اولیه در راستای پیدایش کامپیوترها بوده است. حالآنکه حل مسئله (چه با بهرهگیری از کامپیوتر و چه بدون آن)، همواره مستلزم گذران از مسیری است که ما را به نتیجه مطلوب برساند. در دنیای کامپیوتر، ایجاد چنین روندی را ساخت برنامه یا برنامه نویسی میگویند که مبتنی بر داده هاست. الگوریتمالگوریتم چیست به زبان ساده و با مثال های فراواندر این مقاله به زبان بسیار ساده و با مثال های متعدد توضیح داده شده که الگوریتم چیست و چه کاربردهایی دارد حل مساله (دستورالعمل حل مساله) داده های ورودی را با اجرای یکسری فرآیندها به دادههای خروجی مطلوب تبدیل میکند.
حال نیاز دیگری به وجود میآید: ذخیرهسازی و سازماندهی داده ها. ساختمان داده در واقع قالبی است که کمکمان میکند دادهها را ذخیره، سازماندهی، پردازش و بازیابی کنیم. ازآنجاکه کامپیوترهای مختلف بهلحاظ سختافزاری، معماری متفاوتی دارند و درعینحال زبانهای مختلف برنامه نویسی هم به طُرق مختلفی با سخت افزارسخت افزار چیست - بررسی اجزای اصلی سخت افزار کامپیوتردر این صفحه بررسی شده که سخت افزار چیست و سخت افزار کامپیوتر به زبان ساده معرفی شده است، همچنین به بررسی اجزای اصلی سخت افزار کامپیوتر پرداخته شده است ارتباط برقرار میکنند، هر زبان برنامه نویسی میتواند ساختمان داده مختص خودش را داشته باشد، هرچند بسیاری از انواع ساختمان داده عمومیت بیشتری دارند و در بسیاری از زبانهای برنامه نویسی با عناوین متفاوت به چشم میخورند.
انواع داده در پایتون
دادهها همانطور که در دنیای واقعی از نظر ذاتی تفاوت دارند، در دنیای کامپیوتر هم قابل دستهبندی و جداسازی هستند. فهرست زیر مهمترین انواع داده در زبان برنامه نویسی پایتون را برشمرده است:
- انواع داده های عددی: int, float, complex
- انواع داده های رشته ای: str
- انواع توالی: list, tuple, range
- انواع باینری: bytes, bytearray, memoryview
- نوع داده مپ: dict
- نوع بولی: bool
- انواع داده مجموعه ای: set, frozenset
حال بسته به نیاز و ذات مسئله، ممکن است بخواهیم این دادهها را به اشکال مختلف ذخیره، پردازش، بازیابی یا سازماندهی کنیم. در واقع ساختمان داده همچون جعبهای خالی است که میتواند بسته به نوع داده، آن را در خود جای دهد. در ادامه بحث ساختمان داده در پایتون را دقیقتر پیش میبریم.
کلیات ساختمان داده در پایتون
اعداد، رشتهها و مقادیر Boolean در پایتون هم مثل اغلب زبانهای برنامه نویسی دیگر وجود دارند، اما اساسیترین ساختمان داده های پایتون عبارتند از: list، set، tuple و dictionary. انواع ساختمان داده را عموما بر اساس تغییرپذیری (Mutability) و ترتیب (Order) از یکدیگر تفکیک میکنند. تغییرپذیری یعنی امکان تغییر محتویات دادهها پس از ذخیرهسازی آنها و ترتیب یعنی امکان دسترسی به المان دادهها با توجه به موقعیت آنها.
دوره برنامه نویسی پایتون
نمونه فیلمهایی از جلسات برنامه نویسی پایتون
ساختمان داده عددی در پایتون
نوع داده عددی پایتون برای نگهداری مقادیر عددی کاربرد دارد و موارد زیر را شامل میشود:
- int: اعداد صحیح را با ذکر علامت (مثبت یا منفی) نگه میدارد.
- long: اعداد صحیح طولانی را ذخیره میکند.
- float: اعداد اعشاری را ذخیره میکند و دقتش تا 15 رقم اعشار است.
- complex: حاوی اعداد مختلط است.
که بسته به نیاز، ممکن است هر یک از این انواع داده عددی را در پایتون به کار بگیریم.
ساختمان داده رشته (String) در پایتون
رشته دنبالهای از کاراکترهاست، پایتون از کاراکترهای یونیکد پشتیبانی میکند. بهطور کلی، رشتهها را با یک یا دو گیومه نشان میدهند: ‘Pouria’ یا “Pouria” هر دو از جنس رشته یا string هستند و پایتون از آنها پشتیبانی میکند. البته نوع دیگری از رشتههای چندخطی هم در پایتون وجود دارد که آنها را اینطور مینویسند:
text = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua."""
ساختمان داده بولی (Boolean) در پایتون
این نوع ساختمان داده در اغلب زبانهای برنامه نویسی وجود دارد و در واقع بیانگر همان دو حالت 0 و 1 است، هرچند در ظاهر امر آن را بهشکل true و false میبینیم، اما همان عملکرد منطقی را دارد. Boolean در پایتون نیز دو مقدار True یا False را به خود میگیرد و برای مقایسه، تشکیل عبارات شرطی و... کاربرد دارند:
python_boolean = True
ساختمان داده فهرست (List) در پایتون
همانطور که پیشتر گفتیم، لیست (list) در پایتون از انواع ساختمان داده اساسی و اصلی است. این ساختمان داده ذاتا با آرایه در زبانهای برنامه نویسی Cزبان برنامه نویسی C – مزایا و کاربرد زبان C – فرق C و ++Cاین مقاله عالی ابتدا توضیح میدهد که زبان برنامه نویسی c چیست، سپس به بررسی مزایا و معایب زبان C ، کاربردهای زبان سی ، و تفاوت بین C و ++C میپردازد یا سی پلاس پلاسبرنامه نویسی سی پلاس پلاس چیست؟ مزایای برنامه نویسی C++؟برنامه نویسی سی پلاس پلاس چیست و چه کاربردی دارد؟ این صفحه عالی به بررسی مزایای برنامه نویسی C++ پرداخته و نمونه هایی از کدهای زبان برنامه نویسی ++C را آورده تفاوت چندانی ندارد، اما لیست در پایتون میتواند انواع مختلف داده را بهطور همزمان در خود نگه دارد. لیست در پایتون دنبالهای مرتب از داده هاست که آن را با کروشه ([]) و کاما (،) مینویسند:
python_list = [‘name’ , 1]
لیست در پایتون هم تغییرپذیر (Mutable) است و هم ترتیب (Order) در آن اهمیت دارد.
ساختمان داده چندتایی (Tuple) در پایتون
Tuple از دیگر ساختمان داده های اصلی در پایتون است که بسیار به لیست شباهت دارد، اما تفاوت مهمش در این است که تغییرپذیری ندارد و بهعبارتی Mutable نیست؛ یعنی وقتی یک tuple را ایجاد کنیم و آن را به مقداری نسبت دهیم، دیگر نمیتوان محتویات آن را تغییر داد. در واقع ساختمان داده tuple از نوع read-only است.
در پایتون، tuple را با استفاده از پرانتز و کاما در میان دادهها مینویسند:
python_tuple = (‘name’ , 1)
ساختمان داده tuple در پایتون تغییرپذیر نیست، اما ترتیب در آن اهمیت دارد.
ساختمان داده دیکشنری (Dictionary) در پایتون
در پایتون، دیکشنری هم توالی از داده هاست، با این تفاوت که هر داده را بهصورت جفتی از کلید: مقدار (key: value) ذخیره میکند. این ویژگی نسبت به لیست و tuple، دست کاربر را برای اندیسگذاری دادهها باز میگذارد. دیکشنری را در پایتون با کمک آکولاد ({}) مینویسند:
python_dict = {
“name” : “Pouria”,
“age” : 30,
“weight” : “60 kg”
}
دیکشنری پایتون تغییرپذیر است. ترتیب در دیکشنری های نسخه 3.7 پایتون اهمیت دارد، اما در نسخههای پیش از آن از نوع Unordered بودهاند.
ساختمان داده مجموعه (Set) در پایتون
ساختمان داده set در پایتون نیز برای ذخیره کردن چند داده در کنار هم بهکار میرود، اما تفاوت مهمش با لیست، tuple و دیکشنری در آن است که نه تغییرپذیر است و نه ترتیب در آن اهمیت دارد. set را هم مثل دیکشنری در پایتون با آکولاد مینویسند، اما دیگر خبری از جفت key: value نیست:
python_set = {“name”, 20, “KonKurComputer”}
از دیگر نکات مهم setها در پایتون این است که مقادیر تکراری را نمیپذیرند.
نمونه فیلمهای دورههای مهارتی
جمع بندی
دادهها در دنیای کامپیوتر و برنامه نویسی نقش بسیار کلیدی را ایفا میکنند؛ اما شاید بتوان گفت مهمتر از خود دادهها، نحوه ذخیرهسازی و پردازش آنها در کامپیوتر است که در نگاهی ساده به آن ساختمان داده میگویند. زبانهای برنامه نویسی مختلف ساختمان داده مختص خود را دارند، چراکه نحوه ارتباط هر یک از آنها با سخت افزار کامپیوتر متفاوت است. در این مقاله کوشیدیم برخی از مهم ترین انواع ساختمان داده در پایتون را بررسی کنیم.
ساختمان داده در پایتون (Python) چیست؟
ازآنجاکه کامپیوترهای مختلف معماری سخت افزاری متفاوتی دارند و البته زبانهای برنامه نویسی هم به طرق مختلفی با سختافزار در ارتباط هستند، هر زبان برنامه نویسی ساختمان داده مختص خودش را دارد. ساختمان داده در واقع قالبی است که کمکمان میکند داده ها را ذخیره، سازماندهی، پردازش و بازیابی کنیم. هرچند بسیاری از انواع ساختمان داده عمومیت بیشتری دارند و در بسیاری از زبانهای برنامه نویسی با عناوین متفاوت به چشم میخورند، اما اساسیترین ساختمان داده های پایتون عبارتند از list، tuple، dictionary و set.
مهمترین تفاوت ساختمان داده های پایتون چیست؟
داده ها ذاتا یکسان نیستند و تفاوت های ساختاری دارند. این تفاوت را باید بتوان در زبان های برنامه نویسی هم لحاظ کرد تا دادهها به شکل مطلوب در کامپیوتر ذخیره و بازیابی شوند. انواع ساختمان داده را غالبا بر اساس تغییرپذیری (Mutability) و ترتیب (Order) دستهبندی میکنند، تغییرپذیری یعنی امکان تغییر محتویات دادهها پس از ذخیرهسازی و ترتیب یعنی امکان دسترسی به المان داده ها با توجه به موقعیت آنها.