آموزش متغیرها در پایتون (Python) و انواع آن

آموزش متغیرها در پایتون (Python) و انواع آن

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

حالا زمان آن رسیده که به سراغ متغیر ها در پایتون بریم.

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

زمان مطالعه: 3 دقیقه
بازدید: 2742
پرسش و پاسخ: 2
x = 5
y = "John"
print(x)
print(y)

در بالا خروجی متغیر x برابر 5 و خروجی متغیر y برابر John است .

در پایتون نیازی به تعیین نوع متغیر نداریم و حتی میتوانیم با تغییر مقدار آن نوع متغیر را تغییر دهیم .

x = 4       # x is of type int
x = "Sally" # x is now of type str
print(x)

در کد بالا ابتدا متغیر x از نوع عدد صحیح است و بعد با تغییر مقدار آن، نوع آن به رشته ای تغییر می کند.

 

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

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

x = str(3)    # x will be '3'
y = int(3)    # y will be 3
z = float(3)  # z will be 3.0

در متغیر x مقدار ‘3’ که از نوع رشته ای است ریخته می شود، در متغیر y مقدار 3 که از نوع عددی است ریخته می شود و در متغیر z مقدار 3.0  که از نوع عدد اعشاری است ریخته می شود.

 

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

گاهی اوقات شما نیاز دارید که در برنامه خود نوع متغیر را دریافت کنید و در جایی آن را نمایش دهید یا از آن استفاده کنید، برای این منظور می توانید از تابع type() استفاده کنید.

x = 5
y = "John"
print(type(x))
print(type(y))

خروجی تکه برنامه زیر برای متغیر x برابر <class ‘int’> و برای متغیر y برابر <class ‘str’> است.

درباره نوع داده ها و مقداردهی در مقالات آینده بیشتر آشنا خواهید شد.

 

Single quotes و Double quotes

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

x = "John"
# is the same as
x = 'John'

 

حساس به حروف بزرگ و کوچک (Case Sensitive)

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

a = 4
A = "Sally"
#A will not overwrite a

در بالا دو نوع متغیر جدا داریم یکی a که مقدار آن 4 است و یکی دیگر A که مقدار آن Sally از نوع رشته ای است و ربطی به هم ندارند.

 

نام گذاری متغیرها در پایتون

یک متغیر می تواند یک نام کوتاه مانند یک حرف (x , y) و یا یک نام توصیفی با معنا مانند (نام اتومبیل، سن و ...) داشته باشد.

در پایتون برای نام گذاری متغیرها قوانینی وجود دارد که در ادامه آن ها را بیان می کنیم.

  1. نام یک متغیر باید حتما با یک حرف و یا یک زیرخط(underline یا همان underscore) شروع شود.
  2. نام یک متغیر نمی تواند با یک عدد شروع شود.
  3. نام یک متغیر می تواند تنها شامل حروف الفبا، اعداد و underscore باشد. (A-z , 0-9 , _)
  4. نام متغیر در پایتون به حروف بزرگ و کوچک حساس است. (age و Age و AGE سه متغیر متفاوت هستند)

در زیر چند نوع متغیر مجاز و غیرمجاز تعریف کردیم.

متغیرهای مجاز:

myvar = "John"
my_var = "John"
_my_var = "John"
myVar = "John"
MYVAR = "John"
myvar2 = "John"

 

متغیرهای غیرمجاز:

2myvar = "John"
my-var = "John"
my var = "John"

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

 

متغیرهای چند کلمه ای

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

  • نوع تعریف Camel Case

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

myVariableName = "John"

 

  • نوع تعریف Pascal Case

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

MyVariableName = "John"

 

  • نوع تعریف Snake Case

در این نوع هر کلمه با یک Underscore از هم جدا می شوند.

my_variable_name = "John"

 

اختصاص چند مقدار به متغیرها

  • چند مقدار و چند متغیر

در پایتون شما می توانید در یک خط چند مقدار را به چند متغیر اختصاص دهید.

x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)

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

X == Orange

Y == Banana

Z == Cherry

نکته : حتما اطمینان حاصل کنید که تعداد متغیرها با تعداد مقادیر برابر باشند، در غیر این صورت با خطا مواجه می شوید.

 

  • یک مقدار و چند متغیر

شما همچنین می توانید یک مقدار را به چند متغیر اختصاص بدهید.

x = y = z = "Orange"
print(x)
print(y)
print(z)

در کد بالا هر سه متغیر مقدار Orange را دریافت می کنند.

 

اختصاص مقادیر آرایه به متغیرها (Unpack کردن)

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

fruits = ["apple", "banana", "cherry"]
x, y, z = fruits
print(x)
print(y)
print(z)

در کد بالا مقادیر آرایه fruits به ترتیب به متغیرهای x و y و z اختصاص داده می شوند و خروجی به شکل زیر خواهد بود.

X == apple

Y == banana

Z == cherry

در آینده در مورد این موضوع در مقاله ای جداگانه بیشتر صحبت خواهیم کرد.

 

خروجی متغیرها

برای خروجی گرفتن از متغیرها در پایتون از دستور print استفاده می کنیم و برای اینکه ترکیبی از خروجی متن و مقدار متغیر داشته باشیم از کاراکتر + استفاده می کنیم.

x = "awesome"
print("Python is " + x)

مقدار خروجی در تکه کد بالا برابر با Python is awesome است.

همچنین برای جمع کردن دو متغیر می توانیم از کاراکتر + استفاده کنیم.

x = "Python is "
y = "awesome"
z =  x + y
print(z)

خروجی مقدار z نیز برابر با Python is awesome است.

برای متغیرهای با نوع عددی، کاراکتر + مانند یک عملگر جمع در ریاضی عمل می کند.

x = 5
y = 10
print(x + y)

ترکیب یک متغیر عددی با یک متغیر رشته ای باعث بروز خطا می شود.

x = 5
y = "John"
print(x + y)

کد بالا باعث بروز خطای زیر می شود.

TypeError: unsupported operand type(s) for +: 'int' and 'str'

 

متغیرهای سراسری پایتون

متغیرهایی که خارج از یک تابع تعریف می شوند (مانند تمام متغیرهای تعریف شده در بالا)، همه متغیرهای سراسری هستند. متغیرهای سراسری را در هر کجای برنامه می توان استفاده کرد. (چه در داخل توابع و چه در خارج از آن)

x = "awesome"

def myfunc():
  print("Python is " + x)

myfunc()

در بالا ما یک متغیر سراسری تعریف کردیم و در داخل تابع myfunc() از آن استفاده کردیم.

اگر ما دو نوع متغیر هم نام تعریف کنیم که یکی از نوع سراسری باشد و دیگری از نوع محلی(در داخل تابع تعریف شده باشد) متغیر داخلی اولویت دارد و در داخل تابع استفاده می شود و متغیر سراسری بدون تغییر باقی خواهد ماند.

x = "awesome"

def myfunc():
  x = "fantastic"
  print("Python is " + x)

myfunc()

print("Python is " + x)

خروجی داخل تابع = Python is fantastic

خروجی خارج از تابع = Python is awesome

 

کلمه کلیدی Global

به طور معمول، وقتی یک متغیر را داخل یک تابع تعریف میکنیم، آن متغیر محلی است و فقط داخل آن تابع قابل دسترس خواهد بود.

برای ایجاد یک متغیر سراسری داخل یک تابع می توانیم از کلمه کلیدی global استفاده کنیم.

def myfunc():
  global x
  x = "fantastic"

myfunc()

print("Python is " + x)

در مثال بالا متغیر x یک متغیر سراسری است و در هر جای برنامه قابل دسترسی می باشد.

همچنین اگر می خواهید مقدار یک متغیر سراسری را داخل یک تابع تغییر دهید در داخل تابع از کلمه کلیدی global استفاده کنید تا به متغیر سراسری دسترسی پیدا کنید و بعد مقدار آن را تغییر دهید. مانند مثال زیر:

x = "awesome"

def myfunc():
  global x
  x = "fantastic"

myfunc()

print("Python is " + x)

در این مقاله به صورت مفصل با متغیرها آشنا شدید در مقاله بعدی به مبحث نوع متغیرها(Data Types) می پردازیم.

بهزاد میرزازاده
مسیر درست با پرسش های درست ساخته می شود

مشاهده تمام مطالب نویسنده