Python Giriş — Değişkenler, Veri Tipleri, Operatörler, Kontrol ...
Değişkenler programlama dillerinde verileri tutan yapılardır. Python programlama dilinde değişkenler variable_name = variable_value şeklinde ...
Python Giriş — Değişkenler, Veri Tipleri, Operatörler, Kontrol Yapıları (if, else, elif), Döngüler \| by İrem Sağıroğlu \| Medium

[Open in app](https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com%2Fp%2F45892a0b67c5&%7Efeature=LoOpenInAppButton&%7Echannel=ShowPostUnderUser&source=---two_column_layout_nav----------------------------------)

Sign up

[Sign in](/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2F%40iremsagiroglu%2Fpython-giri%C5%9F-de%C4%9Fi%C5%9Fkenler-veri-tipleri-operat%C3%B6rler-kontrol-yap%C4%B1lar%C4%B1-if-else-elif-d%C3%B6ng%C3%BCler-45892a0b67c5&source=post_page---two_column_layout_nav-----------------------global_nav-----------)

[Homepage](/?source=---two_column_layout_nav----------------------------------)

[Write](/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2Fnew-story&source=---two_column_layout_nav-----------------------new_post_topnav-----------)

Sign up

[Sign in](/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2F%40iremsagiroglu%2Fpython-giri%C5%9F-de%C4%9Fi%C5%9Fkenler-veri-tipleri-operat%C3%B6rler-kontrol-yap%C4%B1lar%C4%B1-if-else-elif-d%C3%B6ng%C3%BCler-45892a0b67c5&source=post_page---two_column_layout_nav-----------------------global_nav-----------)

![](https://miro.medium.com/v2/resize:fill:64:64/1*dmbNkD5D-u45r44go_cf0g.png)

# **Python Giriş — Değişkenler, Veri Tipleri, Operatörler, Kontrol Yapıları (if, else, elif), Döngüler**

[![İrem Sağıroğlu](https://miro.medium.com/v2/resize:fill:88:88/1*tWWm_BNOVbR_g1z9B7XROg.jpeg)](/@iremsagiroglu?source=post_page-----45892a0b67c5--------------------------------)

[İrem Sağıroğlu](/@iremsagiroglu?source=post_page-----45892a0b67c5--------------------------------)

·

[Follow](/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2Fae6d7b7d765b&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40iremsagiroglu%2Fpython-giri%C5%9F-de%C4%9Fi%C5%9Fkenler-veri-tipleri-operat%C3%B6rler-kontrol-yap%C4%B1lar%C4%B1-if-else-elif-d%C3%B6ng%C3%BCler-45892a0b67c5&user=%C4%B0rem+Sa%C4%9F%C4%B1ro%C4%9Flu&userId=ae6d7b7d765b&source=post_page-ae6d7b7d765b----45892a0b67c5---------------------post_header-----------)

7 min read

·

Sep 23, 2022

--

Share

Merhaba, SistersLab’in Toplum Gönüllüleri Vakfı ( [https://www.tog.org.tr/en/](https://www.tog.org.tr/en/)) tarafından desteklenen Women in Tech Academy proje katılımcılarından biriyim.

Proje, 20–28 yaş aralığında beyanı kadın olan bireyleri 3 ay boyunca yazılım eğitimi ve destekleyici eğitimlerle güçlendirerek sektörde iş gücüne katılımını artırmayı hedefliyor.

Projeyle ilgili detaylı bilgiye bu bağlantıdan ulaşabilirsiniz: [https://sisterslab.co/women-in-tech-academy/](https://sisterslab.co/women-in-tech-academy/)

Akademi kapsamında öğrendiğim bilgileri hesabımdan hafta hafta paylaşacağım.

# **Python Nedir?**

İlk yazıma başlarken öncelikle Python’ın kısaca ne olduğundan ve kullanım alanlarından bahsetmek isterim.

Python ilk sürümü 1991 yılında geliştirilen; esas olarak nesne tabanlı programlamayı, belli bir oranda da fonksiyonel programlamayı destekleyen genel amaçlı bir programlama dilidir.

Birçok farklı kullanım alanına sahiptir ve şu şekilde sıralanabilirler:

- Web Geliştirme
- Oyun Geliştirme
- Yapay Zeka ve Makine Öğrenimi
- Görüntü İşleme
- Veri Bilimi
- Sağlık
- Crawling
- Ses Teknolojisi

Python’ın sözel kısmından kısaca bahsettiğimize göre şimdi değişkenlerden söz etmeye başlayabiliriz.

# **Değişkenler**

Değişkenler programlama dillerinde verileri tutan yapılardır.

Python programlama dilinde değişkenler **variable\_name = variable\_value** şeklinde atanır.

```
name = "Deniz"
age = 28
salary = 25000
```

Değişken tanımlaması yaparken birtakım kurallar vardır:

- Değişkenler harf, rakam ve alt çizgi (\_) kombinasyonlarını içermelidir.
- Değişkenler rakamla başlamamalıdır.
- Python programlama dili küçük/büyük harfe duyarlı olduğundan, isimlendirme yaparken dikkat edilmelidir.

Değişken atamasında _person\_name_ veya _personName_ şeklindeki gösterimler yaygın olarak kullanılmaktadır.

Python programlama dilinde değişkenin türünü özellikle belirtmemize gerek yoktur, değişkenin türünü program kendisi tespit eder. Ayrıca diğer programlama dillerinin aksine Python sonradan **değişkenleri değiştirmemize izin verir.**

> Variable değişkenimizin değerini 50 olarak belirledikten sonraki kod satırında aynı değişkene 70 değerini verebiliriz ve sonucu yazdırdığımızda bize yeni değeri gösterecektir.

Python programlama dilinde, değişken adı olarak kullanamayacağımız bazı anahtar kelimeler vardır. Bu anahtar kelimeler program tarafından kullanılmaktadır ve _‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’_ şeklindedir.

# **Veri Tipleri**

Python’da yer alan 4 adet veri tipini ele alacağız.

- **Integer ( _int)_** Tam Sayılar — Virgülsüz

```
age = 27
```

- **Float ( _float)_** Kesirli Sayılar — Virgüllü

```
pi_sayısı = 3.14
```

- **Boolean ( _bool)_** True ya da False

```
isFemale = True
```

- **String ( _str)_**“ “ veya ‘ ‘ arasına yazılarak gösterilen karakterler bütünü

```
language = "Python"
```

Değişkenlere değer atarken tek tek atamak yerine farklı kullanımlar da kullanabiliriz. Örneğin **birçok değişkene aynı değeri atamak** isteyebiliriz.

```
number1 = number2 = number3 = 30
```

Buna ek olarak **sıralı bir şekilde de atama** yapabiliriz. Fakat burada dikkat edilmesi gereken nokta değişkenin sırası ile atama yaptığımız değerin sırasının uygun olmasıdır.

## **type()**

type() komutu değişkenin türünü görmemizi sağlar.

> Biz _variable_ değişkeninin değerini farklı veri tipi şeklinde atadığımızda _type()_ komutunun da çıktısı değişecektir.

# **Değişkenlerde Kapsam**

Bir değişkenin kapsamı, değişkenin kullanıldığı alan ve ona eriştiğimiz yerle ilişkilidir. İki çeşit değişken vardır.

- **Yerel Değişken:** Nereden tanımlarsak oradan erişebildiğimiz, methoda özgü değişkenlerdir.
- **Global Değişken:** Yazdığımız kodun herhangi bir yerinden erişebildiğimiz değişkenlerdir.

## Yerel Değişken

Yerel değişkenle alakalı bir örnek verelim.

Burada değişken bulunamadı hatası aldık, çünkü _salary_ değişkeni yerel bir değişkendir. **Fonksiyonun içinde tanımlanan değişken yalnızca o foksiyona özgüdür.**

## Global Değişken

Global değişken ile yerel değişkenin arasındaki farkı daha rahat anlayabimek için şöyle bir örnek verebiliriz:

Açıklayıcı olması adına adım adım yaptığımız işlemleri açıklayacağım.

1. En başta bir _salary_ değişkeni tanımladık ve buna _20000_ değerini atadık.
2. Ardından getSalary fonksiyonu yaratarak fonksiyonun içerisinde yeni bir _salary_ değişkeni tanımladık ve buna da _10000_ değerini atadık.
3. Bir adet daha _getSalary1_ adında bir fonksiyon tanımlayıp çıktısının yine salary olacağını belirttik.
4. _getSalary_ ve _getSalary1_ değerlerini çağırdığımızda _getSalary_ için sonuç fonksiyonun içerisinde tanımlanan salary değeri olan _10000_ çıktı. Bu yerel bir değişkendir. _getSalary1_ ise _20000_ sonucunu vermiştir çünkü fonksiyonun içinde bir değer belirtilmemiştir ve global salary değişkeninin değeri 20000'dir.

Bu gösteriminin yanı sıra global değişkenleri fonksiyonun içerisindeyken de başına **global** yazarak belirtebiliriz.

> **Python’ın kodları satır satır okuduğunu hatırlatmak isterim.**

Kodu incelediğimizde _getSalary1_ fonksiyonunu çağırıldıktan sonra _getSalary_ fonksiyonunun çağırıldığını görüyoruz. En başta _salary_ değişkeni _10000_ olarak tanımlanmıştı ve bu **global** bir değişkendi. Bu sebeple sonuç _10000_ geldi. Fakat ardından tanımlanan getSalary fonksiyonunda başına **global** yazılarak _salary_ fonksiyonunun değeri _15000_ olarak değiştirildi ve bu satırdan sonra artık _salary_ değişkeninin global değeri _15000_ olarak atandı.

# Operatörler

## Aritmetik Operatörler

Python’da aritmetik operatörleri matematiksel işlemler yapmak için kullanırız. Bu operatörlerle yapılan işlemlerin sonuçları **float** ya da **integers** şeklinde çıkar.

- \+ (toplama)
- \- (çıkarma)
- \\* (çarpma)
- / (float bölme)
- // (int bölme -bölme işlemi yapıldıktan sonra “.”dan sonraki kısmı almaz)
- % (mod alma)
- \\*\\* (üst alma)

## Karşılaştıma (İlişkisel) Operatörleri

Python’da karşılaştıma operatörlerini iki değişkenin aldığı değeri karşılaştırmak için kullanırız. Bu operatörlerin kullanımında sonuçlar **boolean** şeklinde çıkar.

- < (küçüktür)
- \> (büyüktür)
- <= (küçük eşittir)
- >= (büyük eşittir)
- == (eşittir)
- != (eşit değildir)

## Atama Operatörleri

Python’da değişkenlere veri ataması yaparken atama operatörlerini kullanırız. Bu operatörlerle yapılan işlemlerin sonuçları **float** ya da **integers** şeklinde çıkar. Atama operatörleri şu şekildedir:

- =
- +=
- -=
- \*=
- /=
- //=
- %=
- \*\*=

Bir örnekle hepsini açıklamak gerekirse:

> Not: Python’da # işaretini tek satıra yorum yazarken kullanıyoruz. Yorum yazarken ya ayrı satırda ya da kodu yazdıktan sonra kullanmalısınız çünkü yorumu kodun başına yazarsak # işaretinden sonraki her şeyi yorum olarak algılayacağından kodu okumaz.
>
> Buna ek olarak eğer birkaç kod satırında yorum yazacaksak yazmaya başlamadan önceki ve yazmayı bitirdikten sonraki satırlara üç adet kesme işareti (‘’’) koymalıyız.

# Tip Dönüşümleri

Python’da veri tiplerini birbirinine dönüştürebiliyoruz.

Bu veriyi dönüştürmek istediğimizde dönüştüreceğimiz değişkeni değiştirmek istediğimiz veri tipinin parantezine almamız gerekmektedir.

# print() ve format() Metotları

**print()** metotunu bu vakte çok defa kullandık. İçerisinde bulunan değeri yazdırmak için kullandığımız bir metottur.

**format()** metotunu ise _.format_ ve _süslü parantez_ **{}** kullanılarak belirtilmektedir.

> Eğer birden fazla değişken varsa sırası ile yazılır. Sıranın doğru olması önemlidir.

> Bu gösterimin dışında farklı gösterimleri de vardır. Bu metotu daha çok aşağıdaki örnekte olduğu gibi kullanacağız.

- Bunlara ek olarak kullanıcıdan değişken değeri almak için **input()** metotu kullanılmaktadır.

# Kontrol Yapıları

Python’da **if**, **else** ve **elif** kontrol yapıları kullanılmaktadır.

- Önce _if_ kullanılır. Eğer _if_ ile test ettiğimiz şey doğruysa _if_ çıktısı alınır ve sonrasına bakılmaz.
- _if_’in doğru olmadığı durumlarda _elif_’i test etmesini isteyebiliriz. Birden fazla _elif_ olabilir. Eğer elif doğru ise _elif_’in çıktısı alınır ve sonrasına bakılmaz.
- Son olarak _else_ kullanılır. Burada test yoktur. Eğer _if_ ve _elif_ yanlışsa direkt else çıktısı alınır.

Yukarıda tek başına kullanılan bir if yapısı gördük. Eğer “if y < x” deseydik sonuç alamayacaktık.

Daha iyi anlaşılması için satır satır giderek anlatım yapalım. Öncelikle if yapısını test etmemiz gerekiyor. y sayısı x sayısından daha büyük değil. Bu yanlış bir ifade olduğu için if yapısını geçerek, else yapısını test edeceğiz. else, y ifadesi x ifadesine eşit olduğundan doğru ve bu koşul doğru olduğunda yazdırmasını istediğimiz “ _y değeri x değerine eşittir”_ çıktısını aldık.

Bu örnekte ise if ve else yapıları yanlış olduğundan herhangi bir test yapmadan direkt else çıktısını sonuç olarak aldık.

# Döngüler

Python’da dögüler bir kod bloğunu birden fazla kez çalıştırmamızı sağlamaktadır.

İki çeşit döngüyü ele alacağız:

- while
- for

Öncelikle range() konusunu ele alalım.

## range()

**range(start\_value, end\_value, step)** şeklindeyazılmaktadır. Ve bir aralık belirtmek için kullanılmaktadır.

- start\_value : Başlangıç sayımızı belirtmektedir. Eğer bir değer yazmazsak default olarak 0 kabul edilmektedir.
- end\_value: Bitiş sayımızı berlitmektedir. Ve yazan sayıya kadar olanı ifade etmektedir. Yani eğer end\_value değeri 9 ise, 8'e kadar olan sayılar ele alınacaktır.
- step: Adımı belirtmektedir, işlemi kaçar kaçar yapacağımızı gösterir. Eğer bir değer yazmazsak default olarak 1 kabul edilir.

```
range(5)  #range(0, 5, 1) ile aynı şeyrange(2, 34, 3)range(100, 1, -5)   #geri sayım için step - ile yazılmalı.
```

Yukarıdaki kod bloğunda da görüldüğü gibi eğer geri geri gitmek istiyorsak step negatif değer olmalı, start\_value büyük ve end\_value küçük değer olmalıdır.

## for Döngüsü

for döngüsü “for i in range()” şeklinde kullanılmaktadır. Range’de verilen aralıktaki değerler en baştan başlanarak teker teker i yerine konmakta ve işlem yapılmaktadır. Range’in son değerine gelip işlem yapıldığında döngü sona ermektedir.

Yukarıdaki kod bloğunda görüldüğü gibi biz range(5) yazdığımızda bu ifadenin karşılığı aslında range(0, 5, 1)dir. Ve işlemleri ona uygun olacak şekilde yapılmıştır. Şimdi step adımı değiştirerek bir örnek yapalım.

Bu örnekte de step 3 olduğundan 2'den başlayıp 33'e kadar 3'erli şekilde sayılmıştır.

Bu konunun içine dahil edebileceğimiz **break** ve **continue** anahtar kelimelerimiz vardır.

- **break** komutu istenilen koşul sağlandığında döngüyü kırarak çıkar ve döngü sona erer.

- **continue** komutu ise istenilen koşul sağlandığında o elemanı dahil etmez ve sonraki elemana geçerek işlem yapar.

## while Döngüsü

while döngüsünde belirtilen koşul sağlandığı müddetçe döngü tekrar eder. if mantığına benziyor fakat burada bir farklılık olarak koşul sağlandığı müddetçe işlemi yapmaya devam ediyor.

Yukarıdaki kod bloğunda öncelikle _count_ diye bir değişken tanımlayıp ona değeini verdik. Sonrasında _while_ kullarak _count_ değeri 5‘ten küçük olduğu sürece _count_ değerini bas, sonrasında ise _count_ değerine 1 ekleyerek döndüyü devam ettir komutunu verdik. En son adımda _count_ değişkeni artık 5‘e eşit olduğunda while çalışmıyor ve bir sonraki adıma geçerek ekrana “Döngü tamamlandı.” yazısını basıyor.

Eğer while içerisinde count değişkenine +1 eklemeseydik sonsuz döngüye girecekti. Çünkü count değeri 1 olacaktı ve döngüye sürekli 1 değeri girip, yine 1 değeri çıkacaktı.

```
#sonsuz döngücount = 1
while count < 5:print(count)  #çünkü sürekli 1 girip 1 çıkıyor.
```

“Python Giriş — Değişkenler, Veri Tipleri, Operatörler, Kontrol Yapıları (if, else, elif), Döngüler” yazımızın sonuna geldik.

Kontrol yapıları ve döngüler konusunda örnek sorulara [https://github.com/iremsagiroglu/python/blob/main/D%C3%B6ng%C3%BCler%C3%96rnekSorular.ipynb](https://github.com/iremsagiroglu/python/blob/main/D%C3%B6ng%C3%BCler%C3%96rnekSorular.ipynb) adresinden ulaşabilirsiniz.

Sonraki yazımızda görüşmek üzere.

--

--

[![İrem Sağıroğlu](https://miro.medium.com/v2/resize:fill:144:144/1*tWWm_BNOVbR_g1z9B7XROg.jpeg)](/@iremsagiroglu?source=post_page-----45892a0b67c5--------------------------------)

Follow

[**Written by İrem Sağıroğlu**](/@iremsagiroglu?source=post_page-----45892a0b67c5--------------------------------)

[40 Followers](/@iremsagiroglu/followers?source=post_page-----45892a0b67c5--------------------------------)

Software Developer \| Psychologist

Follow

[Help](https://help.medium.com/hc/en-us?source=post_page-----45892a0b67c5--------------------------------)

[Status](https://medium.statuspage.io/?source=post_page-----45892a0b67c5--------------------------------)

[About](/about?autoplay=1&source=post_page-----45892a0b67c5--------------------------------)

[Careers](/jobs-at-medium/work-at-medium-959d1a85284e?source=post_page-----45892a0b67c5--------------------------------)

[Press](pressinquiries@medium.com?source=post_page-----45892a0b67c5--------------------------------)

[Blog](https://blog.medium.com/?source=post_page-----45892a0b67c5--------------------------------)

[Privacy](https://policy.medium.com/medium-privacy-policy-f03bf92035c9?source=post_page-----45892a0b67c5--------------------------------)

[Terms](https://policy.medium.com/medium-terms-of-service-9db0094a1e0f?source=post_page-----45892a0b67c5--------------------------------)

[Text to speech](https://speechify.com/medium?source=post_page-----45892a0b67c5--------------------------------)

[Teams](/business?source=post_page-----45892a0b67c5--------------------------------)