Python-da = operatoru dəyişənlərə qiymətlər təyin etmək üçün istifadə olunur.
a = 100
b = 200
print(a)
# 100
print(b)
# 200
Yuxarıdakı misalda olduğu kimi, siz eyni anda bir əvəzinə birdən çox dəyişənə qiymətlər təyin edə bilərsiniz, bu da rahatdır, çünki yazmaq üçün yalnız bir sadə kod sətri tələb olunur.
Aşağıdakı iki hal təsvir edilmişdir.
- Çox dəyişənlərə çoxlu qiymətlər təyin edin
- Çox dəyişənlərə eyni dəyəri təyin edin
Çox dəyişənlərə çoxlu qiymətlər təyin edin
Dəyişənləri və dəyərləri vergüllə ayırmaqla birdən çox dəyişənə eyni vaxtda birdən çox dəyər təyin edilə bilər.
a, b = 100, 200
print(a)
# 100
print(b)
# 200
Hər biri fərqli tipdə olan üç və ya daha çox dəyişən məqbuldur.
a, b, c = 0.1, 100, 'string'
print(a)
# 0.1
print(b)
# 100
print(c)
# string
Sol tərəfdə bir dəyişən varsa, o, bir dəst kimi təyin edilir.
a = 100, 200
print(a)
print(type(a))
# (100, 200)
# <class 'tuple'>
Əgər sol tərəfdəki dəyişənlərin sayı sağ tərəfdəki dəyərlərin sayına uyğun gəlmirsə, ValueError xətası yaranacaq, lakin qalanları dəyişənə ulduz işarəsi əlavə etməklə siyahı kimi təyin edilə bilər.
# a, b = 100, 200, 300
# ValueError: too many values to unpack (expected 2)
# a, b, c = 100, 200
# ValueError: not enough values to unpack (expected 3, got 2)
a, *b = 100, 200, 300
print(a)
print(type(a))
# 100
# <class 'int'>
print(b)
print(type(b))
# [200, 300]
# <class 'list'>
*a, b = 100, 200, 300
print(a)
print(type(a))
# [100, 200]
# <class 'list'>
print(b)
print(type(b))
# 300
# <class 'int'>
Ulduz işarələri və bir sıra və ya siyahı elementlərinin çoxsaylı dəyişənlərə təyin edilməsi haqqında ətraflı məlumat üçün aşağıdakı məqaləyə baxın.
- ƏLAQƏLİ:Python-da çubuqları və siyahıları paketdən çıxarın (genişləndirin və çoxlu dəyişənlərə təyin edin).
Çox dəyişənlərə eyni dəyəri təyin edin
Ardıcıl = istifadə etməklə eyni dəyər bir neçə dəyişənə təyin edilə bilər. Bu, birdən çox dəyişəni eyni dəyərə başlamaq üçün faydalıdır.
a = b = 100
print(a)
# 100
print(b)
# 100
3 ədəddən çox qəbul edilir.
a = b = c = 'string'
print(a)
# string
print(b)
# string
print(c)
# string
Eyni qiymət təyin edildikdən sonra onlardan birinə başqa qiymət təyin edilə bilər.
a = 200
print(a)
# 200
print(b)
# 100
Tam ədədlər, üzən nöqtəli ədədlər və sətirlər kimi dəyişməz (dəyişməz) obyektlər deyil, siyahılar və lüğət növləri kimi dəyişkən obyektləri təyin edərkən diqqətli olun.
Ardıcıl = istifadə etmək bütün dəyişənlərin eyni obyektə işarə etməsi deməkdir, beləliklə, bir elementin dəyərini dəyişdirsəniz və ya yeni element əlavə etsəniz, digəri də dəyişəcəkdir.
a = b = [0, 1, 2]
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
Aşağıdakı kimi.
b = [0, 1, 2]
a = b
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
Onları ayrıca emal etmək istəyirsinizsə, sadəcə olaraq hər birinə təyin edin.
after c = []; d = [], c and d are guaranteed to refer to two different, unique, newly created empty lists. (Note that c = d = [] assigns the same object to both c and d.)
3. Data model — Python 3.10.4 Documentation
a = [0, 1, 2]
b = [0, 1, 2]
print(a is b)
# False
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [0, 1, 2]
Kopya modulunda copy() və deepcopy() ilə dayaz və dərin nüsxələrin yaradılması üsulları da mövcuddur.