مقادیر و انواع داده
مقدار یا داده یکی از تعاریف پایهای و بنیادی است و همانند عدد یا حرف تعاریف وسیع و متعددی دارد. متغیرها را بهصورت «ظرف» تصور کنید تا در خطایابی مشکلی نداشته باشید. هر برنامۀ کامپیوتری در روند اجرای خود با مجموعهای از دادهها و اطلاعات سروکار دارد؛ آنها را مورد پردازش قرار داده، و نتایجی را تولید میکند. یک مقدار در علم برنامهنویسی میتواند برای مثال عددی چون “۱” یا مقداری رشتهای مانند “سلام دنیا!” باشد.
دو نوع دادۀ ذکر شده در بالا انواع گوناگونی دارند. یکی از آنها از نوع عدد صحیح یا integer و دیگری رشته یا در اصطلاح برنامهنویسی string است. اگر شما قادر به تشخیص نوع یک داده نیستید مفسر پایتون میتواند این کار را برای شما انجام دهد.
علاوهبر موارد اعداد صحیح و رشته، اکثر زبانهای برنامهنویسی دارای انواع دیگری چون اعداد حقیقی، اعداد بزرگ، کاراکتر و … میباشند.
متغیرها
یکی از مهمترین مزیتهای یک زبان برنامهنویسی، توانایی کار کردن با متغیرها است. متغیر نامی است که به یک مقدار نسبت داده میشود. در اکثر زبانها برای استفاده از متغیرها باید ابتدا آنها را تعریف یا ایجاد کنید. و نیز معمولاً هنگام تعریف هر متغیر نوع آن را که تا آخر عمر متغیر ثابت خواهد ماند، باید مشخص کنید. در زبان پایتون برای تعریف یک متغیر کافی است آن را مقداردهی کنید. یعنی نیازی به تعریف جداگانه نیست. نکتۀ بعدی این است که در زبان پایتون ابزار مدیریتی داینامیک و بسیار قوی برای متغیر پیادهسازی شده است. این ابزار امکانات بسیاری را فراهم میکند. برای مثال نوع متغیر در پایتون میتواند در طول عمر آن متغیر یا در طول اجرای برنامه به تعداد دلخواه تغییر یابد.
در مثال بالا ۳ متغیر را با عمل مقداردهی تعریف کردهایم. اکنون برای مشاهدۀ مقدار هر متغیر میتوانید از دستور print استفاده کنید. این دستور مقدار هر متغیر را در خروجی چاپ میکند.
متغیر نامی است که به یک مقدار نسبت داده میشود
در پایتون نوع داده در زمان اجرا مشخص میشود و نیازی به اعلان آن قبل از اجرا نیست. همچنین تمامی دادهها شیء (object) هستند. برای مثال عدد ۳ در پایتون یک شیء را در حافظه مشخص میکند. متغیرها نیز نامهایی هستند که به اشیاءِ داخل حافظه اشاره میکنند. شاید این سؤال پیش بیاید که چگونه مفسر پایتون میتواند نوع دادهها را بدون اعلان اولیه تشخیص دهد؟
پاسخ:
وقتی در پایتون انتسابهایی بهصورت بالا انجام میشود، مراحل زیر به ترتیب اجرا خواهد شد:
۱. شیء saeed afshari که مقداری از نوع رشته است به وجود میآید.
۲. متغیرهای name1, name2 ساخته میشوند. (اگر قبلاً ساخته نشده باشند)
۳. متغیرهای name1, name2 به اشیاء مورد نظر اشاره میکنند.
شیء موردنظر باید نوع خود را بداند، برای همین منظور هر object در پایتون دارای دو فیلد سرآمد (header field) به نامهای طراح نوع (type designator) و شمارندۀ مراجعات (reference counter) است که طراح نوع، نوع داده را در خود ذخیره میکند و شمارندۀ مراجعات تعداد رجوعهای متغیرهای متفاوت به شیء را مشخص میکند.
برای مثال بالا type designator = str و reference counter = 2 است ** با داشتن این فیلدها در زمان اجرا مفسر میتواند نوع داده را تشخیص دهد.