python return 返回None

def a(n):

if n == 0:

    return 1
else:

   a(n-1)
print ('here')

#a(1)
print(a(1))
输出:here
None

def a(n):

if n == 0:

    return 1
else:

   return a(n-1)
print ('here')

#a(1)
print(a(1))
输出:1

第一种情况:函数 在 return 1的时候还继续往下运行了
而print ‘here’ 之后没有return 的东西 所以 就得到 了None
a(n-1)执行完了 程序还要继续往下走 走到最后 没有return 值 所以返回了none

2.
t = {}

def ex(x):
global t
if x > 1:
x -= 1
t[x] = ex(x)
else:
return x

ex(10)
print(t)
输出:{1: 1, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None}
在迭代中,后调用的函数先返回。
除了最后一次调用的函数有了正确的返回外,之前的函数都没有 return ,所以返回的都是 None。

转载于:https://blog.51cto.com/13930723/2304882

### 回答1: Python中的return语句用于从函数中返回一个值。当函数执行到return语句时,它会立即停止执行并将指定的值返回给调用者。这个返回值可以是任何Python对象,包括数字、字符串、列表、元组、字典、函数等。在函数中可以使用多个return语句,但只有第一个被执行到的return语句会返回值。如果函数没有return语句,则默认返回None。 ### 回答2: 在Python中,函数通过return语句来返回一个值或对象。当函数执行到return语句时,函数将会立即结束,并将return语句后面的值或对象作为返回返回给调用方。 return可以返回任何类型的数据,包括数字、字符串、列表、元组、字典、集合以及自定义类等数据类型。在函数中可以使用多个return语句,但是一旦遇到一个return语句,函数就会立即结束并返回相应的值,后面的语句将不会继续执行。因此,如果在函数中的某个分支或循环条件下,需要返回值以中断函数的执行,应该使用return语句。 在使用return时,也可以省略返回值,这样函数将返回None。在实际编程中,常常会在函数内部定义变量或对象,并在最后使用return语句返回这些变量或对象的值。这样可以大大提高代码的可读性和可维护性。 需要注意的是,在函数中return语句后面的代码将不会被执行,因此在return语句后面不应该写任何代码。如果需要执行一些清理工作,可以在return语句之前完成。 return语句在Python中扮演着非常重要的角色,它可以帮助我们编写更加规范和易于理解的代码。熟练掌握return语句的使用,可以使我们在编写Python程序时更加得心应手。 ### 回答3: 在Python中,return语句用于指定函数的返回值。当函数执行到return语句时,它会将结果返回给调用者,并且停止函数的执行。可以使用return语句在任何时候退出函数,并返回一个值。返回值可以是任何类型的对象,如整数、浮点数、字符串、元组、列表、字典等。 一个函数可以有多个return语句,但只能返回一个值。当函数执行到第一个return语句时,它会立即返回值,并且不会执行后面的return语句。如果函数没有遇到任何return语句,则返回None。 如果需要返回多个值,可以使用元组。例如: def func(a, b): c = a + b d = a * b return (c, d) x, y = func(2, 3) print(x, y) # 输出:5, 6 也可以使用列表、字典等类型来返回多个值。 在递归函数中,return语句用于返回递归调用的结果。例如: def factorial(n): if n == 1: return 1 else: return n * factorial(n-1) print(factorial(5)) # 输出:120 在此递归函数中,当n等于1时,函数会返回1,否则递归调用自身,并将结果n乘以子问题的解。最终,递归函数将返回n的阶乘。 需要注意的是,return语句只能在函数体内使用。如果在函数外使用,将会抛出SyntaxError异常。 Pythonreturn语句非常灵活,可以随时退出函数并返回值,是Python编程中非常有用的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值