# # Python Veri Tipleri

Bir önceki dersimizde değişkenlerin ne olduğunu ve nasıl oluşturabileceğimizi öğrendik. Şimdi ise Python programlama dillerinde oluşturduğumuz değişkenlerin hangi tiplerde olabileceklerini göreceğiz.

## 1. Veri Tipi Çeşitleri

Programlamada kullanacağımız verinin tipi çok önemlidir. Çünkü örnek olarak bir muhasebe programında ondalık sayılar kullanmanız gerekirken bunun yerine sadece tam sayılar kullanırsanız büyük sorunlar yaşarsınız. Bunun için kullanabileceğiniz veri tiplerini en başta öğrenmeniz çok önemlidir. Kullanabileceğiniz veri tipleri şunlardır;

* **Metin tipleri:** `str`
* **Sayısal tipler:** `int` , `float` , `complex`
* **Dizi tipleri:** `list` , `tuple` , `range`
* **Adresleme tipleri:** `dict`
* **Küme tipleri:** `set` , `frozenset`
* **Mantıksal tipler:** `bool`
* **Binary tipler:** `bytes` , `bytearray` , `memoryview`

Aşağıdaki tabloda her bir veri tipe ait değişkeni nasıl oluşturacağımızı ve bu veri tiplerine ait örnekleri görebilirsiniz.

| Örnek                                   | Veri Tipi  |
| --------------------------------------- | ---------- |
| x = "Merhaba Dünya"                     | str        |
| x = 20                                  | int        |
| x = 20.5                                | float      |
| x = 1j                                  | complex    |
| x = \["elma", "muz", "çilek"]           | list       |
| x = ("elma", "muz", "çilek")            | tuple      |
| x = range(6)                            | range      |
| x = {"isim" : "Yunus", "yas" : 36}      | dict       |
| x = {"elma", "muz", "çilek"}            | set        |
| x = frozenset({"elma", "muz", "çilek"}) | frozenset  |
| x = True                                | bool       |
| x = b"Merhaba"                          | bytes      |
| x = bytearray(5)                        | bytearray  |
| x = memoryview(bytes(5))                | memoryview |

## 2. Veri Tipini Belirterek Değişken Oluşturma

Değişkenler dersinde anlattığımız üzere Python programlama dilinde bir değişken oluştururken o değişkenin tipini belirtecek bir terim kullanmanıza gerek yoktur. Python, oluşturduğunuz değişkene atayacağınız değer üzerinden otomatik olarak o değişkenin tipini algılayacaktır.

```python
a = 5      #Sayısal tip olan (int)
b = "5"    #Metin tipi olan (str)

print(type(a))    # <class 'int'>
print(type(b))    # <class 'str'>
```

Örnek kodda gördüğünüz gibi oluşturduğumuz `a` ve `b` değişkeninin sayı mı yoksa metin mi olduğunu Python otomatik olarak tespit etti ve tipini atadı. Fakat siz isterseniz oluşturacağınız değişkenin tipini kendiniz belirleyebilirsiniz. Bunun için aşağıdaki tabloyu inceleyebilirsiniz.

| Örnek                                   | Veri Tipi  |
| --------------------------------------- | ---------- |
| x = str("Merhaba Dünya")                | str        |
| x = int(20)                             | int        |
| x = float(20.5)                         | float      |
| x = complex(1j)                         | complex    |
| x = list(("elma", "muz", "çilek"))      | list       |
| x = tuple(("elma", "muz", "çilek"))     | tuple      |
| x = range(6)                            | range      |
| x = dict(isim="John", yas=36)           | dict       |
| x = set(("elma", "muz", "çilek"))       | set        |
| x = frozenset(("elma", "muz", "çilek")) | frozenset  |
| x = bool(5)                             | bool       |
| x = bytes(5)                            | bytes      |
| x = bytearray(5)                        | bytearray  |
| x = memoryview(bytes(5))                | memoryview |

{% hint style="info" %}
Elinizdeki bir değişkenin veri tipini öğrenebilmek için **type()** fonksiyonunu kullanabilirsiniz.
{% endhint %}

## 3. Veri Tipleri Arası Dönüşüm

Elinizde mevcut olan bir değişkenin tipini değiştirmek istediğinizde, örneğin **int** tipindeki bir sayıyı **float** tipine çevirmek için yukarıda yer alan örnekleri kullanabilirsiniz. Artı olarak şu örneği inceleyebilirsiniz;

```python
a = 5

print(a)          # 5
print(type(a))    # <class 'int'>

a = float(a)

print(a)          # 5.0
print(type(a))    # <class 'float'>
```

Aynı şekilde **int** tipindeki bir sayıyı string(metin) türündeki **str** tipine çevirmek aşağıdaki örneği inceleyebilirsiniz;

```python
a = 5

print(type(a))    # <class 'int'>

a = str(a)

print(type(a))    # <class 'str'>
```

Yukarıda veri tiplerine ait örnekleri gördük. Bundan sonraki derslerimizde her bir veri tipini tek tek detaylıca inceleyeceğiz.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://derslik.kerteriz.net/python-dersleri/temel-dersler/python-veri-tipleri.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
