متغیرها در پایتون — انواع و تعریف آن ها

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

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

مقدمه

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

به‌عنوان مثال ، متغیرها در پایتون مانند یک نام نماینده است که به‌عنوان یک اشاره‌گر به یک شی عمل می‌کند. زمانی که یک شیء به یک متغیر اختصاص داده می‌شود، می‌توان با استفاده از این نام به آن ارجاع داد. به عبارت ساده‌تر، متغیرها در پایتون مانند ظرف‌هایی هستند که مقادیر را ذخیره می‌کنند. برای نمونه، زمانی که رشته‌ای مانند “programstore” را در یک متغیر به نام var ذخیره کنیم، با فراخوانی این نام، اطلاعات ذخیره‌شده نمایش داده می‌شوند.

Var = "programstore"
print(Var)

خروجی:

programstore

نکات:

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

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

  • نام یک متغیر در پایتون باید با یک حرف یا زیرخط ( _ ) شروع شود.
  • نام متغیر نمی‌تواند با یک عدد آغاز شود.
  • نام متغیرها در پایتون تنها می‌تواند شامل حروف الفبایی، اعداد (۰ – ۹) و زیرخط ( _ ) باشد.
  • در نام‌گذاری متغیرها، به حروف بزرگ و کوچک حساسیت وجود دارد (برای مثال، Name، name و NAME سه متغیر متفاوت هستند).
  • از کلمات رزرو شده (کلیدواژه‌ها) در پایتون نمی‌توان برای نام‌گذاری متغیرها استفاده کرد.
# valid variable name
program = 1
Program = 2
Pro_g_ram = 5
_program = 6
program_ = 7
_PROGRAM_ = 8

print(program , Program , Pro_g_ram )
print(_program , program_ , _PROGRAM_ )

خروجی: 

۱ ۲ ۵ 
۶ ۷ ۸

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

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

# An integer assignment
age = 45

# A floating point
salary = 1456.8

# A string
name = "John"

print(age)
print(salary)
print(name)

خروجی:

۴۵ 
۱۴۵۶.۸ 
Johannes

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

با ما همراه شوید تا ببینبم که چگونه متغیرها در پایتون تعریف و مقداردهی می‌شوند و چگونه می‌توان مقدار آن را نمایش داد.

# declaring the var
Number = 100

# display
print( Number)

خروجی:

۱۰۰

اعلان مجدد متغیرها در پایتون

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

# declaring the var
Number = 100

# display
print("Before declare: ", Number)

# re-declare the var
Number = 120.3
  
print("After re-declare:", Number)

خروجی:

Vor der Deklaration: 100 
Nach der erneuten Deklaration: 120,3

پایتون امکان اختصاص مقادیر به چندین متغیر را فراهم می‌کند

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

a = b = c = 10

print(a)
print(b)
print(c)

خروجی:

۱۰ 
۱۰ 
۱۰

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

پایتون این امکان را فراهم می‌کند که مقادیر مختلف را در یک خط با استفاده از اپراتور (،) به چندین متغیر اختصاص دهید.

a, b, c = 1, 20.2, "programstore"

print(a)
print(b)
print(c)

خروجی:

۱ 
۲۰.۲ 
programstore

آیا می‌توانیم از یک نام مشابه برای انواع مختلف استفاده کنیم؟

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

a = 10
b = "program"
print(a+b)

خروجی:

TypeError: nicht unterstützte Operandentypen für +: „int“ und „str“

متغیرهای سراسری و محلی در پایتون

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

# This function uses local variable s
def f():
    s = "Welcome programstore"
    print(s)


f()

خروجی:

Ich liebe programstore

کلمه کلیدی global در پایتون

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

قوانین کلمه کلیدی global

  • اگر به یک متغیر در بدنه یک تابع مقدار داده شود، این متغیر به طور پیش‌فرض محلی در نظر گرفته می‌شود مگر اینکه به طور خاص به عنوان سراسری (global) اعلام شود.
  • متغیرهایی که تنها در داخل یک تابع ارجاع داده می‌شوند، به طور ضمنی سراسری در نظر گرفته می‌شوند.
  • برای استفاده از یک متغیر سراسری در داخل یک تابع، باید از کلمه کلیدی global استفاده کرد.
  • نیازی به استفاده از کلمه کلیدی globl برای دسترسی به متغیرهای سراسری در خارج از تابع نیست.

مثال: یک برنامه پایتون برای تغییر یک مقدار سراسری در داخل یک تابع.

x = 15

def change():

    # using a global keyword
    global x

    # increment value of a by 5
    x = x + 5
    print("Value of x inside a function :", x)


change()
print("Value of x outside a function :", x)

خروجی:

Wert von x innerhalb einer Funktion: 20 
Wert von x außerhalb einer Funktion: 20

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

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

انواع داده‌های داخلی در پایتون عبارتند از:

مثال: نمونه‌های مختلفی از انواع داده‌های داخلی در پایتون نمایش داده شده است.

# numberic
var = 123
print("Numeric data : ", var)

# Sequence Type
String1 = 'Welcome to the Geeks World'
print("String with the use of Single Quotes: ")
print(String1)

# Boolean
print(type(True))
print(type(False))

# Creating a Set with
# the use of a String
set1 = set("GeeksForGeeks")
print("\nSet with the use of String: ")
print(set1)

# Creating a Dictionary
# with Integer Keys
Dict = {1: 'Geeks', 2: 'For', 3: 'Geeks'}
print("\nDictionary with the use of Integer Keys: ")
print(Dict)

خروجی:

Numerische Daten: 123 
Zeichenfolge mit Verwendung von einfachen Anführungszeichen: 
Willkommen in der Welt der Geeks 
<class 'bool'> 
<class 'bool'> 
Satz mit Verwendung von Zeichenfolgen: 
{'r', 'G', 'e', ​​'k', 'o', 's', 'F'} 
Wörterbuch mit Verwendung von Integer-Schlüsseln: 
{۱: 'Geeks', 2: 'For', 3: 'Geeks'}

ارجاع شیء در پایتون

زمانی که به متغیر x مقدار ۵ را اختصاص می‌دهیم، در واقع به متغیر x یک ارجاع به یک شیء در حافظه داده می‌شود که مقدار آن ۵ است. در پایتون، متغیرها در واقع ارجاعاتی به اشیاء هستند و وقتی یک مقدار به یک متغیر اختصاص داده می‌شود، متغیر به شیء‌ای که آن مقدار را نگهداری می‌کند، اشاره می‌کند.

x = 5

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

یک متغیر دیگر به نام y به متغیر x اختصاص می‌یابد.

در پایتون، اگر متغیر y به متغیر x اختصاص داده شود، این دو متغیر به همان شیء در حافظه ارجاع می‌دهند. به عبارت دیگر، حالا هر دو متغیر x و y به یک مقدار مشترک اشاره می‌کنند و تغییر مقدار یکی از آن‌ها بر دیگری تأثیر خواهد گذاشت.

y = x

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

زمانی که پایتون اولین دستور را مشاهده می‌کند، ابتدا یک شیء ایجاد می‌کند که مقدار ۵ را نشان می‌دهد. سپس متغیر x را ایجاد می‌کند (اگر قبلاً وجود نداشته باشد) و آن را به این شیء جدید با مقدار ۵ ارجاع می‌دهد. در خط دوم، پایتون متغیر y را ایجاد می‌کند، اما به جای این که آن را به x اختصاص دهد، آن را طوری تنظیم می‌کند که به شیء‌ای ارجاع دهد که x به آن اشاره دارد. نتیجه این است که هر دو متغیر x و y در نهایت به یک شیء اشاره می‌کنند. این وضعیت که در آن چندین نام به یک شیء اشاره می‌کنند، در پایتون به عنوان “ارجاع مشترک” شناخته می‌شود. حالا اگر بنویسیم:

x = "program"

این دستور یک شی جدید برای نمایش “program” ایجاد می‌کند و باعث می‌شود که متغیر x به این شیء جدید ارجاع دهد.

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

اگر حالا مقدار جدیدی به y اختصاص دهیم، شیء قبلی که y به آن ارجاع می‌داد به مقادیر زباله (Garbage Values) تبدیل می‌شود.

y = "Computer"

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

ایجاد اشیاء (یا متغیرهای نوع کلاس)

به این معناست که شما یک نمونه از یک کلاس را در پایتون می‌سازید. برای این کار، ابتدا باید یک کلاس تعریف کنید و سپس از آن یک شیء جدید ایجاد کنید. در این فرآیند، کلاس به عنوان طرحی برای اشیاء عمل می‌کند و هر شیء از کلاس به عنوان یک نمونه مجزا از آن طرح با ویژگی‌ها و رفتارهای خاص خود است.

class CSStudent:
    # Class Variable
    stream = 'cse'
    # The init method or constructor
    def __init__(self, roll):
        # Instance Variable
        self.roll = roll

# Objects of CSStudent class
a = CSStudent(101)
b = CSStudent(102)

print(a.stream)  # prints "cse"
print(b.stream)  # prints "cse"
print(a.roll)    # prints 101

# Class variables can be accessed using class
# name also
print(CSStudent.stream)  # prints "cse"

خروجی:

cse
cse
۱۰۱
cse

متغیرهای محلی

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

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

مثال:

def print_local():
    local_var = "I am local"
    print(local_var)

print_local()  # Output: I am local
# print(local_var)  # This would raise an error because local_var is not accessible outside the function.

چگونه از حاشیه‌نویسی نوع (Type Annotations) برای متغیرها در پایتون استفاده کنیم؟

در پایتون، حاشیه‌نویسی نوع روشی است برای مشخص کردن نوع داده‌ای که انتظار دارید یک متغیر داشته باشد. این ویژگی باعث نمی‌شود که نوع متغیر در زمان اجرا بررسی شود، اما می‌تواند به ابزارهایی مانند چک‌کننده‌های نوع استاتیک، IDEها و لینترها کمک کند تا خطاهای مرتبط با نوع داده را شناسایی کنند.

مزایای حاشیه‌نویسی

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

نکته: حاشیه‌نویسی نوع در زمان اجرا اجباری نیست. پایتون همچنان به صورت پویا عمل می‌کند و اگر نوع دیگری به متغیر بدهید، بدون خطا اجرا می‌شود.

مثال:

# Using type annotations
name: str = "Alice"
age: int = 25
is_student: bool = True

def greeting(name: str) -> str:
    return f"Hello, {name}"

# Static type checkers can use these annotations to detect type errors

در این مثال: ، متغیرهای name، age، و is_student با نوع مورد انتظار خود حاشیه‌نویسی شده‌اند. همچنین، تابع greeting نیز حاشیه‌نویسی نوع برای پارامتر و نوع بازگشتی خود دارد.

توضیح بیشتر:
حاشیه‌نویسی نوع به ما کمک می‌کند تا نوع داده‌ای که قرار است به یک متغیر یا پارامتر اختصاص داده شود، مشخص کنیم. در این مثال، تابع greeting برای ورودی‌ها و خروجی خود نوع داده را تعریف کرده است. این کار باعث می‌شود که کد خواناتر و قابل فهم‌تر باشد، و ابزارهای مختلف مانند IDEها می‌توانند خطاهای مرتبط با نوع را پیش از اجرا شناسایی کنند.

نتیجه‌گیری

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


سوالات متداول


متغیرها در پایتون چیست؟

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

چگونه متغیرها را در پایتون تعریف کنیم؟

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

متغیرهای سراسری و محلی در پایتون چیست؟

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

آیا نوع متغیرها در پایتون می‌تواند تغییر کند؟

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

میزان رضایتمندی
لطفاً میزان رضایت خودتان را از این مطلب با دادن امتیاز اعلام کنید.
[ امتیاز میانگین 5 از 1 نفر ]
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع و مراجع:
geeksforgeeks مجله پی استور

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

13 دیدگاه دربارهٔ «متغیرها در پایتون — انواع و تعریف آن ها»

    1. بله، میشه نوع متغیر دلخواهی ایجاد کرد که فقط مقادیر خاصی را بپذیره . این کار معمولا با استفاده از کلاس‌ها و بررسی مقادیر در داخل متدهای کلاس انجام می‌شه

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

    1. در داخل دستور if, می‌توانید متغیرهای مختلف را با عملگرهای مقایسه‌ای (مثل ==, >, <, !=, و غیره) بررسی کنید. همچنین در صورت نیاز، می‌توانید از دستورات else و elif برای مدیریت حالات مختلف استفاده کنید.



برچسب‌ها:
برنامه نویسی پایتون پایتون


پیمایش به بالا