Caktimi i shumëfishtë ose i së njëjtës vlerë variablave të shumtë në Python

biznes

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.

Copied title and URL