فصل چهارم آموزش پایتون مقدماتی - انواع متغیرها (انتشار: 1402/07/30)
متغیرها، چیزی به غیر از رزرو کردن مکانی از حافظه برای ذخیرهی مقادیر نیستند. این بدان معنیاست که زمان ایجاد یک متغیر، مقداری از حافظه را رزرو میکنید. مترجم پایتون، حافظه را بر اساس نوع دادهی متغیر، اختصاصداده و تصمیم میگیرد که چه چیزی میتواند در حافظهی رزرو شده، ذخیرهشود. بنابراین با اختصاص انواع دادههای مختلف به متغیرها، میتوانید عدد صحیح، اعشاری ویا کاراکتر را در این متغیرها ذخیرهنمایید.
4-1- انتساب مقادیر به متغیرها
متغیرهای پایتون برای رزرو حافظه، نیازی به اعلان صریح ندارند. زمانی که شما مقداری را برای یک متغیر اختصاصدهید، این اعلان، به صورت خودکار اتفاق میافتد. در پایتون، برای اختصاص مقادیر به متغیرها، از علامت مساوی استفاده میشود. همان گونه که در شکل (4-1) مشاهده میکنید، عملوند سمت چپِ عملگرمساوی، نام متغیر و عملوند سمت راست، مقدار ذخیرهشده در متغیر است.
در این جا، 100، 1000.0و "جان" مقادیر اختصاص دادهشده و counter از نوع صحیح، miles از نوع اعشاری و name از نوع رشته، نام متغیرها هستند. همچنین متغیر اول از نوع عدد صحیح، دومی از نوع اعشاری و در نهایت سومی از نوع رشته میباشد. نتیجهی اجرای قطعه کد شکل (4-1) را در شکل (4-2) میبینید.
4-2- انتساب چندگانه
همان گونه که در شکل (4-3) مشاهده مینمایید، یکی از ویژگیهای پایتون این است که به شما اجازه میدهد یک مقدار واحد را به چندین متغیر، اختصاص دهید. در این جا، یک شی، از نوع صحیح با مقدار 1 ایجاد شده و همهی متغیرها به یک مکان از حافظه اختصاص داده میشوند.
البته میتوانید اشیای چندگانه را نیز، هم زمان به چندین متغیر اختصاصدهید. نمونهای از آن را در شکل (4-4) میبینید. در این جا دو متغیر صحیح، با مقادیر 1 و 2 به ترتیب به متغیرهای a و b اختصاص دادهشده و یک رشته با مقدار john به متغیر c اختصاص داده میشود.
4-3- انواع دادهی استاندارد
اطلاعات ذخیرهشده در حافظه میتواند از انواع مختلفی باشد. به عنوان مثال، سن یک فرد از نوع عدد صحیح و آدرس او از نوع رشته ذخیره میشود. پایتون دارای انواع دادهی استاندارد مختلفی است که برای عملیات ممکن، روی آنها و روش ذخیرهسازی متفاوت برای هر یک از آنها، تعریف و استفاده میشوند. زبان پایتون، دارای 5 نوع داده استاندارد به صورت، عدد (Number)، رشته (String)، لیست (List)، چندتایی (Tuple) و فرهنگلغت (Dictionary) است.
4-3-1- نوع دادهی عددی
این نوع داده، برای ذخیرهی مقادیر عددی استفاده میشود. برای ایجاد نوع دادهی عددی کافیاست مقداری به این نوع اختصاص دادهشود.
همانند شکل (4-6) میتوانید به وسیله دستور del statement مرجع یک یا چند شی عددی را حذفکنید.
مثالی از کاربرد این دستور را در شکل (4-7) مشاهده میکنید.
پایتون از چهار نوع دادهی عددی پشتیبانی میکند که نمونههایی از آنها را در شکل (4-8) میبینید.
یک) int : عدد صحیح علامتدار
دو) long : عدد صحیح بزرگ که علاوه بر مبنای 10، میتوان آن را به صورت مبنای شانزده ویا هشت نمایش داد.
سه) float : اعداد اعشاری شناور
چهار) complex : اعداد مختلط
حال به ارائهی چندین نکته در مورد این نوع داده میپردازیم.
- برای مشخصکردن اعداد long میتوانید از حرف بزرگ ویا کوچک L استفادهکنید. البته برای جلوگیری از اشتباه گرفتهشدن آن با عدد یک انگلیسی (l و 1)، بهتر است از حرف بزرگ آن استفادهنمایید.
- هر عدد مختلط، از دو بخش حقیقی و موهومی تشکیل شدهاست. برای مثال عدد X+Yj را درنظر بگیرید. در این عدد، X و Y ، از نوع حقیقی بوده و j از نوع واحد یا یکهی موهومی است. البته این نوع اعداد در پایتون کاربرد چندانی ندارند.
4-3-2- نوع دادهی رشتهای
رشتهها در پایتون، به عنوان مجموعهای از کاراکترهای موجود در بین علامتهای تککوتیشن ویا جفتکوتیشن، شناخته میشوند. هر زیرمجموعهای از یک رشته میتواند با استفاده از عملگرهای برش ([] و [:]) جدا شود. اندیس شروع هر رشته، مقدار صفر و انتهای آن، 1- است.
همانند شکل (4-9)، برای اتصال دو یا چند رشته به هم، علامت جمع به کار میرود. همچنین از علامت ستاره، برای تعیین تعداد تکرار یک رشته استفاده میشود.
نتیجهی اجرای این قطعه کد، در شکل (4-10) آمدهاست. همان گونه که میبینید، نتیجهی اجرای پرینتها به این شرح است.
- اولین: چاپ کامل رشتهی str
- دومین: چاپ اولین کاراکتر از رشته
- سومین: چاپ کاراکترهای سوم تا پنجم
- چهارمین: چاپ کاراکترهای سوم به بعد
- پنجمین: چاپ رشتهی str دوبار پشت سر هم
- ششمین: چاپ ترکیبی از رشتهی str و رشتهی TEST
4-3-3- نوع دادهی لیست
ترکیبی از انواع مختلفی از دادهها در پایتون، یک لیست را تشکیل میدهند. عناصر موجود در لیست، توسط ویرگول ازهم جدا شده و همگی درون کروشهها قرار میگیرند. میتوان گفت که تا حدودی، لیستها شبیه به آرایههای زبان C هستند، با این تفاوت که همهی عناصر آرایهها، بایستی از یک نوع باشند، در حالی که، یک لیست میتواند شامل چندین نوع داده باشد.
همان طوری که در شکل (4-11) میبینید، تمامی موارد اندیسها و علامتهای جمع و ستارهمنتسب به رشتهها، در لیستها نیز کاربرد دارند. همچنین نتیجهی اجرای قطعه کد مذکور، در شکل (4-12) قابل مشاهده است.
تنها تفاوت عمدهی خروجی مثال رشتهها و لیستها، در این است که در رشتهها، اندیس به کاراکتر اشاره دارد، در حالی که در لیست میتواند این اندیس، یک کاراکتر، عدد، رشته و هر نوع داده دیگری باشد.
4-3-4- نوعدادهی چندتایی یا تاپل
یک تاپل، نوع دیگری از دادههای ترتیبی شبیه به لیست است. عناصر هر تاپل با ویرگول از هم جدا میشوند. همچنین بر خلاف لیستها، آنها، درون پرانتز قرار میگیرند. از دیگر تفاوتهای این دو نوع، امکان بهروز رسانی آنهاست. عناصر تاپلها، قابل تغییر نبوده و از آنها به عنوان لیستهای فقط خواندنی نام برده میشود. نمونهای از تاپلها در شکل (4-13) قابل مشاهده است.
توضیحات ارائهشده برای لیستها در خروجی این قطعه کد یعنی شکل (4-14) نیز صدق میکند.
حال با توجه به مطالب ارائهشده، میتوان گفت که در قطعه کد (4-15) خط چهارم، دارای اشتباه گرامری است. دلیل خطای برنامه این است که ما مجوز تغییر مقدار عناصر تاپلها را نداریم. البته این عمل در لیستها، مجاز بوده و قابل اجرا است.
4-3-5- نوع دادهی فرهنگلغت یا دیکشنری
دیشکنریهای پایتون، نوعی از انواع جدول هش هستند. آنها مانند آرایههای انجمنی یا هشهای موجود در Perl هستند. به عبارتی دیگر، شامل دوتاییهای کلید و مقدار هستند. با وجود این که کلیدها، تقریبا میتوانند هر نوع دادهی پایتونی را شامل شوند، اما معمولا از اعداد ویا رشتهها استفاده میکنند. از سوی دیگر، مقادیر نیز میتوانند شامل هر نوع دادهی دلخواه پایتون باشند.
همانند شکل (4-16)، دیکشنریها توسط علامتهای { } محصور میشوند. برای مقداردهی آنها نیز میتوان از [ ] استفادهکرد.
نتیجهی اجرای این قطعه کد را میتوان در شکل (4-17) مشاهدهکرد. همان گونه که میبینید، نتیجهی اجرای پرینتها، به این شرح است:
- اولین: چاپ مقدار ثبتشده برای کلید one
- دومین: چاپ مقدار ثبتشده برای کلید 2
- سومین: چاپ همه کلیدها و مقادیر موجود در دیکشنری
- چهارمین: چاپ فقط کلیدها
- پنجمین: چاپ فقط مقادیر
هیچ مفهومی از نظم در میان عناصر دیکشنریها وجود ندارند. عناصر دیکشنریها "درهم و آشفته" نیستند ولی میتوان گفت که نامرتب هستند.
4-4- تبدیل انواعدادهها
آخرین موضوعی که در مورد آن، در این فصل بحث خواهیمنمود، تبدیل انواع داده به یکدیگر است. گاهی اوقات ممکناست شما نیاز به تبدیل بین دو نوع داده داشتهباشید، برای این کار، به آسانی میتوان از نام نوع دادهی مقصد، به عنوان تابع تبدیل استفادهکرد.
در شکل (4-18)، لیستی از این توابع را به صورت جدول برای شما به نمایش میگذاریم که شامل نام توابع و توضیحات آنها خواهدبود. لازم به ذکر است که استفاده از عبارات داخل [ ] اختیاری است. همچنین ورودیهای تابع بایستی شرایط تبدیلشدن را داشتهباشند.
در پست بعدی به عملگرهای پایه خواهیم پرداخت. با ما همراه باشین
نظرات خوانندگان نوشته
نظری در این مورد دارید؟ خوشحال میشیم اون رو برامون ارسال کنید.