فصل چهارم آموزش پایتون مقدماتی - انواع متغیرها

سلام دوستانبا ادامه ی کتاب پایتون مقدماتی که به همراه دوست عزیزم جناب مهندس مهدی عباسپور شاهمرس نوشته و چاپ کردیم در خدمتتون هستیم. https://virgool.io/@mahdi.abbaspour.sh متغیرها، چیزی به غیر از رزرو کردن مکانی از حافظه برای ذخیره‌‌ی مقادیر نیستند. این بدان معنی‌‌است که زمان ایجاد یک متغیر، مقداری از حافظه را رزرو می‌‌کنید.مترجم پایتون، حافظه را بر اساس نوع داده‌‌ی[1] متغیر، اختصاص‌‌داده و تصمیم می‌‌گیرد که چه چیزی می‌‌تواند در حافظه‌‌ی رزرو شده، ذخیره‌‌شود. بنابراین با اختصاص انواع داده‌‌های مختلف به متغیرها، می‌‌توانید عدد صحیح، اعشاری ویا کاراکتر را در این متغیرها ذخیره‌‌نمایید.[1]Data type4-1- انتساب[1] مقادیر به متغیرهامتغیرهای پایتون برای رزرو حافظه، نیازی به اعلان صریح[2] ندارند. زمانی که شما مقداری را برای یک متغیر اختصاص‌‌دهید، این اعلان، به صورت خودکار اتفاق می‌‌افتد. در پایتون، برای اختصاص مقادیر به متغیرها، از علامت مساوی استفاده می‌‌شود. همان گونه که در شکل (4-1) مشاهده می‌‌کنید، عمل‌‌وند[3] سمت چپِ عملگر[4]مساوی، نام متغیر و عمل‌‌وند سمت راست، مقدار ذخیره‌‌شده در متغیر است.شکل (4-1)در این جا، 100، 1000.0و "جان" مقادیر اختصاص داده‌‌شده و counter از نوع صحیح، miles از نوع اعشاری و name از نوع رشته، نام متغیرها هستند. همچنین متغیر اول از نوع عدد صحیح، دومی از نوع اعشاری و در نهایت سومی از نوع رشته می‌‌باشد. نتیجه‌‌ی اجرای قطعه کد شکل (4-1) را در شکل (4-2) می‌‌بینید.شکل (4-2)[1]Assign [2]Explicit declaration [3]Operand [4]Operator4-2- انتساب چندگانههمان گونه که در شکل (4-3) مشاهده می‌‌نمایید، یکی از ویژگی‌‌های پایتون این است که به شما اجازه می‌‌دهد یک مقدار واحد را به چندین متغیر، اختصاص دهید. در این جا، یک شی، از نوع صحیح با مقدار 1 ایجاد شده و همه‌‌ی متغیرها به یک مکان از حافظه اختصاص داده می‌‌شوند.شکل (4-3)البته می‌‌توانید اشیای چندگانه را نیز، هم ‌زمان به ‌چندین متغیر اختصاص‌‌دهید. نمونه‌‌ای از آن را در شکل (4-4) می‌‌بینید. در این جا دو متغیر صحیح، با مقادیر 1 و 2 به ترتیب به متغیرهای a و b اختصاص داده‌‌شده و یک رشته با مقدار john به متغیر c اختصاص داده می‌‌شود.شکل (4-4)4-3- انواع داده‌‌ی استاندارداطلاعات ذخیره‌‌شده در حافظه می‌‌تواند از انواع مختلفی باشد. به عنوان مثال، سن یک فرد از نوع عدد صحیح و آدرس او از نوع رشته ذخیره می‌‌شود. پایتون دارای انواع داده‌ی استاندارد مختلفی است که برای عملیات ممکن، روی آن‌‌ها و روش ذخیره‌‌سازی متفاوت برای هر یک از آن‌‌ها، تعریف و استفاده می‌‌شوند. زبان پایتون، دارای 5 نوع داده استاندارد به صورت، عدد (Number)، رشته (String)، لیست (List)، چندتایی (Tuple) و فرهنگ‌‌لغت (Dictionary) است.4-3-1- نوع داده‌‌ی عددیاین نوع داده، برای ذخیره‌‌ی مقادیر عددی استفاده می‌‌شود. برای ایجاد نوع داده‌‌ی عددی کافی‌‌است مقداری به این نوع اختصاص داده‌‌شود.شکل (4-5)همانند شکل (4-6) می‌‌توانید به وسیله دستور del statement مرجع یک یا چند شی عددی را حذف‌‌کنید.شکل (4-6)مثالی از کاربرد این دستور را در شکل (4-7) مشاهده می‌‌کنید.شکل (4-7)پایتون از چهار نوع داده‌‌ی عددی پشتیبانی می‌‌کند که نمونه‌‌هایی از آن‌‌ها را در شکل (4-8) می‌‌بینید.یک) int : عدد صحیح علامت‌‌داردو) long : عدد صحیح بزرگ که علاوه بر مبنای 10، می‌‌توان آن را به صورت مبنای شانزده[1] ویا هشت[2] نمایش داد.سه) float : اعداد اعشاری شناورچهار) complex : اعداد مختلطشکل (4-8)حال به ارائه‌‌ی چندین نکته در مورد این نوع داده می‌‌پردازیم.برای مشخص‌‌کردن اعداد long می‌‌توانید از حرف بزرگ ویا کوچک L استفاده‌‌کنید. البته برای جلوگیری از اشتباه گرفته‌‌شدن آن با عدد یک انگلیسی (l و 1)، بهتر است از حرف بزرگ آن استفاده‌‌نمایید.هر عدد مختلط، از دو بخش حقیقی[3] و موهومی[4] تشکیل شده‌‌است. برای مثال عدد X+Yj را درنظر بگیرید. در این عدد، X و Y ، از نوع حقیقی بوده و j از نوع واحد یا یکه‌‌ی موهومی است. البته این نوع اعداد در پایتون کاربرد چندانی ندارند.[1]Hexadecimal [2]Octal [3]Real [4]Imaginary4-3-2- نوع داده‌‌ی رشته‌‌ایرشته‌‌ها در پایتون، به عنوان مجموعه‌‌ای از کاراکترهای موجود در بین علامت‌‌های تک‌‌کوتیشن ویا جفت‌‌کوتیشن، شناخته می‌‌شوند. هر زیرمجموعه‌‌ای از یک رشته می‌‌تواند با استفاده از عملگرهای برش ([] و [:]) جدا شود. اندیس[1] شروع هر رشته، مقدار صفر و انتهای آن، 1- است.همانند شکل (4-9)، برای اتصال دو یا چند رشته به هم، علامت جمع به کار می‌‌رود. همچنین از علامت ستاره، برای تعیین تعداد تکرار یک رشته استفاده می‌‌شود.شکل (4-9)نتیجه‌‌ی اجرای این قطعه کد، در شکل (4-10) آمده‌‌است. همان گونه که می‌‌بینید، نتیجه‌‌ی اجرای پرینت‌‌ها به این شرح است.اولین: چاپ کامل رشته‌‌ی strدومین: چاپ اولین کاراکتر از رشتهسومین: چاپ کاراکترهای سوم تا پنجمچهارمین: چاپ کاراکترهای سوم به بعدپنجمین: چاپ رشته‌‌ی str دوبار پشت سر همششمین: چاپ ترکیبی از رشته‌‌ی str و رشته‌‌ی TESTشکل (4-10)[1]Index4-3-3- نوع داده‌‌ی لیستترکیبی از انواع مختلفی از داده‌‌ها در پایتون، یک لیست را تشکیل می‌‌دهند. عناصر موجود در لیست، توسط ویرگول ازهم جدا شده و همگی درون کروشه‌‌ها قرار می‌‌گیرند. می‌‌توان گفت که تا حدودی، لیست‌‌ها شبیه به آرایه‌‌های زبان C هستند، با این تفاوت که همه‌‌ی عناصر آرایه‌‌ها، بایستی از یک نوع باشند، در حالی که، یک لیست می‌‌تواند شامل چندین نوع داده باشد.همان طوری که در شکل (4-11) می‌‌بینید، تمامی موارد اندیس‌‌ها و علامت‌‌های جمع و ستارهمنتسب به رشته‌‌ها، در لیست‌‌ها نیز کاربرد دارند. همچنین نتیجه‌‌ی اجرای قطعه کد مذکور، در شکل (4-12) قابل مشاهده است.شکل (4-11)شکل (4-12)تنها تفاوت عمده‌‌ی خروجی مثال رشته‌‌ها و لیست‌‌ها، در این است که در رشته‌‌ها، اندیس به کاراکتر اشاره دارد، در حالی که در لیست می‌‌تواند این اندیس، یک کاراکتر، عدد، رشته و هر نوع داده دیگری باشد.4-3-4- نوع‌‌داده‌‌ی چندتایی یا تاپلیک تاپل، نوع دیگری از داده‌‌های ترتیبی شبیه به لیست است. عناصر هر تاپل با ویرگول از هم جدا می‌‌شوند. همچنین بر خلاف لیست‌‌ها، آن‌‌ها، درون پرانتز قرار می‌‌گیرند. از دیگر تفاوت‌‌های این دو نوع، امکان به‌‌روز رسانی آن‌‌هاست. عناصر تاپل‌‌ها، قابل تغییر نبوده و از آن‌‌ها به عنوان لیست‌‌های فقط خواندنی نام برده می‌‌شود. نمونه‌‌ای از تاپل‌‌ها در شکل (4-13) قابل مشاهده است.شکل (4-13)توضیحات ارائه‌‌شده برای لیست‌‌ها در خروجی این قطعه کد یعنی شکل (4-14) نیز صدق می‌‌کند.شکل (4-14)حال با توجه به مطالب ارائه‌‌شده، می‌‌توان گفت که در قطعه کد (4-15) خط چهارم، دارای اشتباه گرامری است. دلیل خطای برنامه این است که ما مجوز تغییر مقدار عناصر تاپل‌‌ها را نداریم. البته این عمل در لیست‌‌ها، مجاز بوده و قابل اجرا است.شکل (4-15)4-3-5- نوع داده‌‌ی فرهنگ‌‌لغت یا دیکشنریدیشکنری‌‌های پایتون، نوعی از انواع جدول هش[1] هستند. آن‌‌ها مانند آرایه‌‌های ‌انجمنی[2] یا هش‌‌های موجود در Perl هستند. به عبارتی دیگر، شامل دوتایی‌‌های کلید[3] و مقدار[4] هستند. با وجود این که کلیدها، تقریبا می‌‌توانند هر نوع داده‌‌ی پایتونی را شامل شوند، اما معمولا از اعداد ویا رشته‌‌ها استفاده می‌‌کنند. از سوی دیگر، مقادیر نیز می‌‌توانند شامل هر نوع داده‌‌ی دلخواه پایتون باشند.همانند شکل (4-16)، دیکشنری‌‌ها توسط علامت‌‌های { } محصور می‌‌شوند. برای مقداردهی آن‌‌ها نیز می‌‌توان از [ ] استفاده‌‌کرد.‌‌شکل (4-16)نتیجه‌‌ی اجرای این قطعه کد را می‌‌توان در شکل (4-17) مشاهده‌‌کرد. همان گونه که می‌‌بینید، نتیجه‌‌ی اجرای پرینت‌‌ها، به این شرح است:اولین: چاپ مقدار ثبت‌‌شده برای کلید oneدومین: چاپ مقدار ثبت‌‌شده برای کلید 2سومین: چاپ همه کلیدها و مقادیر موجود در دیکشنریچهارمین: چاپ فقط کلیدهاپنجمین: چاپ فقط مقادیرشکل (4-17)هیچ مفهومی از نظم در میان عناصر دیکشنری‌‌ها وجود ندارند. عناصر دیکشنری‌‌ها "درهم و آشفته" نیستند ولی می‌‌توان گفت که نامرتب هستند.[1]Hash Table Type [2]Associative Arrays [3]Key [4]Value4-4- تبدیل انواع‌‌داده‌‌هاآخرین موضوعی که در مورد آن، در این فصل بحث خواهیم‌‌نمود، تبدیل انواع داده به یکدیگر است. گاهی اوقات ممکن‌‌است شما نیاز به تبدیل بین دو نوع داده داشته‌‌باشید، برای این کار، به آسانی می‌‌توان از نام نوع داده‌‌ی مقصد، به عنوان تابع تبدیل استفاده‌‌کرد.در شکل (4-18)، لیستی از این توابع را به صورت جدول برای شما به نمایش می‌‌گذاریم که شامل نام توابع و توضیحات آن‌‌ها خواهدبود. لازم به ذکر است که استفاده از عبارات داخل [ ] اختیاری است. همچنین ورودی‌‌های تابع بایستی شرایط تبدیل‌‌شدن را داشته‌‌باشند.شکل (4-18)[1]Unicodeدر پست بعدی به عملگرهای پایه خواهیم پرداخت. با ما همراه باشین