我有一個函數定義,其中包括一個返回語句,但沒有值被交還。我的代碼如下:函數返回但沒有值
def seed(addy):
# urllib2 stuff is here
seed_result = re.search('<td>Results 1 - \d+ of (\d+)',seed_query) # searches for '<td>Results 1 - x of y', captures 'y'
seed_result = seed_result.group(1) # this is 'y' from above
# there's a call to a different function here which works properly
# other stuff going on here pertaining to addy but seed_result still has my string
# now I want to return the seed_result string...
return seed_result
# ... some code outside of the seed function, then I call seed...
seed(addy)
print "Result is %s" % seed_result
我曾經嘗試這樣做有和沒有定義外seed_result功能爲「初始化」,但這種具有在其上的結果沒有影響,在年底的產量「我的print語句結果是「 - 沒有seed_result。我也在返回語句中將seed_result包含在括號中,儘管我相信我是如何擁有它是正確的。這些parens沒有什麼區別。
在Python shell中設置了一個非常基本的但相似的函數,並按照我在這裏所做的那樣調用它,但是它可以工作。不知道我錯過了什麼。
感謝您的反饋和指導。
試圖執行打印語句來調用導致「Result is None」的函數。 *抓頭* – 2012-01-07 09:42:43
它在Python shell中工作的原因是shell打印出任何評估表達式的結果。正如Jon Skeet所說,要在程序中掌握它,你必須把它分配給一些變量。 – 2012-01-07 09:57:45