تعریف متغیر در پایتون – از صفر تا صد + مثال و کد
زبان برنامهنویسی پایتون بهدلیل ویژگیهایی از قبیل سادگی در یادگیری و خوانایی کدهای آن، تبدیل به زبان محبوبی در بین برنامهنویسان شده است. اما دلیل رایج بودن این زبان به همین موارد خلاصه نمیشود. پایتون در واقع، با فراهم آوردن کتابخانههای متنوع، توسعهدهندگان را در حوزههای گوناگون و متنوع یاری میدهد. اگر جزء کسانی هستید که بهتازگی یادگیری این زبان را شروع کردهاید، بهطور قطعی به یکی از مفاهیم پایهای پایتون و بهطور کلی، تمامی زبانهای برنامهنویسی، یعنی «متغیرها» برخورد کردهاید. در مطلب پیشِرو از مجله فرادرس، هدف این است تا راهنمایی جامع در رابطه با نحوه تعریف متغیر در پایتون را در اختیار شما قرار دهیم.
متغیرها، یکی از مهمترین مفاهیم زبانهای برنامهنویسی بهشمار میروند. بهوسیله متغیرها میتوانیم دادههای مختلفی را در برنامه، ذخیره و نگهداری کنیم و عملیات گوناگونی را روی آن انجام دهیم.
متغیرها این امکان را برایمان فراهم میکنند تا مقادیرشان را در مواقع دلخواه تغییر دهیم و همچنان کارکرد مشابهی را روی مقادیر مختلف، شاهد باشیم. بدین ترتیب مجبور نخواهیم بود تا همان کدها را بهطور مجدد بنویسیم. میتوانیم دادههای موجود در متغیرها را دستکاری و همچنین دادههای جدیدی را بر مبنای دادههای قدیمی ایجاد کنیم.
استفاده از متغیرها میتوانند موراد گفته شده در ادامه را بهدنبال داشته باشند.
- مدیریت دادهها در برنامه
- بهبود عملکرد برنامه
- انعطافپذیری کدهای برنامه
تعریف متغیر در پایتون چیست و چه کاربردی دارد؟
«متغیرها» (Variables)، یکی از مؤلفههای اساسی در زبان برنامهنویسی پایتون هستند که به ما امکان میدهند تا بهسادگی، دادهها را در پروژهایمان ذخیره و دستکاری کنیم و همچنین در مواقع لزوم به آنها ارجاع بدهیم. با ذخیره مقداری درون یک متغیر، میتوانیم به دفعات و به هر گونه که مایلیم آن را در سراسر پروژه خود بهکار ببریم.
برای درک بهتر، متغیرها را میتوانیم «ظرفی دارای برچسب» در نظر بگیریم. در این استعاره، برچسب به نامِ متغیر اشاره دارد و محتوای ظرف، بیانگر مقداری است که متغیر نگه داشته است. در زبان برنامهنویسی پایتون، متغیرها هنگامی ایجاد میشوند که مقداری را به آنها اختصاص میدهیم یا به اصطلاح assign میکنیم.
نحوه تعریف متغیر در پایتون چگونه است؟
اختصاص یک مقدار به یک متغیر یا به بیان دیگر اِعلان متغیر در پایتون، فرایند بسیار آسانی است. برای این کار، کافی است تا بعد از نام متغیر، از علامت «مساوی» (=) بهعنوان عملگر انتساب استفاده کنیم و بهدنبال آن مقداری را بنویسیم که میخواهیم در متغیر حفظ شود.
در ادامه، مثالی را بیان کردهایم که مقدار رشتهایUnited Statesرا در متغیری بهنامcountryو پس از آن نیز مقدار عددیِ1776را در متغیرyear_foundedقرار داده است.
1country = "United States"
2year_founded = 1776
نکات تعریف متغیر در پایتون چیست؟
در مثالی که بیان شد، ۲ نکته قابل توجه وجود دارد که در ادامه به آن پرداختهایم.
- باید توجه داشته باشیم که نام متغیرها در پایتون به حروف کوچک و بزرگ، حساس یا به اصطلاح «Case-Sensitive» هستند. به بیان دیگر، ۲ متغیر year_founded وYear_founded علیرغم داشتن حروفی مشابه، ۲ متغیر متفاوت محسوب میشوند.
- در صورتیکه نام انتخابی برای متغیرهایمان از چندین کلمه تشکیل شده باشد، میبایست کلمات را با «خطِ ربط» یا همان «_» از هم جدا کنیم. بهعنوان مثال، نامِ متغیر انتخابی اگر site name باشد، از آنجاییکه وجود کاراکتر فاصله در نامِمتغیرها غیر مجاز است، پیشنهاد میشود آن را بهصورتsite_name بنویسیم. به این روش جداسازی «snake_case» هم میگویند که در زبان پایتون بسیار استفاده میشود.
نام گذاری متغیرها در پایتون چگونه است؟
برای نامگذاری متغیرهایمان در پایتون میبایست برخی قواعد را در نظر داشته باشیم و رعایت کنیم. تعدادی از این قواعد اجباری هستند و باید رعایت شوند در غیر اینصورت روند اجرای برنامه دچار خطا میشود. برخی دیگر از این قاعدهها، مرسوم هستن و طبق توافقاتی بهتر است که در نظر گرفته شوند.
قوانین نام گذاری متغیرها در پایتون چیست؟
۳ قانونی که در این رابطه - و در نحوه تعریف متغیر در پایتون - وجود دارد را در ادامه بیان کردهایم.
- نام متغیر میبایست با یک «حرف» یا «_» شروع شود.
- نامی که برای متغیر در نظر داریم، تنها میتواند شامل «حروف»، «اعداد» و «_» باشد.
- نام متغیر نمیتواند شامل «فاصله» یا کاراکترهای خاص باشد.
برای نمونه، موارد زیر نامگذاری صحیح متغیر را نشان میدهند.
1user_age = 20 # valid
2
3website = 'https://freecodecamp.org' # valid
همچنین، در ادامه نمونهای از نامگذاری اشتباه متغیر را آوردهایم.
11password = True # invalid
پیشنهاد های نام گذاری متغیرها در پایتون چیست؟
منظور از «پیشنهادها»، توافقات مشترکی است که در کدهای پایتون رعایت میکنیم. به ۲ موردی که در ادامه آوردهایم توجه کنید.
- نامی که برای متغیرهای انتخاب میکنیم میبایست حالت توصیفی از وظیفه آن داشته باشد. همچنین نه خیلی کوتاه باشد و نه خیلی بلند.
- برای نامگذاری از حروف کوچک و خطِ ربط (برای جداسازی واژهها) یا همان شیوه «snake_case» استفاده میکنیم.
کلمات رزو شده در پایتون
یکی دیگر از محدودیتهای پایتون در نامگذاری شناسهها - مانند نام متغیرها - پرهیز از بهکاربردن کلمات کلیدی است. این زبان، مجموعهای از کلمات رزرو شده را در اختیار دارد که برای عملکردهای خاصی در پایتون در نظر گرفته شده است و هیچ شیئی مجاز نیست تا نامی مشابه با این کلمات کلیدی داشته باشد.
زبان پایتون، در حدود ۳۳ کلمه کلیدی دارد که در ادامه و در قالب یک جدول، اسامی آنها را مشاهده میکنید.
raise | if | def | False |
return | import | del | None |
try | in | elif | True |
while | is | else | and |
with | lambda | except | as |
yield | nonlocal | finally | assert |
not | for | break | |
or | from | class | |
pass | global | continue |
نکته قابل توجه این است که کلمات کلیدی نیز به حروف کوچک و بزرگ حساس هستند. پس بهطور مثال، انتخابIf بهعنوان نام متغیر منعی ندارد.
نوع داده های متغیرهای پایتون چیست؟
اگر بخواهیم یکی از بهترین خصوصیات پایتون را بیان کنیم، بدون شک میتوانیم به منعطف بودن آن در مدیریت دیتا تایپها یا «انواع دادهای» (Data Types) گوناگون اشاره کنیم.
از نمونه «انواع دادهای» که متغیرهای پایتون توانایی نگهداری آن را دارند، میتوان به موارد آورده شده در ادامه، اشاره کرد.
- اعداد صحیح
- اعداد اعشاری
- رشتهها
- نوع بولی
- تاپلها
- لیستها
در ادامه، هر یک از این دیتا تایپها را شرح دادهایم.
نوع داده عدد صحیح در پایتون
نوع داده Integers، اعداد صحیح مثبت و منفی را نگه میدارد.
مثال زیر، مقداری عددی 42را در متغیری بهنامanswerذخیره کرده است.
1answer = 42
نوع داده عدد اعشاری در پایتون
نوع داده Floats، اعداد حقیقی یا اعدادی با نقطه اعشار را نگه میدارند. مثالی که در ادامه آوردهایم، عدد اعشاری34.592 را در متغیرweight ذخیره میکند.
1weight = 34.592
نوع داده رشته ای در پایتون
«رشتهها» (Strings) در واقع، دنبالهای از کاراکترها یا همان «کلمات» و «جملات» هستند. مثال آورده شده در زیر، عبارت My name is divanairuop. را درون متغیرmessage نگه میدارد.
1message = "My name is divanairuop."
نوع داده عدد بولی در پایتون
این نوع داده، مقادیر True یاFalse را میتواند در خود نگه دارد. دستوری که در ادامه بیان شده، مقدار True را در متغیرis_authenticated قرار میدهد.
1is_authenticated = True
لیست ها در پایتون
نوع دادهList، مجموعهای «مرتب» (Ordered)، «تغییر پذیر» (Mutable) از مقادیر را نگه میدارد.
دستور زیر، لیستی شامل ۳ عضو با نوع رشتهای را تحت نامfruits نگه میدارد.
1fruits = ['apple', 'banana', 'cherry']
تاپل ها در پایتون
نوع دادهTuple، مجموعهای «مرتب» (Ordered)، «تغییر ناپذیر» (Immutable) از مقادیر را نگه میدارد. در ادامه یک تاپل یا «چندتایی» شامل ۲ عضو را آوردهایم.
1point = (3, 4)
دیتا تایپهای پایتون به همین موارد خلاصه نمیشوند، اما میتوان گفت که موارد بیان شده، رایجترین نوع دادههایی هستند که هنگام کار با متغیرهای پایتون با آنها رو به رو میشویم.
داینامیک تایپ بودن پایتون به چه معنا است؟
ممکن است شنیده باشید که پایتون، زبانی است که «بهصورت پویا نوعگذاری شده» (Dynamically-Typed) است. این خصوصیت، بیانگر آن است که نوع متغیر در حین اجرای برنامه میتواند تغییر کند.
از دیگر مواردی که ویژگی «داینامیک تایپینگ» یا «قابلیت نوعدهی پویا» برایمان فراهم میکند این است که بر خلاف سایر زبانهای برنامهنویسی همچون جاوا، الزامی برای «تعریف» (Declare | اِعلان) دستی نوع متغیر وجود ندارد.
تابع type() در نحوه تعریف متغیر در پایتون چیست؟
با استفاده از تابعtype()، میتوانیم نوع یک متغیر را تشخیص دهیم. دستورات زیر و خروجی آنها، کارکرد این تابع را بهخوبی نشان میدهند. لازم به ذکر است که متغیرهای answer و message را پیش از این تعریف کردهایم.
1print(type(answer))
پس از اجرا، این تابع نوعanswerرا «عدد صحیح» تشخیص میدهد.
<class 'int'>
مثال دیگری را نیز در ادامه آوردهایم.
1print(type(message))
پس از اجرا، خروجی این دستور نیز بهصورت زیر خواهد بود.
<class 'str'>
دامنه متغیرها در پایتون
به بخشهایی از برنامه که متغیر تعریف شده، در آن قابل دسترسی و تغییر است را محدوده یا «دامنه متغیر» (Variable Scope) میگویند. در پایتون، ۲ نوع دامنه متغیر وجود دارد که در ادامه بیان کردهایم.
متغیرهای سراسری در پایتون
بهطور کلی، متغیرهایی که بیرون از توابع یا کلاسهای پایتون تعریف میشوند، متغیرهای سراسری یا متغیرهایی با «دامنه سراسری» (Global Scope) هستند. این نوع متغیرها در سراسر برنامه و همچنین داخل توابع و کلاسها قابل دسترسیاند و میتوان مقدار آنها را دستکاری کرد. کدهایی که در ادامه آورده شده، متغیری سراسری بهنامglobal_var را نشان میدهد.
1global_var = "I am a global variable"
2
3def access_global_var():
4 print(global_var)
5
6access_global_var()
همانطور که در خروجی مشاهده میشود، از داخل تابع هم به مقدار متغیر سراسری دسترسی داریم.
I am a global variable
متغیرهای محلی در پایتون
متغیرهایی که درون توابع یا کلاسها تعریف میشوند، دارای «دامنه محلی» (Local Scope) هستند. این نوع متغیرها، تنها درون همان تابع یا کلاس، قابل دسترسیاند. کدهایی که در ادامه آوردهایم، دارای متغیری محلی بهنامlocal_varاست که درون یک تابع تعریف شده است.
1def function_with_local_var():
2 local_var = "I am a local variable"
3 print(local_var)
4
5function_with_local_var()
6print(local_var)
پس از اجرا، خواهیم دید که متغیر محلی، از بیرون از تابع قابل دسترسی نیست و با خطایname 'local_var' is not definedمواجه میشویم. در زیر به این موضوع اشاره شده است.
I am a local variable Traceback (most recent call last): File "main.py", line 6, in <module> print(local_var) NameError: name 'local_var' is not defined
انواع عملیات قابل انجام روی متغیرها
اکنون که با نحوه تعریف متغیر در پایتون آشنا شدیم، میخواهیم برخی از عملیات رایج روی متغیرها را نیز بیان کنیم. عملیات گوناگونی را میتوان روی متغیرهای پایتون اِعمال کرد که برخی از آنها را در ادامه، بیان کردهایم.
- میتوانیم آنها را - درصورتیکه عددی باشند - بهصورتی ریاضی تغییر دهیم.
- اگر شامل مقادیر رشتهای باشند، آنها را بهوسیله عملگری، بههم بچسبانیم و همچنین با عملگرهای تساوی مقادیرشان را با هم مقایسه کنیم.
عملیات ریاضی روی متغیرها
این امکان وجود دارد تا برخی از عملیات پایهای ریاضی مانند جمع، تفریق، ضرب و تقسیم را روی متغیرها اجرا کنیم. در مثالی که در ادامه آورده شده، عملگرهای ریاضی مختلفی را روی مقادیر ۲ متغیرa وb انجام داده و هر کدام را در متغیر جدیدی ذخیره کردهایم و در انتها مقادیرشان را چاپ میکنیم.
1a = 10
2b = 5
3
4sum = a + b
5difference = a - b
6product = a * b
7quotient = a / b
8
9print(sum, difference, product, quotient)
خروجی این کدها پس از اجرا، بهصورتی است که در ادامه، مشاهده میکنید.
15 5 50 2.0
میتوانیم برای به توان رساندن یک عدد به عددی دیگر، از عملگر** و همچنین برای محاسبه باقیمانده تقسیم ۲ عدد بر هم، عملگر% را بهکار ببریم. کدهای زیر این موارد را بهخوبی نشان میدهند.
1# Modulus operation
2remainder = a % b
3print(remainder)
پس از اجرای این کدها، با توجه به مقدار متغیرهایa وb، باقیماندهای برابر با0 را در خروجی خواهیم داشت.
کدهای زیر، عددaرا به توان عددbمیرساند.
1# Exponentiation
2power = a ** b
3print(power)
که پس از اجرا مقدار100000 بهعنوان خروجی چاپ خواهد شد.
عملیات رشته ای روی متغیرها
یکی از عملگرهای رشتهای در پایتون،+ است که ۲ رشته را به هم متصل میکند.
1# String concatenation
2first_name = "Guido"
3last_name = "van Rossum"
4full_name = first_name + " " + last_name
5print(full_name)
کدهای آورده شده در بالا، عملگر Concatenation را روی ۲ متغیرfirst_name وlast_name - بههمراه یک کاراکتر فاصله بینشان - اجرا میکند و نتیجه را در متغیر جدیدی بهنامfull_name قرار داده و در نهایت آن را بهصورت زیر چاپ میکند.
Guido van Rossum
عملیات مقایسه ای روی متغیرها
در پایتون میتوانیم مقادیر متغیرها را بهوسیله عملگرهای مقایسهای از نظر برابری بسنجیم. برای این منظور از عملگرهای زیر میتوانیم استفاده کنیم.
- <
- >
- ==
- =!
کدهایی که در ادامه آوردهایم، را در نظر بگیرید.
1x = 15
2y = 20
3
4print(x < y)
5print(x > y)
6print(x == y)
7print(x != y)
این دستورات مقدار متغیرهایa وbرا با یکدیگر مقایسه و نتیجه را از نوع بولی چاپ میکنند.
True False False True
مهمترین نکتهای که هنگام اجرای عملگرها روی متغیرها لازم است به آن توجه داشته باشیم این است که مطمئن شویم که نوع متغیرها با هم سازگار باشند.
بهطور مثال، نمیتوانیم بهطور مستقیم مقدار رشتهای (string) را با مقداری عددی (integer) با هم جمع کنیم. در این مواقع، لازم است تا یکی از متغیرها را به نوع سازگار با متغیر دیگر تبدیل کنیم. برای این منظور، توابعی مانندstr() یاint() را بهکار میبریم.
برگه تقلب متغیرها در پایتون
در این قسمت میتوانید بهطور خلاصه و سریع نکاتی را در مورد تعریف متغیر در پایتون و همچنین انواع آن بیاموزید.
تخصیص متغیرها
متغیرها در پایتون به منظور ذخیره دادهها در طول برنامه بهکار میروند. برای ایجاد یک متغیر، از عملگر انتساب (= ) استفاده میکنیم تا مقداری را به یک نام متغیر اختصاص دهیم. به مثالهایی که در ادامه آوردهایم، توجه کنید.
1x = 10
2name = "Alice"
انواع داده ها
پایتون شامل تعدادی دیتا تایپهای درونی است که در ادامه فهرست کردهایم.
کلمه کلیدی | نوع | مثال |
int | اعداد صحیح | integer = 42 |
float | اعداد اعشاری | floating_point = 3.14 |
str | رشتهها | string = "my name is divanairuop" |
bool | مقادیر بولی (مانندTrueوFalse) | boolean = True |
list | لیستها | list_example = [1, "divanairuop", False] |
tuple | تاپلها یا «چندتاییها» | tuple_example = (1, 2, 3) |
dict | دیکشنریها | dict_example = {"key": "value"} |
بررسی نوع
برای تشخیص نوع داده یک متغیر از تابعtype() استفاده میکنیم. به مثالی که در ادامه آوردهایم، توجه کنید.
1print(type(42))
خروجی دستور بالا پس از اجرا، بهصورت<class 'int'>خواهد بود.
تبدیل نوع
برای تبدیل بین نوع دادهها، از توابع درونیint()،float()،str()وbool()استفاده میکنیم. به مثال زیر توجه کنید.
1x = 42
2float_x = float(x)
3print(float_x)
خروجی کدهای بیان شده، بهصورت زیر است.
42.0
عملیات روی متغیرها
عملیات محاسباتی، منطقی و غیره را نیز میتوانیم روی متغیرها اِعمال کنیم. در ادامه، برخی از موارد عملیات حسابی را ملاحضه میکنید.
1x = 10
2y = 5
3add = x + y
4sub = x - y
5mul = x * y
6div = x / y
نمونههایی از عملیات رشتهای را نیز در زیر آوردهایم.
1first_name = "Alice"
2last_name = "Smith"
3full_name = first_name + " " + last_name
سوالات متداول
در این قسمت، برخی از پرسشهای متداولی که در مورد تعریف متغیر در پایتون وجود دارد را پاسخ دادهایم.
تعریف متغیر در پایتون چگونه است؟
برخلاف برخی از زبانهای برنامهنویسی، برای تعریف متغیرهای پایتون - که محفظههایی برای نگهداری مقادیر دادهای محسوب میشوند - هیچگونه دستور خاصی وجود ندارد و در واقع، هنگامی ایجاد میشوند که برای اولینبار مقداری را به آنها تخصیص میدهیم.
فهرست کردن متغیرهای برنامه پایتون چگونه است؟
برای مشاهده تمامی توابع و متغیرهای تعریف شده در کدهای برنامه پایتون - که نقش مهمی را هنگام دیباگ کدها ایفا میکند - از تابعdir()استفاده میکنیم.
جمعبندی
در این مطلب از مجله فرادرس سعی بر این بوده است تا بهطور کامل نکات مربوط به تعریف متغیر در پایتون را پوشش دهیم. در ابتدا با مفهوم متغیر آشنا شدیم و نحوه تعریف متغیر در پایتون را بیان کردیم. همچنین، انواع نوع دادههای موجود در پایتون را بیان و مثال و نمونه کدهای فراوانی را در این رابطه مرور کردیم.
برای اینکه به درک مطلوبی در رابطه به متغیرها در پایتون برسیم، لازم است تا دست به کد شویم و متغیرهایی برای نگهداری انواع دادهای مختلف اعلان، و آنها را مقدارهی کنیم. برگه تقلبی شامل نحوه اعلان متغیر در پایتون و سایر جزئیات مربوط به متغیرها را بههمراه مثالی برای هر کدام مهیا کردیم که به سرعت بتوانید به نکته مورد نظر دست پیدا کنید. در پایان نیز به بیان برخی از سوالات پرتکرار مرتبط با این موضوع پرداختیم.