Di Python de, operator = ji bo danasîna nirxan li guherbaran tê bikar anîn.
a = 100
b = 200
print(a)
# 100
print(b)
# 200
Mîna ku di mînaka li jor de, hûn dikarin li şûna yek di yek carê de nirxan bidin gelek guhêrbaran, ku ev yek hêsan e ji ber ku ji bo nivîsandinê tenê rêzek kodek hêsan hewce dike.
Du rewşên jêrîn têne şirove kirin.
- Gelek nirxan ji gelek guherbaran re destnîşan bikin
- Heman nirx ji gelek guherbaran re destnîşan bikin
Gelek nirxan ji gelek guherbaran re destnîşan bikin
Bi veqetandina guhêrbar û nirxan bi kommasê ve gelek nirx dikarin ji gelek guherbaran re hevdem werin veqetandin.
a, b = 100, 200
print(a)
# 100
print(b)
# 200
Sê an bêtir guhêrbar, her yek ji celebek cûda, têne pejirandin.
a, b, c = 0.1, 100, 'string'
print(a)
# 0.1
print(b)
# 100
print(c)
# string
Ger li milê çepê yek guhêrbar hebe, ew wekî tîrêjê tê destnîşankirin.
a = 100, 200
print(a)
print(type(a))
# (100, 200)
# <class 'tuple'>
Ger hejmara guhêrbarên li milê çepê bi hejmara nirxên li milê rastê re hevber neke, dê xeletiyek ValueError derkeve, lê yên mayî dikarin bi lêkirina stêrkek li guhêrbarê wekî lîsteyek were destnîşan kirin.
# 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'>
Ji bo bêtir agahdarî li ser stêrkan û meriv çawa hêmanên pirjimarek an navnîşê li gelek guhêrbaran veqetîne, li gotara jêrîn binêre.
- TÊKIRIN:Di Python de pirtik û navnîşan pak bikin (berfireh bikin û ji gelek guherbaran re veqetînin).
Heman nirx ji gelek guherbaran re destnîşan bikin
Heman nirx bi karanîna = li pey hev dikare ji gelek guherbaran re were destnîşankirin. Ev ji bo destpêkirina gelek guherbaran bi heman nirxê bikêr e.
a = b = 100
print(a)
# 100
print(b)
# 100
Zêdetirî 3 perçe têne qebûl kirin.
a = b = c = 'string'
print(a)
# string
print(b)
# string
print(c)
# string
Piştî destnîşankirina heman nirxê, nirxek din dikare ji yek ji wan re were veqetandin.
a = 200
print(a)
# 200
print(b)
# 100
Dema ku tiştên guhêrbar wek lîste û cureyên ferhengê veqetînin, li şûna tiştên neguhêrbar (neguhêrbar) ên wekî jimarên tevhejmar, jimareyên xala herikîn, û rêzan baldar bin.
Bikaranîna = li pey hev tê vê wateyê ku hemî guhêrbar nîşanê heman tiştan didin, ji ber vê yekê heke hûn nirxa hêmanek biguhezînin an hêmanek nû lê zêde bikin, dê ya din jî biguhere.
a = b = [0, 1, 2]
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
Heman wekî jêrîn.
b = [0, 1, 2]
a = b
print(a is b)
# True
a[0] = 100
print(a)
# [100, 1, 2]
print(b)
# [100, 1, 2]
Heke hûn dixwazin wan ji hev cuda bişopînin, bi tenê ji her yekê re veqetînin.
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]
Di modula kopîkirinê de bi copy() û deepcopy() re jî awayên çêkirina kopiyên hûr û kûr hene.