Python'da anahtar sözcük bağımsız değişkenlerini kullanma
İsteğe bağlı bağımsız değişkenler, bunlara atanmış varsayılan bir değer gerektirir. Bu adlandırılmış bağımsız değişkenler anahtar sözcük bağımsız değişkenleri olarak adlandırılır. Anahtar sözcük bağımsız değişken değerleri işlevlerde tanımlanmalıdır. Anahtar sözcük bağımsız değişkenleriyle tanımlanan bir işlevi çağırırken, bunları kullanmak gerekmez.
Apollo 11 görevinin Ay'a ulaşmak yaklaşık 51 saat sürdü. Şimdi varsayılan Apollo 11 göreviyle aynı değeri kullanarak tahmini varış saatini döndüren bir işlev oluşturalım:
from datetime import timedelta, datetime
def arrival_time(hours=51):
now = datetime.now()
arrival = now + timedelta(hours=hours)
return arrival.strftime("Arrival: %A %H:%M")
işlevi geçerli saati tanımlamak için modülünü datetime
kullanır. Yeni bir zaman nesnesine neden olan toplama işlemine izin vermek için kullanır timedelta
. Bu sonucu hesapladıktan sonra, dize olarak biçimlendirilmiş tahmini döndürür arrival
. Bağımsız değişken olmadan çağırmayı deneyin:
arrival_time()
Arrival: Saturday 16:42
İşlev bir anahtar sözcük bağımsız değişkeni tanımlasa da, bir işlevi çağırırken bu bağımsız değişkenin geçirilmesine izin vermez. Bu durumda, hours
değişken varsayılan olarak olur 51
. Geçerli tarihin doğru olduğunu doğrulamak için hours
değerini kullanın0
:
arrival_time(hours=0)
Arrival: Thursday 13:42
Bağımsız değişkenleri ve anahtar sözcük bağımsız değişkenlerini karıştırma
Bazen bir işlevin bağımsız değişkenlerle anahtar sözcük bağımsız değişkenlerinin bir bileşimine ihtiyacı vardır. Python'da bu birleşim belirli bir sırayı izler. Bağımsız değişkenler her zaman önce bildirilir ve ardından anahtar sözcük bağımsız değişkenleri gelir.
İşlevi arrival_time()
, hedefin adı olan gerekli bir bağımsız değişkeni alacak şekilde güncelleştirin:
from datetime import timedelta, datetime
def arrival_time(destination, hours=51):
now = datetime.now()
arrival = now + timedelta(hours=hours)
return arrival.strftime(f"{destination} Arrival: %A %H:%M")
Gerekli bir bağımsız değişken eklediğinizden, işlevi artık bağımsız değişken olmadan çağırmak mümkün değildir:
arrival_time()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: arrival_time() missing 1 required positional argument: 'destination'
Hatadan kaçınmak için destination
değeri olarak kullanın"Moon"
:
arrival_time("Moon")
Moon Arrival: Saturday 16:54
ayrıca ikiden fazla değer geçirebilirsiniz, ancak bunları virgülle ayırmanız gerekir. Yörüngeye geçmek yaklaşık 8 dakika (0,13 saat) sürer, bu nedenle bunu bağımsız değişken olarak kullanın:
arrival_time("Orbit", hours=0.13)
Orbit Arrival: Thursday 14:11