2016-03-24 18 views
1

nesneye part_string()işlev_instance oluştururken? Python neden örtülü olarak my_string kabul eder? g (obj) içinde obj budur:geçen nesne Nedenini aşağıdaki çalışmaların arka planını anlamaya çalışıyorum

Buranın aşağıda bir ilgisi, böylece daha fazla soru vardır sanırım? bu başka bir şey olabilir mi g (şeyler) (sadece bir kongre olan kendi gibi)? 2 nesne işlev_instance'a geçmek istiyorsam ne olur? Onlara g (obj) içinde nasıl başvurabilirim?

Bu konuda biraz okuma önerebilir misiniz?

+1

See (http://stackoverflow.com/questions/13857/can-you. [(onlar Python ile ilgili gibi) kapanışları açıklayabilir?] -explain-kapanışları-onlar-ilişkili olarak-to-piton) –

cevap

0

Karşılaştığınız şey bir closure.

part_string(my_indexes) yazdığınızda, yeni bir işlev oluşturuyorsunuz ve bunu çağırarak, part_string'a verdiğiniz eski değişkenleri function_instance'a verilen yeni değişkenlerle birlikte kullanırsınız.

İçsel işlevi istediğiniz adla isimlendirebilirsiniz ve hiçbir sözleşme yoktur. (obj burada kullanılan ancak pie olabilir. Bunun için hiçbir konvansiyonlar işlev kapanışları için func (decorators) haricinde yoktur.

işleve iki değişken geçmek isterseniz

, sen g(obj) için iki değişken tanımlayabilir fonksiyonu:

def g(var1, var2): 
    ... 

İşte closures in python ilgili biraz daha bilgi var

İlgili konular