Python中如何正确处理函数的返回值问题?
def check (C1,C,H,T):
if C1 != C:
return temprecrive()
else :
print H
print T
return ( H,T )
然后运行的时候就提示返回 None 了。
Python中如何正确处理函数的返回值问题?
11 回复
return 后面括号是中文括号,源码也是吗?
在Python里处理函数返回值,核心就两点:明确函数返回什么和在调用时处理好返回值。
首先,函数用 return 语句返回值。不写 return 或只写 return 的函数,默认返回 None。这是很多新手困惑的来源。
def get_user_data(user_id):
# 模拟从数据库获取数据
data = {'id': user_id, 'name': 'Alice', 'age': 30}
if data:
return data # 返回字典
# 没有显式返回,函数在此结束,隐式返回 None
result = get_user_data(1)
if result is not None:
print(f"用户名: {result['name']}")
else:
print("未找到用户")
其次,处理返回值时要考虑其类型。一个函数最好保持返回类型一致(比如总是返回列表或总是返回 None),这样调用方处理起来更简单。如果可能返回多种类型,可以用元组包装状态和结果。
def divide(a, b):
if b == 0:
return False, None # 状态标志,结果
return True, a / b
success, value = divide(10, 2)
if success:
print(f"结果是: {value}")
总结:设计函数时就想好怎么用它,返回类型要清晰一致。
你的截图里面是 temprecrive 这个函数返回了 None。
然后你试图 (H, T) = temprecrive(),这句话报错了
把(H, T) = temprecrive()括号删掉,改为:
H, T = temprecrive()
试试
数字啊
H,T =ftemper.temprecrive()
print H
这样吗? 还是不行
对啊,我就不知道为什么 print 的时候还是数字,然后 return 的时候就变成 None 了
真的不是我发的,我在 google 找了半天没找到
人家说的是
显然是你的问题
不是
显然是你发的问题
emmmmm

