• ارسال کننده: سمیه مظفری
  • تاریخ انتشار: 2019 / 03 / 11

متغیرها، ثوابت و انواع داده های پایتون

مقاله قبلی: کلمات کلیدی در زبان برنامه نویسی پایتون

این عناوین را در این مقاله می خوانید: متغیر چیست؟ شیوه تعریف و مقدار دهی متغیرها در پایتون، مقداردهی همزمان چندین متغیر در پایتون، ثوابت، قوانین نام گذاری متغیرها و ثوابت، انواع داده ها در پایتون، لیترال های عددی، بررسی نوع یک متغیر عددی، حذف یک متغیر عددی، تعدادی از توابع کار با نوع داده عددی، کاربرد کتابخانه math در مورد داده های عددی، لیترال های دودویی، لیست های پایتون و رشته ها.

متغیرها چیست؟

در اکثر زبان های برنامه نویسی، متغیر، به نام مکانی از حافظه اشاره دارد که در آن جا داده هایی را ذخیره می کنیم. لذا هر زمان که متغیری را تعریف می کنیم در حقیقت با این کار قسمتی از فضای حافظه را رزرو می کنیم. هر متغیر باید دارای نام منحصر به فردی باشد که به آن شناسه می گوییم.

درواقع بهتر است متغیر را به عنوان ظرفی تصور کنید که دادهایی را در خود نگه می دارد و این داده ممکن است بعدا در طول برنامه نویسی بارها تغییر کند. همچنین می توانید متغیر را به عنوان کیفی تصور کنید که چندین کتاب را در خود نگه می دارد و هر لحظه ممکن است این کتاب ها با کتاب های دیگر جایگزین شوند.

شیوه تعریف و مقداردهی متغیرها در پایتون

پایتون زبانی کاملا شی گراست و یکی از قابلیت هایی که آن را از سایر زبان ها متمایز می کند این است که در این زبان، نیازی به اعلان و تعیین نوع صریح متغیرها قبلا از استفاده از آن ها نیست، بلکه هر متغیر یک شی محسوب می شود و هر زمان که شما مقداری را توسط عملگر انتساب (=) به یک متغیر منتسب می کنید این تعیین نوع و مقداردهی اولیه به طور خودکار انجام می گیرد. برای انتساب مقداری به یک متغیر، از عملگر انتساب = استفاده کرده و نام متغیر را در سمت چپ و مقدار متغیر را در سمت راست این عملگر قرار می دهیم.

مقداردهی همزمان چندین متغیر در پایتون

در پایتون می توانیم چندین متغیر را به یک باره و در یک خط مقداردهی کنیم. به مثال زیر توجه کنید:

با این مقداردهی، پایتون متغیر a را به عنوان یک متغیر صحیح، متغیر b را به عنوان یک متغیر اعشاری و نهایتا متغیر c را به عنوان یک رشته در نظر می گیرد.

به طور مشابه اگر بخواهیم مقدار یکسانی را به چندین متغیر نسبت دهیم می توانیم به شکل زیر عمل کنیم:

ثوابت

ثوابت به متغیری گفته می شود که مقدار آن غیرقابل تغییر باشد. بهتر است ثابت ها را به صورت ظرفی تصور کنید که اطلاعاتی را در خود نگه می دارد که بعدها نمی تواند تغییر کند.

در پایتون ثوابت معمولا در یک ماژول تعریف می شوند. در واقع منظور از ماژول، فایل جدیدی است که حاوی متغیرها و توابعی است که بعدا آن ها را در فایل اصلی وارد می کنیم. در داخل ماژول، ثوابت با حروف بزرگ نوشته می شوند و ثوابت چند کلمه ای با علامت زیرخط ( _ )  از هم جدا می شوند.

در مثال زیر، فایلی با نام constant.py ایجاد کرده و ثوابت زیر را با حروف بزرگ در آن تعریف و مقداردهی کرده ایم. سپس فایل اصلی را با نام main.py ایجاد کرده و با کلمه کلیدی import، ماژول  constant را در فایل اصلی وارد نمودیم تا برای برنامه اصلی ما شناخته شده باشد. حال می توانیم هر عملی را که مد نظر داریم بر روی این ثوابت انجام دهیم مثلا مقادیر آن ها را چاپ کنیم.

قوانین نام گذاری متغیرها و ثوابت

اولین نکته ای که باید در نام گذاری متغیرها به آن توجه کنید بحث case sensitive  یا همان حساس به حروف بودن پایتون است. یعنی شما می توانید دو متغیر هم نام داشته باشید که یکی با حروف کوچک و دیگری با حروف بزرگ نوشته شده باشند. در این صورت دیگر این دو متغیر با یکدیگر برابر نخواهند بود.

در نام گذاری متغیرها هم سعی کنید نام های با معنا انتخاب کنید مثلا کلمه vowel به جای حرف v.

از شیوه نام گذاری شتری نیز غافل نشوید. همان طور که قبلا در خصوص قواعد نام گذاری شناسه ها گفتیم، در این روش، کلمه اول تماما با حروف کوچک نوشته می شود و سایر کلمات با حرف بزرگ تر شروع می شوند.

هم چنین در نام گذاری متغیرها، هرگز از کاراکترهای خاصی مانند !, @, #, $, % استفاده نکرده و نام متغیر و ثوابت را هرگز با رقم شروع نکنید. بلکه این نام باید ترکیبی از حروف کوچک (a تا z) یا حروف بزرگ (A تا Z) یا ارقام 0 تا 9 یا علامت زیرخط ( _ ) باشد.

برای نام گذاری ثابت ها هم تا حد ممکن از حروف بزرگ استفاده کنید.

انواع داده ها در پایتون

داده هایی که در حافظه ذخیره می شوند می توانند انواع مختلفی داشته باشند. به داده های خام موجود در ثوابت و متغیرها، لیترال گفته می شود. در پایتون انواع مختلفی از لیترال ها وجود دارد. مثلا سن یک شخص به صورت یک عدد و آدرس، نام و مدرک او به صورت دنباله ای از کاراکتر (رشته) در حافظه ذخیره می شوند.  انواع داده های استاندارد پایتون عبارتند از :

  • عدد (صحیح، اعشاری و …)
  • رشته
  • لیست
  • تاپل
  • دیکشنری

ما در این مقاله ضمن تشریح نوع داده عددی به طور خلاصه به لیست ها و رشته ها هم اشاره کرده ایم. اما برای یادگیری نوع داده رشته، لیست، تاپل و دیکشنری می توانید منتظر مقالات بعدی ما بمانید.

  • لیترال های عددی

لیترال های عددی تغییر ناپذیرند و می توانند به یکی از انواع داده های عددی صحیح علامت دار (int)، صحیح بسیار بزرگ، اعشاری یا ممیز شناور (float) و مختلط (complex) تعلق داشته باشند.

چون در زبان برنامه نویسی پایتون هر چیزی یک شی محسوب می شود در نتیجه هر نوع داده به منزله یک کلاس است و متغیرها نمونه ای (شیئی) از این کلاس هستند.  وجه تمایز اعداد صحیح و اعشاری در وجود یک علامت ممیز است. مثلا عدد 1 یک عدد صحیح و در عوض عدد1.0  یک عدد اعشاری است. اعداد مختلط نیز به فرم x + yj  نوشته می شود که در آن x قسمت واقعی و حقیقی و yj قسمت مجازی و موهومی (imaginary) عدد مختلط را تشکیل می دهد. مثلا اعداد 100 و 66- اعداد صحیح و اعداد 0.56 و -4.12 و 2.0 اعداد اعشاری و 8+3j یک عدد مختلط است.

اعداد صحیح می توانند هر طولی داشته باشند اما اعداد اعشاری تنها می توانند تا 15 رقم اعشار را به صورت دقیق نشان دهند (رقم 16 ام غیر دقیق است). اعداد صحیح بسیار بزرگ را با نماد L نشان می دهند البته می توان از حرف کوچک L هم بدین منظور استفاده کرد اما برای جلوگیری از اشتباه گرفتن آن با عدد1  توصیه می شود که از همان حرف  Lبزرگ استفاده کنید.

در جدول زیر چندین نمونه از اعداد صحیح و اعشاری و مختلط را می بینید:

برای تعریف یک عدد اعشاری هم می توانید به یکی از دو شکل زیر عمل کنید.

هم چنین در مثال زیر نحوه استفاده از لیترال های عددی آمده است:

خروجی کد بالا به صورت زیر است:

در مثال بالا a یک لیترال دودویی یا باینری (binary)، b یک لیترال دهدهی،  cیک لیترال 8 تایی (octal) و d یک لیترال شانزده تایی (hexadecimal) است. ملاحظه می کنید که وقتی این متغیرها را چاپ می کنیم هر 4 متغیر به اعداد دهدهی (مبنای ده) تبدیل می شوند. برای تشخیص این که یک عدد در مبنای 2 است یا در مبنای 8 یا در مبنای 16، می توانید از پیشوندهای جدول زیر کمک بگیرید.

اعداد اعشاری را می توان به صورت نماد علمی (a x 10^b) هم نوشت. از نماد علمی اغلب برای نشان دادن اعداد خیلی کوچک و یا خیلی بزرگ استفاده می شود. مثلا اگر بخواهیم عدد اعشاری 0.000000123 را به صورت نماد علمی بنویسیم معادل عدد 1.23 x 10^-7  یا 1.23E-7 خواهد بود. در این جا E مخفف کلمه exponent به معنای توان است در نتیجه مثلا E-7 معادل 10 به توان -7 است. هم چنین بین e و E تفاوتی وجود ندارد.

در قطعه کد بالا، اعداد  10.5و 1.5e2 هر دو لیترال های اعشاری هستند منتها 1.5e2 به صورت یک عدد نمایی بیان شده و معادل است با عدد 1.5 * 102 . در نتیجه به هنگام چاپ شدن، متغیر float_2 نیز به عدد دهدهی 150.0 تبدیل می شود.

  • بررسی نوع یک متغیر عددی

برای این که بدانیم که یک مقدار یا یک متغیر به چه نوع داده ای تعلق دارد می توانیم از تابع type() استفاده کنیم. هم چنین برای بررسی این که یک شی به چه کلاسی تعلق دارد از تابع  isinstance() استفاده می کنیم.

بررسی نوع یک متغیر عددی در پایتون

  • حذف یک متغیر عددی

برای حذف یک یا چند متغیر در پایتون می توانید از کلمه کلیدی del استفاده کنید. همان طور که می بینید تلاش برای دسترسی به مقدار متغیری که توسط این کلمه کلیدی حذف شده منجر به خطای NameError می شود.

حذف یک متغیر عددی در پایتون

همان طور که گفتیم نوع داده عددی می تواند یک داده صحیح، اعشاری و یا مختلط باشند. حال به نظر شما آیا در پایتون امکان جمع بستن یک عدد صحیح با یک عدد اعشاری وجود دارد یا نه؟ جواب مثبت است. یعنی ما می توانیم نوع داده عددی را وادار کنیم که به نوع داده مورد نظر ما تبدیل شود. مثلا عملیاتی نظیر جمع و تفریق و ضرب و تقسیم، می توانند به طور ضمنی عملوند صحیح را به عملوند اعشاری تبدیل کنند. می بینید که در قطعه کد زیر، به هنگام عمل جمع، عدد صحیح1  به عدد اعشاری 1.0 تبدیل شده و نتیجه نیز یک عدد اعشاری می شود.

نوع داده عددی در پایتون

علاوه بر تبدیل ضمنی بالا، شما می توانید از توابع درون ساخته پایتون نظیر int() ، float، complex() هم برای تبدیل صریح انواع داده های عددی به یکدیگر استفاده کنید. البته توسط این توابع می توان رشته ها را نیز به نوع داده عددی تبدیل نمود.

تبدیل رشته ها به داده عددی

تعدادی از توابع کار با نوع داده عددی

در قسمت زیر تعدادی از توابعی را که می توان برای نوع داده  عددی به کاربرد ذکر نموده ایم.

مثال کاری که انجام میدهد تابع
abs(-12)=12

abs(112.21)=112.21

قدر مطلق یک عدد را برمی گرداند abs(number)
pow(2, 3)=8

pow(10, 3)=1000

آرگومان اول را به توان آرگومان دوم می رساند. pow(a, b)
round(17.3)=13

round(8.6)=9

آرگومان خود را به نزدیک ترین عدد صحیح ممکن گرد می کند round(number)
round(3.14159, 2)=3.14

round(2.71828, 2)=2.72

آرگومان اول خود را که یک عدد اعشاری است به تعداد ارقام آرگومان دومش گرد می کند round(number, ndigits)
min(12, 2, 44, 199)=2

min(4, -21, -99)= -99

کوچک ترین عدد را از بین آرگومان هایش برمی گرداند min(arg1, arg2, … argN)
max(991, 22, 19)=991

max(-2, -1, -5)=-1

بزرگترین عدد را از بین آرگومان هایش برمی گرداند

max(arg1, arg2, … argN)

ممکن است با دیدن جدول بالا با خود بگویید که تابع round(number, ndigits) چگونه کار می کند؟ فرض کنید که خود ما هم می خواهیم عدد 3.14159 را تا دو رقم اعشار گرد کنیم یعنی تنها دو رقم اعشار را نگه داشته و بقیه را حذف کنیم. لذا به سومین رقم اعشار یعنی 1  نگاه می کنیم چون این رقم کمتر از 5 است لذا این رقم و ارقام بعد از آن را به راحتی حذف می کنیم اما در مورد عدد 2.71828 چون سومین رقم اعشار(8) بزرگ تر از 5 است بنابراین تنها دو رقم اعشار را نگه داشته و ضمن حذف نمودن باقی رقم های اعشار، یک واحد به دومین رقم اعشار اضافه می کنیم تا نتیجه به صورت 2.72 در آید.

کاربرد کتابخانه math در مورد داده های عددی

علاوه بر توابع درون ساخته بالا، ماژول math پایتون هم یک سری توابع و ثوابت ریاضی را در اختیار شما قرار می دهد. برای دستیابی به این توابع و ثوابت ابتدا بایستی ماژول math را توسط کلمه کلیدی import وارد برنامه خود کنید.

مثال کاری که انجام می دهد تابع
math.pi=3.141592653589793 مقدار عدد p را برمی گرداند math.pi
math.e =2.718281828459045 مقدار عدد e  (نپر) را برمی گرداند math.e
math.ceil(3.621)= 4 کوچک ترین عدد صحیح بزرگ تر یا مساوی n را برمی گرداند. یعنی از بین اعداد صحیح بزرگ تر یا مساوی n کوچک ترینشان را انتخاب کرده و برمی گرداند. math.ceil(n)
math.floor(3.621)= 3 بزرگ ترین عدد صحیح کوچک تر یا مساوی n را برمی گرداند. یعنی از بین اعداد کوچک تر یا مساوی  n بزرگ ترینشان را انتخاب کرده و برمی گرداند. math.floor(n)
math.fabs(5) = 5.0 قدرمطلق عدد n را به صورت یک عدد اعشاری برمی گرداند math.fabs(n)
math.sqrt(225) = 15.0 ریشه دوم عدد n  را به صورت یک عدد اعشاری برمی گرداند. math.sqrt(n)
math.log(2) = 0.6931 لگاریتم طبیعی عدد n را در مبنای e برمی گرداند. math.log(n)
math.log(2, 2) = 1.0 لگاریتم عدد n را در پایه داده شده محاسبه کرده و برمی گرداند math.log(n, base)
math.sin(math.pi/2) = 1.0 سینوس n را برمی گرداند math.sin(n)
math.cos(0)= 1.0 کسینوس n را برمی گرداند math.cos(n)
math.tan(45)= 1.61 تانژانت n را برمی گرداند math.tan(n)
math.degrees(math.pi/2)=90 زاویه ای را که برحسب رادیان است به درجه تبدیل می کند math.degrees(n)
math.radians(90) = 1.5707 درجه را به رادیان تبدیل می کند math.radians()
  • لیترال های دودویی

لیترال های دودویی یا بولین به لیترال هایی گفته می شود که می توانند true یا false باشند.True معادل عدد 1 و False معادل عدد 0 است.

لیترال های دودویی در پایتون

لیترال های بولین را می توان در عبارات محاسباتی عددی هم مورد استفاده قرار داد. مثلا در کد بالا مقدار متغیر a برابر 5 می شود چرا که عدد 4 با لیترال True که حاوی مقدار 1 است جمع شده است. به طور مشابه متغیر b نیز برابر عدد 10 می شود چون عدد 10 با لیترال False که دارای مقدار 0 است جمع شده است. توجه در مثال بالا، روبروی متغیر y مقدار 0 نوشته شده که معادل مقدار بولی False می باشد (عدد 1 اشتباه تایپی است).

  • لیست های پایتون

در مقالات بعدی به طور مفصل به تشریح نوع داده لیست و عملیات مربوط به آن خواهیم پرداخت. اما در این مقاله به همین قدر اکتفا می کنیم که:

لیست ها یکی از پر کاربردترین انواع داده های پایتون هستند. این نوع داده بسیار انعطاف پذیر است چرا که نیازی نیست که آیتم های موجود در یک لیست همه نوع داده یکسانی داشته باشند. ضمن این که لیست ها تغییر پذیر نیز هستند به این معنی که می توان اعضای آن را با مقادیر دیگری جایگزین نمود. اعضای یک لیست در داخل یک براکت قرار گرفته و با علامت کاما (,) از هم جدا می شوند.

اعضای یک لیست در پایتون

برای استخراج یک آیتم یا زنجیره ای از آیتم های یک لیست نیز می توانید از عملگر برش [ ] استفاده کنید.

عملگر برش [ ] در پایتون

  • رشته ها

در پایتون رشته ها را می توان با محصور کردن بین دو علامت سینگل کوتیشن  ‘ ‘یا دابل کوتیشن ” ” و یا سه کوتیشن ”’ ”’ مشخص کرد.

مشخص کردن رشته ها در پایتون

از عملگر + می توان علاوه بر جمع کردن اعداد با یکدیگر، برای الحاق و چسباندن رشته ها نیز استفاده کنید.

عملگر + برای جمع کردن اعداد در پایتون

در این مقاله با تعریف و مقدار دهی متغیرها در پایتون، قوانین نام گذاری آن ها، ثوابت، انواع داده ها، لیترال های عددی، دودویی، لیست های پایتون و رشته ها آشنا شدید برای آشنایی بیشتر با این زبان برنامه نویسی در مقاله های بعدی با ما همراه باشید.

مقاله بعدی: انواع عملگرهای پایتون – قسمت اول

ترجمه: رقیه آقایاری

این محتوا اختصاصاً برای یاد بگیر دات کام تهیه شده است استفاده از آن با ذکر منبع همراه با لینک آن و نام نویسنده یا مترجم مجاز است
برچسب ها:



 

در یاد بگیر دات کام مشترک شوید و آخرین مطالب را در ایمیل خود دریافت نمایید

نظر شما چیست؟

پرسش های خود را در بخش پرسش و پاسخ مطرح کنید

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




بستن تبلیغات

تبلیغات اینترنتی در یاد بگیر دات کام



صفحه ما را در فیس بوک دنبال کنید صفحه ما را در توییتر دنبال کنید صفحه ما را در  اینستاگرام دنبال کنید صفحه ما را در لینکداین دنبال کنید