Ədədlər və onluq kəsrlərdə olduğu kimi mətnlər də toplana bilərlər.Bu əməliyyata birləşdirmə(concatenation) əməliyyatı deyilir.Bu əməliyyat iki və daha çox yazı arasında aparıla bilər.Toplama zamanı mətnlərin bir və ya iki dırnaqla yazılmasının heç bir fərqi yoxdur:
>>>"Pomidor"+'yumurta'
'Pomidoryumurta'
>>>print("Birinci mətn"+","+"ikinci ikinci mətn")
Birinci mətn,ikinci mətn
Daxil etdiyiniz ədəd olsa belə mətn kimi daxil edildiyindən mətn sayılacaqdır.Mətnlə ədədi toplamaq xəta yaradır.Bu səbəbdən də,mətn kimi daxil etdiyiniz ədədi belə ədədlə toplaya bilməzsiniz,çünki ikisinin tipi başqa olur:
>>>"2"+"2"
'22'
>>>1+'2'+3+'4'
Traceback(most recent call last):
File "
TypeError:unsuportted operand type(s) for +: 'int' and 'str'
Gördüyünüz kimi xətanın son cümləsi TypeError:unsuportted operand type(s) for +: 'int' and 'str' - Xətanın tipi:Dəstəklənməmiş operand tipi + üçün mənasını verir və xətanı izah edir.Buna görə də gələcək dərslərdə xətanın sadəcə son cümləsini yazacağıq.
Mətnlər bundan başqa həm də vurma əməliyyatında istifadə edilə bilər.Vurma əməliyyatında mətnlər ədədlərlə vurula bilər və nəticəsi mətnin vurulduğu ədəd qədər təkrarı olur.Mətn və ədədin sırasının heç bir fərqi yoxdur,lakin adətən birinci mətnlər yazılır:
>>>print("konfet"*3)
konfetkonfetkonfet
>>>4*'2'
'2222'
Mətnlər ədədlərdən başqa heç nə ilə vurula bilmirlər,hətta onluq kəsrlərin də rəqəm olmasına baxmayaraq onluq kəsrlərlə də vurula bilmirlər:
>>>'17'*'87'
TypeError:can't multiply sequence by non-int of type 'str'
'Python'*5.0
TypeError:can't mutliply sequence by non-int of type float
Birinci kodda hər iki rəqəm mətn formatında verildiyi üçün vurula bilmir,yəni mətn mətnlə vurula bilməz!İkinci kodda isə onluq kəsr mətnlə vurula bilməz!
Yorumlar
Yorum Gönder