تعریف متغیر
متغیر در زبانهای برنامه نویسی به ظرفی اشاره دارد که به صورت موقت دادهای را درون حافظه ذخیره میکند.
برخلاف سایر زبانهای برنامه نویسی، پایتون هیچ دستوری برای تعریف متغیر ندارد.
متغیر زمانی که یک مقدار را به آن اختصاص دهید ایجاد میشود.
# Input x = 5 y = "John" print(x) print(y) # Output 5 John
برای تعریف متغیر لازم نیست که نوع آن اعلام شود و حتی میتوان نوع متغیر را پس از تنظیم تغییر داد.
# Input x = 4 # x is of type int x = "Sally" # x is now of type str print(x) # Output Sally
متغیرهای رشته ای را میتوان با استفاده از علامت نقل قول تکی یا دوتایی تعریف کرد.
# Input x = "John" print(x) # double quotes are the same as single quotes: x = 'John' print(x) # Output John John
نام متغیر
یک متغیر میتواند دارای یک اسم کوتاه (مانند x و y) یا یک نام توصیفی (مانند age, carname, total_value) باشد. برای تعریف متغیر در پایتون باید قوانین زیر رعایت شود:
- نام متغیر باید با یک حرف یا علامت Underscore شروع شود.
- نام متغیر نمیتواند با یک عدد شروع شود.
- در نام متغیر فقط میتوان از حروف، اعداد و علامتUnderscore استفاده کرد و استفاده از کاراکترهای دیگر مجاز نیست.
- نام متغیر به حروف کوچک و بزرگ حساس است. به عنوان نمونه Age, age, AGE سه متغیر متفاوت از هم هستند.
# Legal variable names myvar = "John" my_var = "John" _my_var = "John" myVar = "John" MYVAR = "John" myvar2 = "John" # Illegal variable names 2myvar = "John" my-var = "John" my var = "John"
در صورت رعایت نکردن قوانین نامگذاری متغیر با خطای زیر برخورد میکنید.
SyntaxError: invalid syntax
نکته: به یاد داشته باشید نام متغیر حساس به حروف بزرگ و کوچک است.
اختصاص دادن مقدار به چند متغیر
پایتون به شما این امکان را میدهد در یک خط چند مقدار را به چند متغیر اختصاص دهید.
# Input x, y, z = "Orange", "Banana", "Cherry" print(x) print(y) print(z) # Output Orange Banana Cherry
و میتوانید در یک خط یک مقدار را به چند متغیر اختصاص دهید.
# Input x = y = z = "Orange" print(x) print(y) print(z) # Output Orange Orange Orange
خروجی متغیرها
دستور Print برای نمایش خروجی متغیرها استفاده میشود.
برای ترکیب متن و متغیر از کاراکتر + استفاده کنید.
# Input x = "awesome" print("Python is " + x) # Output Python is awesome
همچنین میتوانید از کاراکتر + استفاده کنید تا یک متغیر را به متغیر دیگری اضافه کنید.
# Input x = "Python is " y = "awesome" z = x + y print(z) # Output Python is awesome
برای اعداد کاراکتر + به عنوان یک عملگر ریاضی کار میکند.
# Input x = 5 y = 10 print(x + y) # Output 15
اگر سعی کنید یک رشته و یک عدد را با هم ترکیب کنید پایتون به شما خطا می دهد.
# Input x = 5 y = "John" print(x + y) # Output TypeError: unsupported operand type(s) for +: 'int' and 'str'
متغیرهای جهانی
متغیرهایی که خارج از یک تابع ایجاد شدهاند (مانند همهی مثالهای فوق) به عنوان متغیر جهانی شناخته میشوند.
متغیرهای جهانی چه در داخل تابع و چه در خارج از آن قابل استفاده هستند.
در مثال زیر یک متغیر در خارج از تابع ایجاد و از آن در داخل تابع استفاده شده است.
# Input x = "awesome" def myfunc(): print("Python is " + x) myfunc() # Output Python is awesome
اگر یک متغیر با همین نام را درون یک تابع ایجاد کنید، این متغیر محلی خواهد بود و فقط در داخل تابع قابل استفاده است. متغیر جهانی با همین نام همانطور که هست با مقدار اصلی و جهانی باقی میماند.
در مثال زیر یک متغیر همنام با متغیر جهانی، داخل تابع ایجاد شده است.
# Input x = "awesome" def myfunc(): x = "fantastic" print("Python is " + x) myfunc() print("Python is " + x) # Output Python is fantastic Python is awesome
کلمه کلیدی global
به طور معمول وقتی یک متغیر را در یک تابع ایجاد میکنید آن متغیر محلی است و فقط در داخل آن تابع قابل استفاده است.
برای ایجا یک متغیر جهانی در داخل یک تابع میتوانید از کلمه کلیدی global استفاده کنید.
اگر از کلمه کلیدی global استفاده کنید متغیر متعلق به محدوده جهانی است.
# Input def myfunc(): global x x = "fantastic" myfunc() print("Python is " + x) # Output Python is fantastic
همچنین اگر میخواهید یک متغیر جهانی را درون یک تابع تغییر دهید از کلمه کلیدی global استفاده کنید.
# Input x = "awesome" def myfunc(): global x x = "fantastic" myfunc() print("Python is " + x) # Output Python is fantastic
منابع
w3schools.com –Python Variables
Photo by Kevin Ku from Pexels