Python'daki işlevlerim için isim seçme konusunda kafam karıştı . Bazen Python yerleşik işlevleri zorunludur : print
function ve string method find
. Bazen böyle değildirler: örneğin len
adı gibi zorunlu değildir calculate_len
ve type
değildir find_type
.
Anlamadığımız print
bir değer döndürüyor (yani None
) ve bir şey yapar (yani ekranda bir dize gösterir), bu yüzden adı zorunludur.
Ancak len
kullandığımız bir değer döndürür ve bir şey yapar (yani bir sekansta veya eşlemede kaç öğe olduğunu hesaplar.) Ve adı zorunlu değildir . Öte yandan, find
string yöntemi (as len
) kullandığımız ve bir şeyler yaptığımız bir değer döndürür ve adı zorunludur .
Bu soruyu soran şey, incelenmek üzere Sezar şifresini kullanarak dizeyi şifreleyen ve şifresini çözen bir komut dosyası koymam. Hakem şunları söyledi:
Sadece bağırsak hissi: fonksiyonlar bir şeyler yapar. Yani bir fonksiyon için iyi bir isim bir zorunluluktur: Onun
rotate_letter
yerine kullanmak istiyorumrotated_letter
.
rotated_letter
sayı ile döndürülmüş bir harfi temsil eden tek harfli bir dize döndürür. Neyin daha iyi olduğunu bilmiyorum , rastgele bir modülde işlev rotated_letter
gibi bir değer döndürdüğü için kullandım , değil .randint
generate_randint
Bu durumda, kullanılacak değeri döndüren bir işlevi nasıl adlandırmalıyım? Adı zorunlu mu yoksa sadece bir isim mi yapmalıyım ? Diğer durumlarda bu gibi nasıl yapılacağını açıktır boole fonksiyonları gibi is_even
ve is_palindrome
biz sadece bir gibi yap evet / hayır soru ve ayrıca fonksiyonları sadece yapmak ve dönüş olmayan kullanılan değerler (yani None
gibi), print
ve liste yöntemiyle sort
.
len
Örneğin, "uzunluk" olarak daha iyi düşünülür - argümanının meta düzeyinde bir açıklaması alıyorsunuz.