Python da consoldan kullanıcıdan bilgi alma gereksinimi duyabilirsiniz. Bu gibi durumlarda input() Fonksiyonu kullanılmaktadır. Bu fonsiyon yazıldıktan sonra geriye girlen değeri dönderir. Bu değeri almak içi bir değiken tanımlamanız gerekmektedir.
Öncelikle bir kullanıcının iletişim bilgilerini almanız gerektiğini ve onu ekrana aşağıdaki gibi bastığınızı varsayalım
1 2 3 4 5 6 7 8 9 10 11 | yazarBilgi=""" Çağlar Bostancı info@caglarbostanci.com.tr 5439571508 """ print(yazarBilgi) Çağlar Bostancı info@caglarbostanci.com.tr 5439571508 |
Şimdi ekran bastığımız bu bilgileri kullanıcının girmesini isteyelim.
1 2 3 4 5 | kullaniciAdi=input("Adınız Soyadınız?\n") mailAdresi=input("e-Posta adresiniz?\n") telefonNumaranız=input("Telefon\n") print(kullaniciAdi,mailAdresi,telefonNumaranız,sep="\n") |
Konsoldan size sorular geldikçe imleç bir alt sekmeye inecek ve siz orada ilgili verileri gireceksiniz. Bu sayede çıktı aşağıdaki gibi olacaktır.
1 2 3 4 5 6 7 8 9 | Adınız Soyadınız? Çağlar BOSTANCI e-Posta adresiniz? info@caglarbostanci.com.tr Telefon 05439571508 Çağlar BOSTANCI info@caglarbostanci.com.tr 05439571508 |
Şimdi ise ekrandan girilen iki sayıyı alıp bunların çarpımını veren bir işlem yapalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #python.py sayi1=input("Birinci Sayıyı Giriniz") sayi2=input("İkinci sayıyı giriniz") toplam=int(sayi1)*int(sayi2) print(sayi1,"ile",sayi2,"'nin toplamı => ",toplam) #Koları çalıştırınca Birinci Sayıyı Giriniz 5 İkinci sayıyı giriniz 6 5 ile 6 'nin toplamı => 30 |
int() Operatorü
Python’da konsoldan girilen veriler string olarak alınmaktadır. Matematiksel işlemler yapabilmek için gelen değerleri int() fonksiyonu ile tam sayı haline getirmekteyiz.
1 2 3 4 5 6 7 8 9 10 11 | sayi1=input("Lütfen birinci sayıyı giriniz \n") sayi2=input("İkinci sayıyı giriniz.\n") print("İşlemin sonucu :" ,int(sayi1)*int(sayi2)) ###################Ekran Çıktısı ########################### #Lütfen birinci sayıyı giriniz #4 #İkinci sayıyı giriniz. #5 #İşlemin sonucu : 20 ###################Ekran Çıktısı ########################### |
Python type() Kullanımı
Öncelikle bilmemiz gereken Python’da değişkenlerin tipini type() fonksiyonu ile öğrenmekteyiz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | veriInt=40 print("Veri deger : ",veriInt," veri Type : ",type(veriInt)) veriStr="Merhaba Python" print("Veri değer : ",veriStr," veri Type : ",type(veriStr)) veriFloat=3.5 print("Veri deger: ",veriFloat," veri Type : ",type(veriFloat)) veriComp=complex(234) print("Veri deger : ",veriComp," veri Type : ",type(veriComp)) ###################Ekran Çıktısı ########################### #Veri deger : 40 veri Type : <class 'int'> #Veri değer : Merhaba Python veri Type : <class 'str'> #Veri deger: 3.5 veri Type : <class 'float'> #Veri deger : (234+0j) veri Type : <class 'complex'> ###################Ekran Çıktısı ########################### |
Python str() Kullanımı
Bazen int() bir veriyi string veri tipine çevirmemiz gerekebilir. Bu gibi durumlarıda str() fonskiyonu kullanılmaktadır.
1 2 3 4 5 6 7 8 9 10 11 | sayi=571 print("Verini ilk atama tipi : ",type(sayi),"\n") strSayi=str(sayi) print("Verini convert edildikten sonraki tipi :",type(strSayi)) ###################Ekran Çıktısı ########################### #Verini ilk atama tipi : <class 'int'> #Verini convert edildikten sonraki tipi : <class 'str'> ###################Ekran Çıktısı ########################### |
Python float() Kullanımı
Konsoldan girilen kesirli verileri float tipinde alabilmemiz için kullanılır.
1 2 3 4 5 6 7 8 9 10 11 | sayi=input("Lütfen float bir veri giriniz : \n") print("Girilen veri tipi : ",type(sayi),"\n") sayiFloat=float(sayi) print("Float fonksiyonu kullanıldıktan sonra : ",type(sayiFloat)) ###################Ekran Çıktısı ########################### #Lütfen float bir veri giriniz : #5.5 #Girilen veri tipi : <class 'str'> #Float fonksiyonu kullanıldıktan sonra : <class 'float'> ###################Ekran Çıktısı ########################### |
Python complex() Kullanımı
Matematiksel işlemlerde sayilari karmaşık sayi haline getirmek için kullanılıyor. Genelde çok kullanılan bir fonsiyon değil.
1 2 3 4 5 6 7 8 9 10 | sayi=234823472 print("Değişken değeri : ",sayi,"\n") sayiComp=complex(sayi) print("Complex fonksiyonu kullanıldıktan sonra : ",type(sayiComp),"\n") print("Sayının değeri : ",sayiComp) ###################Ekran Çıktısı ########################### #Değişken değeri : 234823472 #Complex fonksiyonu kullanıldıktan sonra : <class 'complex'> #Sayının değeri : (234823472+0j) ###################Ekran Çıktısı ########################### |
Python eval() Kullanımı
Eval fonksiyonu ingilizce “evaluate” işleme koymak, işlemek anlamında kullanılmaktadır. Burada eval içersinine topla, çıkarma, çarpma, bölme gibi işlemleri direk yaz dığımızda işlemi gerçekletiriyor. Eval yazılan python kodlarını çalıştırmaya yarıyor. Örnegin:
1 2 3 4 5 6 7 8 | islem=input("Yapmak istediğniz işlemi giriniz ") sonuc=eval(islem) print("İşlemin Sonucu : ",sonuc) ###################Ekran Çıktısı ########################### #Yapmak istediğniz işlemi giriniz 3*4 #İşlemin Sonucu : 12 ###################Ekran Çıktısı ########################### |
Yukarıda input’a direk yapmak istediğimiz işelem girildiğinde ve eval sayesinde işlemin sonucunu aldık.
Eval fonksiyonu biraz tehlikeli bir fonksiyondur. Hacking girişimlerinde etkili olarak kullanılabilir. Bu sebebten gerek duyulduğunda kullanılmalı ve hacking girişimlerinide göz önünde bulundurmalıyız.
Örneğin input ile bir python kodu çalıştıralım.
1 2 3 4 5 6 7 8 9 10 | valIslem=input("Yapmak istediğiniz işlemi giriniz. \n") print(valIslem) eval(valIslem) ###################Ekran Çıktısı ########################### #Yapmak istediğiniz işlemi giriniz. #input ile girmesini istediğimiz işlem #print("Merhaba Umut") #ekrana merhaba umut yazan python kodunu girdik #print("Merhaba Umut") #ilk olarak string bir veri olarak ekran python kodu yield #Merhaba Umut #daha sonra eval fonksiyonu ile print string ifadesi python kodu olarak çalıştırıldı. ###################Ekran Çıktısı ########################### |
Python exec() Kullanımı
Exec komutuda eval() gibi çalışmaktadır. Eval fonskiyonunda değişken tanımları yapamazden exec() fonksyonu ile yapabilmekteyiz.
1 2 3 4 5 6 7 8 9 10 11 | valIslem=input("Lütfen adınız isim adında bir değikene atayınız \n") print(valIslem) #gelen veriyi string olarak ekrana basıyoruz exec(valIslem) #exec fonksiyonu ile değişken tanımlama işlemini yapıyoruz print("Merhaba ",isim) #daha sonra tanımlanan değişkeni ekrana basıyoruz. ###################Ekran Çıktısı ########################### #Lütfen adınız isim adında bir değikene atayınız #isim="Çağlar" #isim="Çağlar" #Merhaba Çağlar ###################Ekran Çıktısı ########################### |
Python format() Kullanımı
Bir çoğumuz C++ da print(“Degisken değeri : %d”,degisken) şeklinde çıktı vermeye hatırlıyoruzdur, format() fonsiyonuda bu gibi çıktıları oluşturmakta kullanılyor. Buna benzer bir kullanımda php’de printf(“Hoş geldin %s” ,$isim) şeklinde kullanılmaktadır. Bu kullanım sabit bir çıktı veriyorsanız ve bu çıktıda sadece belirli yerler bazı değerlerin gelmesi gerekiyorsa bu kullanım tam size göre. Mesela sisteme giriş yapan kişilere Merhaba isim şekilnde bir mesaj vereceğimizi düşünelim. Bu kullanımı önce format() fonksiyounu kullanmadan yapalım.
1 2 3 4 5 6 7 | isim="Mehmet Yaman" print("Merhaba "+isim+", sisteme hoş geldin." ) ###################Ekran Çıktısı ########################### #Merhaba Mehmet Yaman, sisteme hoş geldin. ###################Ekran Çıktısı ########################### |
Şimdi bunu format() fonsiyonu ile oluşturlaım.
1 2 3 4 5 6 7 | isim="Mehmet Yaman" print("Merhaba {}, sisteme hoş geldin.".format(isim) ) #{} parantezi kullandığımız yere isim değişkenindeki değer gelecektir. ###################Ekran Çıktısı ########################### #Merhaba Mehmet Yaman, sisteme hoş geldin. ###################Ekran Çıktısı ########################### |
Python format() fonksiyonu ile farklı bir uygulama daha yapalım.
1 2 3 4 5 6 7 8 9 | isim="Mehmet Yaman" soyIsim="Bostancı" sayfa="Kullanıcı Kontrol" print("Merhaba {} {}, '{}' paneline geldin.".format(isim,soyIsim,sayfa) ) #{} parantezi kullanılan yerelere .format() fonksiyonu içerisindeki değişkenler sırayla gelecektir. ###################Ekran Çıktısı ########################### #Merhaba Mehmet Yaman Bostancı, 'Kullanıcı Kontrol' paneline geldin. ###################Ekran Çıktısı ########################### |
Python format() fonksiyonunun diğer bir kullanımı aşağıdaki gibidir.
1 2 3 4 5 6 7 8 9 10 11 | isim="Mehmet Yaman" soyIsim="Bostancı" sayfa="Kullanıcı Kontrol" icerik="Merhaba {} {}, '{}' paneline geldin." mesaj=icerik.format(isim,soyIsim,sayfa) print(mesaj) #{} parantezi kullanılan yerelere .format() fonksiyonu içerisindeki değişkenler sırayla gelecektir. ###################Ekran Çıktısı ########################### #Merhaba Mehmet Yaman Bostancı, 'Kullanıcı Kontrol' paneline geldin. ###################Ekran Çıktısı ########################### |
Yine isterseniz aşağıdaki başlıkları da inceleyebilirsiniz.