Tuples, ku di Python-ê de hêmanên rêzê yên neguhêrbar (neguhêrbar) in.
Dema ku bi hêmanek yek an lûtkeyên vala çêdibin divê baldar were girtin.
Agahiyên jêrîn li vir têne diyar kirin.
- Bi 1 hêmanan ve zêde dibe
- Pêlên dorê yên piralî dikarin bêne derxistin.
- Tîpa vala
- Tuples di argumanên fonksiyonê de
Bi 1 hêmanan ve zêde dibe
Ger hûn hewl bidin ku bi yek hêmanek kulmek çêkin û di hundurê kelûpelên dor () de tenê yek tiştan binivîsin, dê kemberên dor () werin paşguh kirin û bêne pêvajo kirin û wekî qertaf neyê hesibandin.
single_tuple_error = (0)
print(single_tuple_error)
print(type(single_tuple_error))
# 0
# <class 'int'>
Ji bo afirandina qertafek bi yek hêmanê, kommayek paşverû hewce ye.
single_tuple = (0, )
print(single_tuple)
print(type(single_tuple))
# (0,)
# <class 'tuple'>
Mînakî, dema ku operatora + bikar bînin ji bo girêdana pirjimaran, bala xwe bidin ku heke hûn hewl bidin ku hêmanek lê zêde bikin û komoyek ji bîr bikin, hûn ê xeletiyek bibînin.
# print((0, 1, 2) + (3))
# TypeError: can only concatenate tuple (not "int") to tuple
print((0, 1, 2) + (3, ))
# (0, 1, 2, 3)
Pêlên dorê yên piralî dikarin bêne derxistin.
Sedema ku kulmek bi yek hêmanekê pêdivî bi kommayê heye ev e ku jimareyek ne nirxek e ku di nav kemberên dor () de hatî girtin, lê nirxek e ku bi kommayê veqetandî ye.
Ew komma ye ku qertafê çêdike, ne kelûpelên dor.
Tuples — Built-in Types — Python 3.10.4 Documentation
Her çend kelûpelên dor () jê bên derxistin jî, ew wekî tîrêjê tê hilanîn.
t = 0, 1, 2
print(t)
print(type(t))
# (0, 1, 2)
# <class 'tuple'>
Bala xwe bidinê ku kommayek nepêwist piştî tiştekî wekî qertaf tê hesibandin.
t_ = 0,
print(t_)
print(type(t_))
# (0,)
# <class 'tuple'>
Tîpa vala
Wekî ku li jor hatî behs kirin, kemberên dor () dikarin dema ku tupleyek temsîl dikin ji holê rabin, lê dema ku qertafek vala tê çêkirin hewce ne.
Cihek an komek tenê dê bibe sedema Çewtiya Hevoksaziyê.
empty_tuple = ()
print(empty_tuple)
print(type(empty_tuple))
# ()
# <class 'tuple'>
# empty_tuple_error =
# SyntaxError: invalid syntax
# empty_tuple_error = ,
# SyntaxError: invalid syntax
# empty_tuple_error = (,)
# SyntaxError: invalid syntax
Tîpên vala jî dikarin ji hêla tuple() ve bê arguman werin çêkirin.
empty_tuple = tuple()
print(empty_tuple)
print(type(empty_tuple))
# ()
# <class 'tuple'>
Tuples di argumanên fonksiyonê de
Tewra dema ku nezelaliyek hevoksazî hebe jî pêlên piralî () hewce ne.
Argumanên fonksîyonê bi koman têne veqetandin, lê di vê rewşê de, pêdivî ye ku bi eşkereyî nîşan bide ka fonksiyon bi hebûn an nebûna kelûpelên dor ().
Bêyî parantezê (), her nirx ji her argumana re derbas dibe; bi parantezê (), her nirxek ji argumanekê re wekî pirjimar tê derbas kirin.
def example(a, b):
print(a, type(a))
print(b, type(b))
example(0, 1)
# 0 <class 'int'>
# 1 <class 'int'>
# example((0, 1))
# TypeError: example() missing 1 required positional argument: 'b'
example((0, 1), 2)
# (0, 1) <class 'tuple'>
# 2 <class 'int'>
Ger tîp bi stêrkek * were nîşankirin, hêmanên tîpê dikarin werin berfireh kirin û wekî arguman werin derbas kirin.
example(*(0, 1))
# 0 <class 'int'>
# 1 <class 'int'>
Ji bo bêtir agahdarî, li gotara jêrîn binêrin.