Në Python, operatori = përdoret për t’i caktuar vlerat variablave.
a = 100
b = 200
print(a)
# 100
print(b)
# 200
Ashtu si në shembullin e mësipërm, ju mund t’u caktoni vlera variablave të shumtë në të njëjtën kohë në vend të një në një kohë, gjë që është e përshtatshme sepse kërkon vetëm një rresht të thjeshtë kodi për të shkruar.
Janë përshkruar dy rastet e mëposhtme.
- Caktoni vlera të shumta për variabla të shumta
- Cakto të njëjtën vlerë për variabla të shumta
Caktoni vlera të shumta për variabla të shumta
Vlerat e shumta mund t’u caktohen variablave të shumtë njëkohësisht duke i ndarë variablat dhe vlerat me presje.
a, b = 100, 200
print(a)
# 100
print(b)
# 200
Tre ose më shumë variabla, secila e një lloji të ndryshëm, janë të pranueshme.
a, b, c = 0.1, 100, 'string'
print(a)
# 0.1
print(b)
# 100
print(c)
# string
Nëse ka një ndryshore në anën e majtë, ajo caktohet si një tufë.
a = 100, 200
print(a)
print(type(a))
# (100, 200)
# <class 'tuple'>
Nëse numri i variablave në anën e majtë nuk përputhet me numrin e vlerave në anën e djathtë, do të rezultojë një gabim ValueError, por pjesa tjetër mund të caktohet si një listë duke shtuar një yll në variabël.
# 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'>
Për më shumë informacion rreth yjeve dhe si t’i caktoni elementet e një tupleje ose liste në ndryshore të shumta, shihni artikullin vijues.
Cakto të njëjtën vlerë për variabla të shumta
E njëjta vlerë mund t’u caktohet shumë variablave duke përdorur = në mënyrë të njëpasnjëshme. Kjo është e dobishme për inicializimin e variablave të shumtë në të njëjtën vlerë.
a = b = 100
print(a)
# 100
print(b)
# 100
Më shumë se 3 copë janë të pranueshme.
a = b = c = 'string'
print(a)
# string
print(b)
# string
print(c)
# string
Pas caktimit të së njëjtës vlerë, njërit prej tyre mund t’i caktohet një vlerë tjetër.
a = 200
print(a)
# 200
print(b)
# 100
Kini kujdes kur caktoni objekte të ndryshueshme si listat dhe llojet e fjalorëve, në vend të objekteve të pandryshueshme (të pandryshueshme) si numrat e plotë, numrat me pikë lundruese dhe vargjet.
Përdorimi i = në mënyrë të njëpasnjëshme do të thotë që të gjitha variablat tregojnë në të njëjtin objekt, kështu që nëse ndryshoni vlerën e një elementi ose shtoni një element të ri, do të ndryshojë edhe tjetri.
a = b = [0, 1, 2]
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
Njësoj si më poshtë.
b = [0, 1, 2]
a = b
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
Nëse dëshironi t’i përpunoni ato veç e veç, thjesht caktojini secilit.
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]
Ekzistojnë gjithashtu metoda për të gjeneruar kopje të cekëta dhe të thella me copy() dhe deepcopy() në modulin e kopjimit.