Python input() ile Kullanıcıdan Veri Alma
Python’da input() fonksiyonu ile kullanıcıdan veri almayı ve bu verileri doğru veri tiplerine dönüştürmeyi öğrenin.
Python'da kullanıcıdan veri almak, programlarınızın daha interaktif olmasını sağlayan temel bir işlemdir. Bu işlem için kullanılan ana fonksiyon **`input()`** fonksiyonudur.
### `input()` Fonksiyonu Nedir ve Ne İşe Yarar?
`input()` fonksiyonu, Python programınız çalışırken kullanıcıdan konsol (terminal) üzerinden metin tabanlı veri almanızı sağlar. Kullanıcı bir değer girip Enter tuşuna bastığında, bu değer programınıza bir **string (metin)** olarak döner.
#### Temel Kullanım
`input()` fonksiyonu genellikle tek bir argüman alır: kullanıcıya gösterilecek bir **istek mesajı (prompt)**. Bu mesaj, kullanıcıya ne tür bir giriş beklendiğini açıklar.
**Sözdizimi:**
```python
degisken_adi = input("İstek mesajı burada yazar: ")
```
**Örnek 1: Basit Kullanım**
```python
# Kullanıcıdan isim almak için
ad = input("Adınız nedir? ")
# Alınan ismi ekrana yazdırma
print("Merhaba,", ad)
# Çıktı örneği (kullanıcı 'Ayşe' girerse):
# Adınız nedir? Ayşe
# Merhaba, Ayşe
```
#### `input()` Fonksiyonunun Dönüş Değeri: Her Zaman String!
En önemli noktalardan biri, `input()` fonksiyonunun kullanıcıdan aldığı veriyi **her zaman bir string (metin)** olarak döndürmesidir. Sayı girseniz bile, Python bunu metin olarak algılar.
**Örnek 2: Dönüş Değerinin Tipi**
```python
sayi_str = input("Bir sayı girin: ")
print("Girdiğiniz değerin tipi:", type(sayi_str))
# Çıktı örneği (kullanıcı '123' girerse):
# Bir sayı girin: 123
# Girdiğiniz değerin tipi: <class 'str'>
```
Gördüğünüz gibi, `123` bir sayı olmasına rağmen `input()` onu `<class 'str'>` (string) olarak kabul etti.
#### Veri Tipi Dönüşümü (Type Casting)
Eğer kullanıcıdan sayısal bir değer (tam sayı veya ondalıklı sayı) bekliyorsanız ve bu değerlerle matematiksel işlemler yapmak istiyorsanız, `input()`'tan gelen string'i uygun sayısal türe dönüştürmeniz gerekir. Bunun için `int()` (tam sayı için) veya `float()` (ondalıklı sayı için) fonksiyonlarını kullanırız.
**1. Tam Sayıya Dönüştürme (`int()`):**
```python
yas_str = input("Yaşınız kaç? ")
yas_int = int(yas_str) # String'i tam sayıya dönüştürme
print("Gelecek yıl", yas_int + 1, "yaşında olacaksınız.")
# Çıktı örneği (kullanıcı '30' girerse):
# Yaşınız kaç? 30
# Gelecek yıl 31 yaşında olacaksınız.
```
Eğer `int()` dönüşümü yapmasaydık ve `yas_str + 1` yazmaya çalışsaydık, Python bir hata verirdi çünkü bir metinle bir sayıyı doğrudan toplayamazsınız.
**2. Ondalıklı Sayıya Dönüştürme (`float()`):**
```python
boy_str = input("Boyunuzu metre cinsinden girin (örn: 1.75): ")
boy_float = float(boy_str) # String'i ondalıklı sayıya dönüştürme
kilo_str = input("Kilonuzu kilogram cinsinden girin: ")
kilo_float = float(kilo_str)
bmi = kilo_float / (boy_float ** 2)
print("Vücut Kitle İndeksiniz (BMI):", round(bmi, 2))
# Çıktı örneği (kullanıcı '1.75' ve '70' girerse):
# Boyunuzu metre cinsinden girin (örn: 1.75): 1.75
# Kilonuzu kilogram cinsinden girin: 70
# Vücut Kitle İndeksiniz (BMI): 22.86
```
#### Hata Yönetimi (Önemli Not!)
Kullanıcı, sayı beklediğiniz bir yerde metin girerse (örneğin, yaş sorulduğunda "otuz" yazarsa), `int()` veya `float()` fonksiyonları `ValueError` hatası fırlatır ve programınız durur. Bu durumu engellemek ve daha kullanıcı dostu programlar yazmak için **`try-except` blokları** kullanmak en iyi pratiktir.
```python
try:
sayi1 = float(input("İlk sayıyı girin: "))
sayi2 = float(input("İkinci sayıyı girin: "))
toplam = sayi1 + sayi2
print("Toplam:", toplam)
except ValueError:
print("Hata: Geçersiz sayı girişi yaptınız. Lütfen sadece sayısal değerler girin.")
# Çıktı örneği (kullanıcı ilk sayıya 'beş' girerse):
# İlk sayıyı girin: beş
# Hata: Geçersiz sayı girişi yaptınız. Lütfen sadece sayısal değerler girin.
```
### Özetle:
* **`input()`** fonksiyonu kullanıcıdan metin girişi almak için kullanılır.
* Her zaman bir **string (metin)** döndürür.
* İstek mesajı (prompt) ile kullanıcıya ne beklenildiğini belirtebilirsiniz.
* Sayısal işlemler yapmak istediğinizde, `input()`'tan gelen string değeri `int()` veya `float()` ile uygun sayısal türe **dönüştürmeniz (type casting)** gerekir.
* Hatalı veri girişlerini yönetmek için `try-except` bloklarını kullanmayı unutmayın.
`input()` fonksiyonu, Python programlarınızın dış dünyayla etkileşim kurmasını sağlayan ilk ve en önemli adımdır!
Son Paylaşımlar
-
Python Temelleri Genel Tekrar
14:39:24 - 13/12/2025 -
Python Performans İpuçları
14:38:59 - 13/12/2025 -
Python’da Temiz Kod Yazma
14:38:28 - 13/12/2025 -
Python Mini Proje: Sayı Tahmin Oyunu
14:37:58 - 13/12/2025 -
Python Mini Proje: Hesap Makinesi
14:37:31 - 13/12/2025