2016-03-23 31 views
0

Python'da oldukça yeniyim ve çoğunlukla kendimi denemek ve öğretmek için uğraşıyorum.python 3.5.1, dizeleri işlevlerden döndürmez

Ben az çok böyle gider bir işlevi vardır:

str1 = "a" 
str2 = "b" 
str3 = "c" 
thing = random.randint(1,2) 
def fun(): 
    if(thing == 1): 
    strVal = str1 + str2 
    elif(thing == 2): 
    strVal = str2 + str3 
    return strVal 
outp = fun 

Ben konsola denemek ve print(outp) zaman ama <function fun at 0x000001F29138AAE8> yerine "ab" veya "bc" gibi bir çıkış nasıl dize alırım olsun Bunun ne anlama geldiğini yazdırmak içinfunsonucu nedir? Aramalarımın etrafından nasıl geçeceğime ilişkin aramalarım, yalnızca benim istediğim gibi olmayan print() işlevine ilişkin belgeler ve örnekler aldı.

+0

Tam olarak * randevu ile yaptığınız gibi * * işlevine * sahip olmanız gerekir ... – jonrsharpe

cevap

0

Kodunuzda işlevinizi çağırmazsınız. Bir fonksiyonu 0x000001F29138AAE8 de fonksiyon eğlenceli bkz yüzden

outp = fun() 

aşağıdaki gibi çağrılır. Temel olarak, Python değişken çıkışının 0x000001F29138AAE8 adresindeki bir işleve bir gösterici olduğunu söyler.

+1

Bunu işaretlediğiniz için teşekkürler. Seninle @jonrsharpe arasında ne yaptığımı biliyorum – user78524

İlgili konular