Python Fonksiyon

Grendel.
17-07-2007, 10:12   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
191 mesaj
Kayıt Tarihi:Kayıt: Oca 2007

Beyler İyi Günler ;

Ben Pythona başladım ee pythona başladım demekle olmuyooo benim bi sorunum var tabi ki sorun bende anlamama sorunu :D

Şimdi beyler Pythonda Ben -----------fonkisiyonlara geldim------------ ögrendiğim kaynak ise mustafa başerin kitapı şimdi fonksiyonların amacı her seferinde kodları tek tek yazmak yerine bi grub altında toplamaktır okay  ama bana verdiği örneklerde kafam karıştıı misal;

kalıb olarak işte

def fonkisyon_adi(argüman listesi):
       Fonksiyon içersinde
       işletilecek blok

------------------------------------------------------------
  demiş kii

   def ilkfonksiyonum():
         print 'burası fonksyon'

   ilk fonksiyonum()

   sonuc     "ilk fonksiyonn"

Bu örnek bilgi girişi  ve dönüşü olmayan Fonksiyomuşş  burdan hiç çakamadımmm

------------------------------------------------------------

   def ikinci fonksiyon(gelen):
         print gelen

   ikincifonksiyon("mustafa baser")
   ikincifonksiyon(3*4)

çıktısı ise

mustafa baser
12

buda bilgi girişi olup değer döndürmeme olayımışş yaw pekii ikincifonksiyonda (gelen) ne işe yaradığını çözemedim

------------------------------------------------------------

def carpim(x,y):
    print (x*y)
carpim(9,4)
carpim("mbaser",3)


sonucu

36

mbasermbasermbaser

okay peki burda şimdi başta x*y  tanımlamış ve print x çarpımı y demişşş

  yani her komutta carpim verdğimde başta tanımladığımız zaman artık çarpım mı yapacakkkk çünkü başta tanımlamış mı o yüzdennn

Beyler Yeniyimmm Kusura bakmayınn Çünkü bişey yapmak iiçin çıldırıyorummm lütfen bana yardımcı olun bu fonksiyonlardan hiç bişey çakmadım please :D EĞER çokk yardımcı olmak istiyosanız mail=lazoglu-ozgur28@hotmail.com

Çok yardımcı olursanız şu lazın hayrınaaa Kahkaha

Caner Güral
17-07-2007, 12:37   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
663 mesaj
Kayıt Tarihi:Kayıt: Şub 2006

Merhaba Özgür,

Pardus kanalındaki gibi yine neşe dolusun bakıyorum.
Belki de herkes seni bu yüzden seviyor olsa gerek Gülümseme

Ama gördüm ki dikkatli okumamışsın kitabı :) Ki böyle bir konuda sekteye uğramışsın.

Bu arada söyleyelim, ben Python falan bilmem, programlamadan bildiğim kadarıyla Türkçe mealini anlatayım :)


def ilkfonksiyonum():
print 'burası fonksyon'

ilk fonksiyonum()

sonuc "ilk fonksiyonn"

İlk önce ilkfonksiyonum() yerine a() diyeceğim haberin olsun:

Şimdi bu DEF nedir bilmiyorum.Eğer ki DEFİNE gibi yani değişmez değerler için kullanılıyorsa, a() fonksiyonunu değişmez olarak tanımlar ve o fonksiyon sadece o işi yapar.Emin değil

Sen iyisi mi bu DEF nedir bir söyle de öyle bir daha yazalım.Ya da Python bile arkadaşları davet edelim.

def f2(gelen):
print gelen

f2("mustafa baser")
f2(3*4)
çıktısı ise

mustafa

Şimdi bu DEF ile ilgili olarak farklı şeyler düşünmeye başladım :) Ya fonksiyonun türünü belirtiyor (öyle olsaydı string ifade ya da integer ifadesi bir kerede almazdı, ya da birden çok türü de destekliyor olabilir.Hani şu C++'taki Poliporpizim, Çok biçimlilik olayı gibi birşey) ya da fonksiyon oluşturulurken önüne konulan bir ifade.(Visual Basic'te bu Sub ile başlıyordu)

Bunu yazan arkadaş ilk önce

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
f2(gelen)
diye bir fonksiyon tanımlamış ve olay olarak da
[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
print gelen
demiş.Yani bu parantez içinde duran değişken ismi bu fonksiyonun dışarıdan alacağı değeri ifade ediyor, burayı unutmamalısın.
[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
print gelen
koduyla da dışarıdan gelen bu değeri yazdırıyor.

Zaten fonksiyonların da prosedürlerden farkı burasıdır.İstediğin gibi dışarıya değer aktarır ya da içeriye değer alırsın. (Okulda öğrendiğiniz mi bilmiyorum ama bunu mutfağa benzetirler)

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
f2("mustafa baser") f2(3*4)
Burada ne yaptı peki ?

Burada ilk önce fonksiyonun adını yazdı ve parantez içinde ona gönderilecek olan değerleri yazdı.İlk satırda "Mustafa Başer" dedi ve bu değer gelen değişkenine atandı.

İkinci satırda da 3*4 deyip bunun değerini yine gelen değişkenine göndermiş.

(Buradan da DEF'in aslında ne tür değer gelirse gelsin işlem yaptığını ve çok biçimliliği desteklediğini söylesem pek fazla hata yapmamış olurum herhalde)

def carpim(x,y):
print (x*y)
carpim(9,4)
carpim("mbaser",3)
Bu da aynı mantıkla çalışan fakat diğerlerinden farklı olarak içeriye 2 tane değer alan bir fonksiyon.

Ne iş yapıyor ? X ve Y yerine gelecek olan değişkenleri "print (x*y)" gereği çarparak yazıyor.

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
carpim(9.4)
dersek eğer x yerine 9, y yerine de 4 değerini vermiş oluruz.Bundan sonra da print ile bu ikisi çarpılarak yazdırılır.
[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
carpim("mbaser",3)
Bunda çok az farklı bir durum söz konusu.Bu sefer string bir ifadeyle çarpım yapacağız. mbaser*3=sayi olmayacağına göre mbaser değeri yan yana 3 kez yazdırılacaktır.Tıpkı çıktıda olduğu gibi.

Umarım yardımcı olabilmişimdir Özgür.

Hoşçakal, kendine iyi bak.İyi günler, iyi çalışmalar..

-----
Bu arada Özgür, yerinde olsam e-posta adresimi hemen silerdim.Mazallah spam dolacak böyle yaparsan.

Son Düzenleme: Caner Güral ~ 17 Temmuz 2007 12:45
ersin334
04-08-2007, 11:02   |  #3  
Taze Üye
Teşekkür Sayısı: 0
9 mesaj
Kayıt Tarihi:Kayıt: Eki 2005

bende python bilmem ama fonksiyonları c/c++ a cok benziyor.bu arada 3*murat örneğinden anladığım kadarıyla cok daha kullanıslı ve basit bi dil.öğrenmek lazım.