Python'da işlev bağımsız değişkenlerini kullanma

Tamamlandı

Artık giriş olmadan işlev oluşturmayı bildiğinize göre, bir sonraki adım bağımsız değişken gerektiren işlevler oluşturmaktır. Bağımsız değişkenlerin kullanılması işlevleri daha esnek hale getirir, çünkü daha fazlasını yapabilir ve yaptıklarını koşullulaştırabilir.

Bağımsız değişken gerektirme

Bir uzay mekiği gemisinde pilot çalışıyorsanız, gerekli girişleri olmayan bir işlev, size saati belirten düğmeli bir bilgisayar gibidir. Düğmeye basarsanız, bilgisayarlı bir ses size saati söyler. Ancak gerekli bir giriş, seyahat mesafesini hesaplamak için bir hedef olabilir. Gerekli girişler işlevine bağımsız değişken olarak adlandırılır.

Bağımsız değişken gerektirmek için bunu parantez içine yerleştirin:

def distance_from_earth(destination):
    if destination == "Moon":
        return "238,855"
    else:
        return "Unable to compute to that destination"

İşlevi bağımsız değişken olmadan çağırmayı distance_from_earth() deneyin:

distance_from_earth()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: distance_from_earth() missing 1 required positional argument: 'destination'

Python, işlevin adlı destinationbir bağımsız değişken gerektirdiğini belirten bir hata iletisiyle oluştururTypeError. Uzay mekiği gemisinin bilgisayarından bir hedefle seyahat mesafesini hesaplaması istenirse, hedefin bir gereksinim olduğunu sorması gerekir. Örnek kodda bir yanıt için biri Ay, diğeri ise başka bir şey için olmak üzere iki yol bulunur. Yanıt almak için giriş olarak Ay'ı kullanın:

distance_from_earth("Moon")
238,855

Tümünü yakala koşulu olduğundan, bu davranışı denetlemek için hedef olarak başka bir dize kullanmayı deneyin:

distance_from_earth("Saturn")
Unable to compute to that destination

Birden çok gerekli bağımsız değişken

Birden çok bağımsız değişken kullanmak için bunları virgül kullanarak ayırmanız gerekir. Şimdi uzaklık ve sabit bir hız göz önünde bulundurularak bir hedefe ulaşmak için kaç gün sürdüğünü hesaplayabilen bir işlev oluşturalım:

def days_to_complete(distance, speed):
    hours = distance/speed
    return hours/24

Şimdi saatte 75 mil hız sınırında aya ulaşmak için kaç gün süreceğini hesaplamak için Dünya'dan Ay'a olan mesafeyi kullanın:

days_to_complete(238855, 75)
132.69722222222222

Bağımsız değişken olarak işlev görür

İşlevin days_to_complete() değerini kullanabilir ve bir değişkene atayabilir ve ardından tamsayı elde etmek için round() işlevi (en yakın tamsayıya yuvarlayan yerleşik bir işlev) geçirebilirsiniz:

total_days = days_to_complete(238855, 75)
round(total_days)
133

Ancak, döndürülen değeri atamak yerine işlevleri diğer işlevlere geçirmek yararlı bir desendir:

round(days_to_complete(238855, 75))
133

Bahşiş

İşlevleri giriş olarak doğrudan diğer işlevlere geçirmek yararlı olsa da, daha az okunabilirlik olasılığı vardır. İşlevler birçok bağımsız değişken gerektirdiğinde bu düzen özellikle sorunludur.