我只是在经过长时间的休息后回到Python。我在2. * Python中运行此代码,但使用的是print()语法。不要认为这应该是一个问题。
我不明白,虽然函数中的最后一个print语句返回正确答案,但“return”实际上不起作用并返回None / NoneType。这是我在Python中的递归或静态方法的递归吗?谢谢。下面的代码示例。
import json
class DictHelper:
@staticmethod
def get_info2(data, *args):
k = args[0]
print(data)
if (len(args) > 1):
try:
ndata = data[k]
a = list(args)
a.pop(0)
DictHelper.get_info2(ndata, *tuple(a))
except:
print("Error with key = " + args[0])
else:
print("the value for data[" + k + "] is ")
print(data[k]) # this works
return data[k]
def demo():
json_str = """{ "Payload": { "humidity": { "sensor-part-number": "X12345" }}}"""
data = json.loads(json_str)
v = DictHelper.get_info2(data, 'Payload', "humidity", "sensor-part-number")
print(v) # this returns None
demo()