返回变量外部函数

时间:2015-04-23 14:24:12

标签: python function return

为什么x没有在函数外定义?问题return x错了吗?

def find(): 

X             否则:

find()

2 个答案:

答案 0 :(得分:6)

return x放在循环之外:

def find(): 
    data=file('file.dat')
    x=0
    for line in data:
        if 'metaend' in line:
            break
        else:
            x+=1
    return x

要获取x的值,请使用函数的返回值:

count = find()

答案 1 :(得分:2)

你的功能永远不会返回任何东西。检查一下,添加一些错误处理,无需元数据检测结束

def find(): 
    data=file('file.dat')
    x=0
    for line in data:
        if 'metaend' in line:
            return x

        x += 1
    raise Exception('heeey no end of metadata')

顺便说一下,python对循环中的计数器有一个非常好的函数:

def find(): 
    data=file('file.dat')

    for counter, line in enumerate(data):
        if 'metaend' in line:
            return counter

    raise Exception('heeey no end of metadata')