İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

Python'a adım atıyorum[Python3 kulübü]-4

Hacknology - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
rm -rf /
Mesajlar:
2.710
Konular:
151
Teşekkür (Etti):
947
Teşekkür (Aldı):
1235
Ticaret:
(0) %
02-08-2016 16:58
#1
Python'a adım atıyorum[Python3 kulübü]-4
Merhaba arkadaşlar öncelikle aldığım bir karardan bahsedeyim. Aynı yerlerde dönmemek için bu şekilde bitirdikten sonra ayrıntılı anlatıma geçeceğim, ileriki makaleler sesli ve videolu olacak. En son for dan bahsetmiştim. Şimdi hata ayıklamaya göz atacağız. Bazen programımız bize hata verir, ve bu hatalarda kullanıcı bazen hatanın ne demek istediğini anlayamaz, böyle bir durumda hata yakalamayı kullanırız. Hemen örneklerine geçelim:

try: expect:
Bakın mesela bir modül aktaralım içeriye, bunu işlemediğimizi biliyorum, fakat hiç zor bir durum değildir. "import" ile modül içe aktarırız. Neyse, zaten ilerde ayrıntılı olarak bahsedeceğim konudan uzaklaşmayalım. Bakın mesela bir modül adı uyduruyorum: "yakisiklihacknology" olsun. Bunu içe aktarmayı deneyelim

Örnek:
Kod:
>>> import yakisiklihackno
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import yakisiklihackno
ImportError: No module named 'yakisiklihackno'
>>>
Gördüğümüz gibi bu tip bir hata verdi, Peki biz bunu çok daha basite indirmek isteseydik? Şöyle küçük bir kod parçacığı yazdım.
Örnek:
Kod:
try:
    import yakisiklihackno
except:
    print("Böyle bir modül bulunmamaktadır")
Hemen çıktısına göz atalım:

Kod:
>>> 
 RESTART: C:/Users/x/AppData/Local/Programs/Python/Python35-32/hata.py 
Böyle bir modül bulunmamaktadır
>>>
Daha güzel değil mi? Bazen basit hatalarımız olur, mesela noktayı koymayı unuturuz ya da en basitinden hesap makinesinde elimiz bir harfe çarpar ve hatayı bir türlü bulamayız. Bu gibi durumlarda şu işimize yarayabilir:

Örnek:

Kod:
try:
    carpma = int(input("Çarpmak istediğiniz ilk sayıyı girin:"))
    carpma2 = int(input("Çarpmak istediğiniz ikinci sayıyı girin:"))
    print(çarpma * çarpma2)

except:
    print("Adam gibi sayı gir bana!")
Bunu çalıştırdığımızda bize şu çıktıyı verecektir:

Örnek:
Kod:
Çarpmak istediğiniz ilk sayıyı girin:24
Çarpmak istediğiniz ikinci sayıyı girin:b
Adam gibi sayı gir bana!
>>>


try: except: as

Evet az önceki yöntem bize hatayı gösteriyor, ama ne hatasını? Bunu bilmiyoruz, sadece hata varsa o çıktıyı veriyor. Eğer asıl hatayı da görmek istersek try..except..as den yararlanabiliriz. Az önceki kodu azıcık editleyelim:

Örnek:

Kod:
try:    
    carpma = int(input("Çarpmak istediğiniz ilk sayıyı girin:"))
    carpma2 = int(input("Çarpmak istediğiniz ikinci sayıyı girin:"))
    print(çarpma * çarpma2)

except ValueError as orcinal_hata:
    print("Adam gibi sayı gir bana!")
    print("Eğer tatlı küçük bir geliştiriciysen ve merakliysan al sana gercek hata:", orcinal_hata)
Bakalım bu sefer python bize nasıl bir tepki verecek

Kod:
Çarpmak istediğiniz ilk sayıyı girin:24
Çarpmak istediğiniz ikinci sayıyı girin:b
Adam gibi sayı gir bana!
Eğer tatlı küçük bir geliştiriciysen ve merakliysan al sana gercek hata: invalid literal for int() with base 10: 'b'
>>>
Güzel, değil mi? Bunun yanında else, finally de eklenebilir bunun sonuna ama onlara diğer makalemde değineceğim, şimdi şuna bir göz atalım. Biz kullanıcıya python da olmayan bir hata göstermek isteseydik ne yapacaktık? İşte karşınızda "raise"

raise metodu bu gibi durumda yardımımıza koşar. Hemen örnek bir kullanımla size bunu küçük bir kod parçacığıyla açayım.


Örnek:

Kod:
soru = input("İsminiz nedir: ")
if soru == "hacknology":
    raise Exception("Dünyanın en iyi coderı bu programda olamaz!")

else:
    print("Hoşgeldin!")
Hemen bunun çıktısına bir göz atalım:

Kod:
İsminiz nedir: hacknology
Traceback (most recent call last):
  File "C:/Users/Mustafa/AppData/Local/Programs/Python/Python35-32/hata.py", line 3, in <module>
    raise Exception("Dünyanın en iyi coderı bu programda olamaz!")
Exception: Dünyanın en iyi coderı bu programda olamaz!
>>>
Kullanıcıya istediğimiz hata mesajını da vermeyi öğrendik, bugünlük benden bu kadar sağlıcakla kalın

Umarım şimdiye kadar işlediklerim yararlı olmuştur, en kısa vakitte sesli anlatıma geçeceğim



---------------------
I surrender my soul
Odin hear my call

flag{Bur4si_b1r_0yun_park1}

hacknology@hacknologyroot:~/
Konu Hacknology tarafından (02-08-2016 17:14 Saat 17:14 ) değiştirilmiştir.
TheAbraham, 'Deep, BugResearcher Teşekkür etti.
TheAbraham - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2015
Nereden:
Loneliness
Mesajlar:
1.469
Konular:
120
Teşekkür (Etti):
1245
Teşekkür (Aldı):
295
Ticaret:
(0) %
02-08-2016 17:00
#2
Eline Sağlık Devamını Bekliyorum..
---------------------
-тнeαвrαнαм-༽
Hacknology - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
rm -rf /
Mesajlar:
2.710
Konular:
151
Teşekkür (Etti):
947
Teşekkür (Aldı):
1235
Ticaret:
(0) %
02-08-2016 17:02
#3
Arkadaşlar diğer ayıklama yöntemlerini yazmayı unuttum şimdi edit geliyor
---------------------
I surrender my soul
Odin hear my call

flag{Bur4si_b1r_0yun_park1}

hacknology@hacknologyroot:~/
Hacknology - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
rm -rf /
Mesajlar:
2.710
Konular:
151
Teşekkür (Etti):
947
Teşekkür (Aldı):
1235
Ticaret:
(0) %
02-08-2016 17:14
#4
Editledim
---------------------
I surrender my soul
Odin hear my call

flag{Bur4si_b1r_0yun_park1}

hacknology@hacknologyroot:~/
Rootcmd - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2016
Nereden:
Nebula
Yaş:
22
Mesajlar:
4.303
Konular:
239
Teşekkür (Etti):
113
Teşekkür (Aldı):
861
Ticaret:
(0) %
02-08-2016 17:38
#5
eline sağlık
---------------------
"İnsanın özgürlüğü istediği her şeyi yapabilmesinde değil, istemediği hiçbir şeyi yapmak zorunda olmamasındadır."


EASA - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2016
Nereden:
Config.php
Yaş:
25
Mesajlar:
845
Konular:
55
Teşekkür (Etti):
139
Teşekkür (Aldı):
189
Ticaret:
(0) %
02-08-2016 17:40
#6
Sesli Ve Videolu Makalelerinizi Heycanla Bekliyorum

Gerçekten Kulubün Hakkını Veriyorsunuz
Plut0 - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2016
Nereden:
5dimensional
Yaş:
3
Mesajlar:
729
Konular:
3
Teşekkür (Etti):
21
Teşekkür (Aldı):
156
Ticaret:
(0) %
02-08-2016 17:50
#7
Tam bu sırada pass'ı da anlatmalıydın, aradan çıkmış olurdu.
BugResearcher Teşekkür etti.
Hacknology - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
rm -rf /
Mesajlar:
2.710
Konular:
151
Teşekkür (Etti):
947
Teşekkür (Aldı):
1235
Ticaret:
(0) %
02-08-2016 17:51
#8
Alıntı:
Plut0´isimli üyeden Alıntı Mesajı göster
Tam bu sırada pass'ı da anlatmalıydın, aradan çıkmış olurdu.
Keşke öyle yapsaydım :/ aklıma gelmedi
---------------------
I surrender my soul
Odin hear my call

flag{Bur4si_b1r_0yun_park1}

hacknology@hacknologyroot:~/
Plut0 - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2016
Nereden:
5dimensional
Yaş:
3
Mesajlar:
729
Konular:
3
Teşekkür (Etti):
21
Teşekkür (Aldı):
156
Ticaret:
(0) %
02-08-2016 17:53
#9
Alıntı:
Hacknology´isimli üyeden Alıntı Mesajı göster
Keşke öyle yapsaydım :/ aklıma gelmedi
Edit butonu yukarıda, alt tarafı 5 satır daha yazacaksın.
hacker4774 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2016
Nereden:
DDOS
Mesajlar:
457
Konular:
52
Teşekkür (Etti):
0
Teşekkür (Aldı):
13
Ticaret:
(0) %
02-08-2016 18:00
#10
Emeğine sağlık vakit harcamıssın.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı