Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mustafamuratcoskun
GitHub Repository: mustafamuratcoskun/Sifirdan-Ileri-Seviyeye-Python-Programlama
Path: blob/master/Pythondaki Decoratorlar/Fonksiyonları Dönmek ve Parametre Olarak Göndermek.ipynb
765 views
Kernel: Python 3

Fonksiyonları Dönmek ve Argüman Olarak Göndermek

Bu konuda fonksiyonları return ile başka bir fonksiyondan dönmeyi ve diğer fonksiyonlara parametre olarak göndermeyi öğreneceğiz.

Fonksiyonları return ile Dönmek

Bir fonksiyon aynı zamanda bir obje olduğu için, bu fonksiyonu başka bir fonksiyondan return ile döndürebiliriz.

def fonksiyon(işlem_adı): def toplama(*args): toplam = 0 for i in args: toplam += i return toplam def çarpma(*args): çarpım = 1 for i in args: çarpım *= i return çarpım if işlem_adı == "toplama": return toplama else: return çarpma
deneme = fonksiyon("toplama")
deneme # toplama fonksiyonuna eşit oldu.
<function __main__.fonksiyon.<locals>.toplama>
deneme(1,2,3,4,5,6,7)
28
deneme2 = fonksiyon("çarpma")
deneme2 # çarpma fonksiyonuna eşit oldu.
<function __main__.fonksiyon.<locals>.çarpma>
deneme2(1,2,3,4,5,6,7,8,9)
362880

İşte bu şekilde fonksiyonlarımızı da tıpkı diğer değişkenler gibi başka bir fonksiyon içinde tanımlayıp , çağırdığımız yere dönebiliriz.

Fonksiyonları Argüman Olarak Göndermek

def toplama(a,b): return a + b def çıkarma(a,b): return a-b def çarpma(a,b): return a * b def bölme(a,b): return a / b
def anafonksiyon(func1,func2,func3,func4,işlem_adı): # Tanımladığımız 4 fonksiyonu da argüman olarak göndereceğiz. if (işlem_adı == "toplama"): print(func1(3,4)) elif (işlem_adı == "çıkarma"): print(func2(10,3)) elif (işlem_adı == "çarpma"): print(func3(10,3)) elif (işlem_adı == "bölme"): print(func4(10,4)) else: print("Geçersiz işlem adı...")
anafonksiyon(toplama,çıkarma,çarpma,bölme,"toplama")
7
anafonksiyon(toplama,çıkarma,çarpma,bölme,"bölme")
2.5

Buradaki gibi her fonksiyonumuz aslında birer obje olduğu için diğer objeler gibi başka fonksiyonlara argüman olarak gönderilebilir. Bunları da öğrendiğimize göre artık decoratorlar için hazırız.