无法从函数返回值

ric*_*ich 6 python python-2.7

我有一小段代码来了解如何返回可以在代码的其他部分中使用的值.在下面我只想返回变量z或值snooze.但它不起作用.请有人帮我理解为什么这不起作用?

import time

def sleepy(reps, snooze):
    t = []
    for x in range(reps):
        x = time.time()
        time.sleep(snooze)
        y = time.time()

        z = y - x
        t.append(z)
        print 'difference = ', z*1000

    print 'total:', (sum(t)/reps) * 1000
    return z

sleepy(10, 0.001)

print z # does not like this.
Run Code Online (Sandbox Code Playgroud)

如果我打印贪睡它也抱怨.这是为什么?

Mar*_*ers 8

zsleepy()函数中的局部变量; 它在该功能之外是不可见的.

你的函数确实返回值z; 分配它:

slept = sleepy(10, 0.001)
print slept
Run Code Online (Sandbox Code Playgroud)

我在这里使用了一个不同的名称来说明这slept是一个不同的变量.