Jump to content

Python

  • entries
    66
  • comments
    0
  • views
    25,490

Birinci Sınıf Nesneler (First-class Objects)


Doğuhan ELMA

208 views

"First-class objects" veya "first-class citizens" terimi, bir programlama dilinde herhangi bir öğenin (sayı, string, array, fonksiyon vb.) birinci sınıf bir nesne olduğunu ifade eder. Bu, bu öğenin bir değişkene atanabilir, bir fonksiyon tarafından döndürülebilir, bir fonksiyon argümanı olarak gönderilebilir ve hatta bir veri yapısı içinde saklanabilir anlamına gelir.

Python gibi dillerde fonksiyonlar birinci sınıf nesnelerdir. Bu, fonksiyonların herhangi bir değişkene atanabileceği, bir fonksiyon tarafından döndürülebileceği veya bir fonksiyon argümanı olarak gönderilebileceği anlamına gelir. İşte birkaç örnek:

# Bir fonksiyonu bir değişkene atama
def greet(name):
    return f"Hello, {name}"

greeting_func = greet
print(greeting_func("Alice"))  # Output: Hello, Alice


# Bir fonksiyonu başka bir fonksiyonun döndürme
def get_greeting_func(name):
    def greet():
        return f"Hello, {name}"
    return greet

greeting_func = get_greeting_func("Bob")
print(greeting_func())  # Output: Hello, Bob


# Bir fonksiyonu başka bir fonksiyonun argümanı olarak gönderme
def apply_func(x, func):
    return func(x)

result = apply_func(5, lambda x: x * x)
print(result)  # Output: 25

Bu tür özellikler, daha karmaşık programlama tekniklerinin kapısını açar. Örneğin, bir fonksiyonu bir değişkene atayarak veya bir fonksiyonu döndürerek, programınızın hangi işlemleri gerçekleştireceğini çalışma zamanında dinamik olarak değiştirebilirsiniz. Bir fonksiyonu başka bir fonksiyonun argümanı olarak göndermek, özellikle yüksek düzeydeki fonksiyonlar (high-order functions) oluşturmanıza ve daha fonksiyonel bir programlama tarzı benimsemenize olanak sağlar.

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...