انواع متغیرها در پایتون — به زبان ساده
در این مطلب، انواع متغیرها در پایتون مورد بررسی قرار خواهند گرفت. پیشتر در مطلب «زبان برنامه نویسی پایتون (Python) — از صفر تا صد» مقدماتی پیرامون چیستی «زبان برنامهنویسی پایتون» (Python Programming Language)، به دلایل محبوبیت این زبان، ویژگیها، مزایا و معایب، کاربردهای پایتون، بازار کار، نسخههای مختلف این زبان (۲ و ۳) و چگونگی انتخاب از میان آنها و تفاوتهای این زبان با دیگر زبانهای برنامهنویسی پرداخته شد. سپس، در مطلبی با عنوان «پایتون برای مبتدیان — به زبان ساده» مباحث مقدماتی پایتون برای افراد مبتدی، شامل روش نصب مقدماتی و اجرای پایتون و نوشتن برنامه «!Hello World» مورد بررسی قرار گرفت.
در ادامه و در مطلب «کلیدواژهها و شناساگرها در پایتون — به زبان ساده» به موضوع «کلمات رزرو شده» (Reserved Words)، «کلیدواژهها» (Keywords) و «شناساگرها» (Identifier) پرداخته شد. پس از آن، در مطلبی با عنوان «دستورات پایتون و دندانه گذاری — به زبان ساده» روش نوشتن دستورات زبان پایتون و مفهوم «دندانهگذاری» (Indentation) در این زبان مورد بررسی قرار گرفت. در نهایت، در مطلب «توضیحات در پایتون — به زبان ساده»، مفهوم «توضیحات» و چگونگی نوشتن توضیحات در زبان پایتون به طور کامل شرح داده شد. در این مطلب، مفهوم «متغیرها»، «ثابتها» (Constant) و «لیترالها» (Literals) بیان و انواع متغیرها در پایتون مورد بررسی قرار خواهد گرفت. همچنین، کاربرد متغیرها در پایتون، ثابتها و لیترالها به طور کامل تشریح میشود.
به افرادی که در نصب پایتون دچار مشکل هستند و یا به اطلاعات جزئیتر و دقیقتری پیرامون چگونگی انجام آن در سیستمعاملهای گوناگون نیاز دارند، مطالعه مطالب زیر توصیه میشود.
- نصب پایتون — از صفر تا صد
- نصب پایتون در ویندوز — از صفر تا صد
- نصب پایتون در لینوکس — از صفر تا صد
- نصب پایتون در مک — از صفر تا صد
انواع متغیرها در پایتون
«متغیر» (Variable) یک موقعیت نامگذاری شده است که برای ذخیرهسازی دادهها در حافظه مورد استفاده قرار میگیرد. در واقع، میتوان به متغیرها در پایتون به عنوان ظرفهایی نگریست که دادههایی را نگهداری میکنند که بعدا از طریق برنامهنویسی قابل تغییر هستند.
مثال زیر در این رابطه قابل توجه است.
1number = 10
در اینجا، number ساخته شده و سپس، عدد ۱۰ به آن تخصیص پیدا کرده است. میتوان به متغیرها در پایتون به چشم کیفی برای ذخیره کتابها در آن نگاه کرد؛ این کتابها هر زمان که کاربر بخواهد قابل تغییر هستند.
1number = 10
2number = 1.1
در مثال بالا، ابتدا مقدار number برابر با ۱۰ بود و سپس، به ۱۱ تغییر داده شد.
تذکر: در پایتون، مقادیر به متغیرها تخصیص داده نمیشوند، بلکه، پایتون ارجاع شی (مقدار) را به متغیر میدهد.
تخصیص یک مقدار به متغیر
همانطور که از مثال بالا مشهود است، میتوان از عملگر تخصیص «=»، برای تخصیص یک مقدار به متغیر استفاده کرد.
مثال ۱: اعلان متغیر و تخصیص مقدار به آن
1website = "apple.com"
2print(website)
خروجی حاصل از اجرای برنامه بالا صورت زیر است.
1apple.com
در برنامه بالا، مقدار apple.com به متغیر website تخصیص داده شده است. سپس، مقدار تخصیص یافته به website (یعنی apple.com) چاپ میشود.
تذکر: پایتون یک زبان برنامهنویسی با «نوع داده استنتاج شده» (Type Inferred) است؛ بدین معنا که به طور خودکار میداند apple.com یک رشته است و website را به عنوان رشته اعلان میکند.
مثال ۲: تغییر مقدار متغیرها در پایتون
1website = "apple.com"
2print(website)
3
4# assigning a new variable to website
5website = "programiz.com"
6
7print(website)
هنگامی که برنامه اجرا میشود، خروجی به صورت زیر خواهد بود.
1apple.com
2programiz.com
در برنامه بالا، apple.com به طور مقدماتی به متغیر website تخصیص داده شده است. سپس، مقدار این متغیر به programiz.com تغییر میکند.
مثال ۳: تخصیص چندین مقدار به چندین متغیر
1a, b, c = 5, 3.2, "Hello"
2
3print (a)
4print (b)
5print (c)
دومین برنامه، رشته same را به همه سه متغیر y ،x و z تخصیص میدهد.
ثابتها
یک ثابت، نوعی متغیر است که مقدار آن قابل تغییر نیست. میتوان به ثابتها به چشم ظرفهایی نگریست که اطلاعات غیر قابل تغییر را در خود نگه میدارند. به عنوان مثالی غیر فنی، میتوان به ثابتها به عنوان کیفی از کتابها نگریست که کتابهای آن پس از قرار گرفتن داخل کیف، قابل تغییر نیستند.
تخصیص مقدار به ثابت در پایتون
در پایتون، ثابتها معمولا در یک «ماژول» (Module) اعلان و تخصیص داده میشوند. در اینجا، ماژول به معنای یک فایل جدید حاوی متغیرها، توابع و دیگر موارد است که در فایل اصلی «وارد» (Import) شدهاند. درون ماژول، ثابتها به طور کل با حروف بزرگ نوشته شدهاند و خط تیره (Underline) کلمات را از هم جدا میکند.
مثال ۳: اعلان یک ثابت و تخصیص مقدار به آن
فایل constant.py ساخته میشود.
1PI = 3.14
2GRAVITY = 9.8
فایل main.py ساخته میشود.
1import constant
2
3print(constant.PI)
4print(constant.GRAVITY)
هنگام اجرای برنامه، خروجی به صورت زیر خواهد بود.
3.14 9.8
در برنامه بالا، یک فایل ماژول constant.py (توسط کاربر) ساخته شد. سپس، مقدار ثابت به PI و GRAVITY تخصیص یافت. پس از آن، فایل main.py ساخته و ماژول constant به آن وارد شد. در نهایت، مقدار constant به چاپ رسید.
تذکر: در واقعیت، از ثابتها در پایتون استفاده نمیشود. ماژول سراسری یا ثابت از طریق برنامه پایتون مورد استفاده قرار میگیرد.
قواعد و قراردادهای نامگذاری برای متغیرها و ثابتها
برای نامگذاری متغیرها و ثابتها، قواعد و قراردادهایی در پایتون وجود دارند که در ادامه به آنها اشاره شده است.
۱. ساخت یک نام که دارای معنا باشد. مثلا، vowel نسبت به v معنادارتر است.
۲. از نامگذاری با «نگارش شتری» (camelCase) برای اعلان متغیرها در پایتون استفاده میشود. در این روش، نام با حروف کوچک آغاز میشود. مثال زیر در این راستا قابل توجه است.
myName myAge myAddress
۳. از حروف بزرگ برای تعریف و اعلان مقادیر ثابت استفاده میشود. مثال زیر در این راستا قابل توجه است.
PI G MASS TEMP
۴. هرگز نباید از سمبلهای خاص، مانند !، @، #، $، % و دیگر موارد استفاده کرد.
۵. اسامی را نباید با یک عدد آغاز کرد.
۶. ثابتها در ماژولهای پایتون قرار داده میشوند و این یعنی مقدار آنها نباید تغییر کند.
۷. اسامی ثابتها و متغیرها در پایتون باید ترکیبی از حروف کوچک (a تا z) یا حروف بزرگ (A تا Z)، ارقام (۰ تا ۹) و یا خط تیره (_) باشند. مثال زیر قابل توجه است.
snake_case MACRO_CASE camelCase CapWords
لیترالها
لیترالها (Literals) دادههای خامی هستند که در یک متغیر یا ثابت داده شدهاند. در پایتون، انواع گوناگونی از لیترالها وجود دارد که در ادامه بیان شدهاند.
لیترالهای عددی
لیترالهای عددی، غیر قابل تغییر هستند. لیترالهای عددی به یکی از انواع عددی «صحیح» (Integer)، «ممیز شناور» (Float) و یا «پیچیده» (Complex) تعلق دارند.
مثال ۴: روش استفاده از لیترالهای عددی در پایتون
1a = 0b1010 #Binary Literals
2b = 100 #Decimal Literal
3c = 0o310 #Octal Literal
4d = 0x12c #Hexadecimal Literal
5
6#Float Literal
7float_1 = 10.5
8float_2 = 1.5e2
9
10#Complex Literal
11x = 3.14j
12
13print(a, b, c, d)
14print(float_1, float_2)
15print(x, x.imag, x.real)
هنگام اجرای برنامه، خروجی به صورت زیر خواهد بود:
10 100 200 300 10.5 150.0 3.14j 3.14 0.0
در برنامه بالا:
- لیترال صحیح به متغیرهای گوناگون تخصیص داده شده است. در اینجا، a، یک لیترال دودویی، b یک لیترال اعشاری، c در مبنای هشت و d در مبنای ۱۶ است.
- هنگامی که متغیرها در پایتون پرینت میشوند، همه متغیرها به مقادیر اعشاری تبدیل خواهند شد.
- ۱۰.۵ و 1.5e2 لیترالهای ممیز شناور هستند. 1.5e2 به صورت نمایی نشان داده شده و برابر با 1.5 * 102 است.
- یک مقدار پیچیده، ۳/۱۴j، به متغیر x تخصیص داده شد. سپس، از لیترال موهومی (x.imag) و لیترال حقیقی (x.real) برای ساخت بخشی از عدد پیچیده استفاده میشود.
لیترالهای رشته
یک لیترال رشته، توالی از کاراکترها است که توسط کوتنشها احاطه شده است. میتوان از کوتنشن تک، دوگانه و سهگانه برای کوت کردن یک رشته استفاده کرد. یک کاراکتر لیترال، کاراکتری تنها است که به وسیله یک یا دو کوتنشن احاطه شده است.
مثال ۷: روش استفاده از لیترالهای رشته در پایتون
strings = "This is Python" char = "C" multiline_str = """This is a multiline string with more than one line code.""" unicode = u"\u00dcnic\u00f6de" raw_str = r"raw \n string" print(strings) print(char) print(multiline_str) print(unicode) print(raw_str)
با اجرای کد بالا، خروجی به صورت زیر خواهد بود.
This is Python C This is a multiline string with more than one line code. Ünicöde raw \n string
در برنامه بالا، This is Python رشته لیترال و C لیترال کاراکتری است. مقداری با سه کوتنشن (""") در multiline_str تخصیص داده شده است، یک لیترال چند خطی محسوب میشود. "u"\u00dcnic\u00f6de یک لیترال یونیکد است که کاراکترهایی غیر انگلیسی را نیز پشتیبانی میکند و "r"raw \n string یک لیترال رشته خام است.
لیترالهای بولین
یک «لیترال بولین» (Boolean Literals) میتواند یکی از دو مقدار True یا False را داشته باشد.
مثال ۸: روش استفاده از لیترالهای بولین در پایتون
1x = (1 == True)
2y = (1 == False)
3a = True + 4
4b = False + 10
5
6print("x is", x)
7print("y is", y)
8print("a:", a)
9print("b:", b)
هنگام اجرای برنامه، خروجی به صورت زیر خواهد بود.
1x is True
2y is False
3a: 5
4b: 10
در برنامه بالا، از لیترال بولین True و False استفاده میشود. در پایتون، True نشانگر مقدار ۱ و False به عنوان ۰ است. مقدار x در مثال بالا True است، زیرا ۱ برابر با True محسوب میشود. همچنین، مقدار y برابر با False است، زیرا ۱ برابر با False نیست.
به طور مشابه، میتوان از True و False در عبارتهای عددی به عنوان مقدار استفاده کرد. مقدار a برابر با 5 است، زیرا True اضافه شده که مقداری برابر با ۱ دارد و حاصل جمع آن با ۴ برابر با ۵ خواهد بود. به طور مشابه، b برابر با ۱۰ است، زیرا حاصل جمع False یعنی صفر با ۱۰ برابر با ۱۰ خواهد بود.
لیترالهای ویژه
پایتون حاوی یک لیترال ویژه یعنی None است. از این لیترال برای تعیین اینکه این فیلد ساخته نشده است، استفاده میشود.
مثال ۹: روش استفاده از لیترال ویژه در پایتون
1drink = "Available"
2food = None
3
4def menu(x):
5 if x == drink:
6 print(drink)
7 else:
8 print(food)
9
10menu(drink)
11menu(food)
خروجی حاصل از اجرای این برنامه به صورت زیر خواهد بود.
Available None
در برنامه بالا، تابع menu تعریف میشود. درون menu، هنگامی که یک مجموعه از پارامترها به عنوان drink تعریف میشود، Available را نمایش میدهد و هنگامی که پارامتر food است، None را نمایش میدهد.
مجموعه لیترالها
چهار مجموعه لیترال متفاوت وجود دارد: لیست، تاپل، دیکشنری و مجموعه.
مثال ۱۰: روش استفاده از مجموعه لیترالها در پایتون
1fruits = ["apple", "mango", "orange"] #list
2numbers = (1, 2, 3) #tuple
3alphabets = {'a':'apple', 'b':'ball', 'c':'cat'} #dictionary
4vowels = {'a', 'e', 'i' , 'o', 'u'} #set
5
6print(fruits)
7print(numbers)
8print(alphabets)
9print(vowels)
خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.
['apple', 'mango', 'orange'] (1, 2, 3) {'a': 'apple', 'b': 'ball', 'c': 'cat'} {'e', 'a', 'o', 'i', 'u'}
در برنامه بالا، لیست fruits، تاپل numbers و دیکشنری dict با مقادیر و کلیدهایی که به مقدار تخصیص داده شده و مجموعه vowels ساخته شده است.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون Python
- آموزش تکمیلی برنامهنویسی پایتون
- مجموعه آموزشهای دادهکاوی و یادگیری ماشین
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
^^
در کتاب دوره اول متوسطه پایه هفتم اینقدر متغییر رو مختصر توضیح داده . بعد از دانش آموزان مسایل ریاضی رو داده با متغییر حل کنن یعنی خدایی ببینید یه بچه چطور میخواهد یاد بگیره که مسایل رو حل کنه؟
ممنون از شما البته من هنوز نفهمیدم متغییر رو چجوری تعریف کنم در پایتون که بشه باهاش مساحت و محیط یک دایره با شعاع ۵ چقدر است رو حل کنم
سلام ممنون از مطلب مفید. اگه از دستور if استفاده کنیم چطور متغیر رو توش بزاریم؟