Odak modu

Python Temel

Tuple

Tuple


  • tuple veri tipi listeler gibi birden çok veri tipini bir arada tutmamızı sağlar.


  • listelerden farklı olarak tuple'lar immutabledır.


  • Mesela bir deniz fenerinin konumunu belirtmek istiyoruz. bunun x ve y koordinat değerleri var (x,y). Deniz fenerini söküp götüremiyoruz, ben bu iki değerin sabit, değiştirilemez olmasını istiyorum. Burada bu iki değeri tutmak için tuple kullanmam mantıklı olabilir.


  • Değişmeyeceğini bildiğim değerleri bir arada tutmak için.


  • tuple'lar (element1,element2...) şeklinde tanımlanır.


  • tuple'lar listeler gibi farklı veri yapılarında elemanlardan oluşabilir. Elemanları tuple bile olabilir.


x = 10
y = 34



konum = (10, 34)
  • Aynı listelerdeki gibi indexleme yapabiliyoruz.
konum[0]


10


konum[:]


(10, 34)
  • Ama değerlerini değiştiremiyoruz.
konum[0] = 100



---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-7-62043221042e> in <module>
----> 1 konum[0] = 100


TypeError: 'tuple' object does not support item assignment


  • Farklı veri tipleri barındırabiliyor.


t = (1,2,3,"a")


t


(1, 2, 3, 'a')


t = ((1,2),3)


t


t[0]



(1, 2)


t[1]



3


t = ([1,2,3],2,(1,2))


t


([1, 2, 3], 2, (1, 2))


t[0][0] = 23



t


([23, 2, 3], 2, (1, 2))


l = [[1,2,3], [10,20]]



l


[[1, 2, 3], [10, 20]]


Elemanların Değerlerini Değiştirmek

  • Diyelim ki x ve y'nin değerlerini değiştirmek istiyorum.
x = 2
y = 3


  • bunu şöyle yapabiliriz.


temp = x
x = y
y = temp


x



3


y



2
  • Ama bunu tuple'lar ile 1 satırda yapabiliriz.
x = 2
y = 3



(x, y) = (y, x)


x
3
y
2
  • parantez koymamıza da gerek yok. 1,2,3,"a"... gibi parantezsiz belirtsek de Python onu tuple olarak görüyor.
1,2,3,4
(1, 2, 3, 4)
a = 1,2,3,4
a
(1, 2, 3, 4)
type(a)
tuple
x = 2
y = 3



x, y = y, x
x
3
y
2
x = 2
y = 3



[x, y] = [y, x]


x
3
y
2


Background Pattern
Birlikte öğrenelim

Sektörde en çok aranan yazılım becerilerini kazan

Yapay zeka desteği, birebir mentörlük saatleri, canlı dersler ve senin için özel hazırlanmış içeriklerle eksiklerini tamamla, düzenli geri bildirimler al ve öğrenme sürecini en verimli hale getir.

Yunus Emre Kabakcı

Patika+ mezunu

Patika+ Fullstack Web Development Bootcamp mezunumuz Yunus Emre,

3 ay içinde Katar’dan aldığı teklif ile, global bir şirket olan Pavo Group’da işe başladı!


“İçerik zenginliği, mentor desteği, ileriye dönük bir network sağlaması ve dünyada en çok tercih edilen frameworkler üzerinden bir eğitim veriyor olması Patika+’ı tercih etmemin temel sebepleri oldu!“

Test

Yorumlar

Yorum yapabilmek için derse kayıt olmalısın!