Middle
Ինչպես են կառուցված փոփոխականները Python-ում?
sobes.tech AI
Պատասխան AI-ից
Փոփոխականները Python-ում չեն տվյալների կոնտեյներներ, այլ ավելի շատ նշաններ կամ անուններ, որոնք հղում են կատարում հիշողության օբյեկտներին:
Երբ դուք նշանակում եք արժեք փոփոխականին, դուք այդ արժեքը չէ պատճենում, այլ հղում եք ստեղծում գոյություն ունեցող կամ ստեղծվող օբյեկտին:
Հիմնական հասկացություններ՝
- Փոփոխականների անուններ: Կարող են պարունակել տառեր (լատինատառ), թվեր և ստորակետ: Չեն կարող սկսվել թվից: Հասկանալի են մեծատառ-փոքրատառ տարբերությամբ:
- Օբյեկտներ: Բոլորը Python-ում օբյեկտներ են: Յուրաքանչյուր օբյեկտ ունի տիպ, արժեք և նույնականացնող (հասցե հիշողության մեջ):
- Հղումներ: Փոփոխականը պահում է հղում օբյեկտի նույնականացմանը:
Օրինակ՝
# Ստեղծում ենք int օբյեկտ արժեքով 100 և հղում դրա նույնականացմանը 'a'-ին
a = 100
# Փոփոխականը 'b' այժմ հղում է նույն օբյեկտին՝ int արժեքով 100
b = a
# Ստեղծում ենք նոր int օբյեկտ արժեքով 200 և հղում դրա նույնականացմանը 'a'-ին
a = 200
Այս օրինակով՝
Երբ a = 200, փոփոխականը a հղում է նոր օբյեկտին՝ 200, իսկ b դեռ հղում է 100-ին:
- Դինամիկ տիպավորում: Փոփոխականի տիպը որոշվում է այն օբյեկտի տիպով, որի վրա հղում է, և կարող է փոխվել ծրագրի գործարկման ընթացքում:
# Փոփոխական `x` հղում է int օբյեկտին
x = 10
# Այժմ `x` հղում է str օբյեկտին
x = "hello"
-
Մաքրման գործընթաց: Երբ օբյեկտին այլ հղումներ չկան, Python-ը ինքնաբերաբար ազատում է հիշողությունը՝ օգտագործելով մաքրման մեխանիզմը:
-
Անփոփոխ (immutable) և փոփոխական (mutable) օբյեկտներ:
- Անփոփոխ: Թվեր, տողեր, տիպեր: Փորձել փոփոխել such օբյեկտը՝ ստեղծվում է նոր օբյեկտ:
- Փոփոխական: Սպասակներ, բառարաններ, հավաքածուներ: Նրանց պարունակությունը կարելի է փոխել առանց նոր օբյեկտ ստեղծելու:
# Անփոփոխ str օբյեկտ
s = "world"
# Ստեղծվում է նոր str օբյեկտ "hello world", `s` հղում է այդ օբյեկտին
s = "hello " + s
# Փոփոխական list օբյեկտ
l = [1, 2, 3]
# Փոփոխվում է առկա list օբյեկտի պարունակությունը
l.append(4)
Այսպիսով՝ Python-ում փոփոխականները հարմար և հզոր գործիքներ են տվյալների աշխատանքի համար՝ հիմնված օբյեկտների հղումների վրա։