首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 递归函数返回值为 None 的解决办法

在使用 Python 开发的过程中,避免不了会用到递归函数。但递归函数的返回值有时会出现意想不到的情况。 下面来举一个例子: >>> def fun(i): ... ...return i ... >>> r = fun(0) >>> print(r) 比如上面这段代码,乍一看没什么问题,但返回值并不是我们期望的 5,而是 None。...>>> print(r) None 要解决这个问题也简单,就是在执行递归调用的时候,加上 return 语句。 修改之后的代码如下: >>> def fun(i): ... ...最后补充一句,如果想要了解这背后深层的原理,可以看看函数调用栈相关的资料,这里就不过多介绍了。 本文就到这里了,如果觉得有用的话欢迎点赞,转发和关注,谢谢。...面试题汇总: 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。

71600
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python字典实战题目练习,巩固知识、检查技术

    解题思路: get()方法用于访问字典中的元素,如果键不存在,则返回指定的默认值(如果未提供默认值,则返回None)。 四、答案 选择题 题目1: 这道题目考察的是Python字典的创建方法。...每个键都映射到一个值上,键必须是唯一的。 题目7: 答案:C 和 D 虽然dict[key]是最直接的方式,但如果键不存在会抛出KeyError。...而dict.get(key)则更加安全,如果键不存在会返回None(或者你可以指定一个默认值作为第二个参数)。 题目8: 答案:C 字典的键必须是不可变类型,如整数、浮点数、字符串或元组等。...dict.has_key(key)在Python 3中已被移除,dict.contains(key)不是字典的方法,而if dict.get(key) !...这三个方法分别返回字典的键、值和键值对的可迭代视图对象。 题目9: 正确。字典(dictionary)在Python中是一种可变容器模型,且可存储任意类型对象。

    11400

    python字典(dictionary)

    参考链接: Python字典dictionary | fromkeys()方法 参考http://www.runoob.com/python/python-dictionary.html  基础  字典包括在...'] print "dict['Age']: ", dict['Age'] 输出:  dict['Name']:  Zara dict['Age']:  7 如果使用字典里没有的值访问数据,会出现keyError...dict.copy() 返回字典的一个浅复制dict.fromkeys(seq[,val]) 创建一个新字典,以序列中seq元素作为字典的键,val(可选)作为键值对应的初始值dict.get(key,...default=None) 返回指定键的值,如果值不在字典中返回default的值dict.has_key(key) 如果键在字典中就范湖true,否则返回falsedict.items() 以列表返回可遍历的...(key[,default]) 删除字典给定键对应的值,返回值为被删除的值popitem() 随机返回并删除字典中的一对键值对

    83830

    《笨办法学Python》 第38课手记

    描述: Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值。...语法: dict.get(key, default=None) 参数: key – 字典中要查找的键。 default – 如果指定键的值不存在时,返回该默认值值。...返回值: 返回指定键的值,如果值不在字典中返回默认值None。None是一个逻辑值,表示为假。所以if语句满足运行的条件,而最后一块代码中变量city中储存的值不是一个逻辑值而是字符串。...a’s list of keys 得到键的list a.update([b]) updates (and overwrites) key/value pairs from b 从b字典中更新a字典,如果键相同则更新...,a中不存在则追加 a.fromkeys(seq[, value]) Creates a new dictionary with keys from seq and values set to value

    1K80

    Python 基础(字典)

    字典对象的一些方法 ---- 三个增加方法 方法 说明 dict[key] = value 如果这个键不存在就是增加,存在就是修改值 dict.setdefault(key, default=None)...'} >>> dict2.setdefault('公众号', ) # 只写键,不写值,默认是None >>> dict2 {'language1': 'python', 'language2':...dict[key] 删除指定键值 dict.pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。...key值必须给出。否则,返回default值。 dict.popitem() 随机返回并删除字典中的最后一对键和值。如果字典已经为空,却调用了此方法,就报出KeyError异常。...,没有该键则报错 dict.get(key) 返回该键对应的值,没有该键不会报错 dict.keys() 返回包含所有键的列表,这个列表不是严格意义上的list,可以用list()转换成严格意义上的列表

    46520

    Python随记(三)字典

    Python随记(三)字典 字典(Dictionary) 也是序列(sequence)的一种,是另一种可变容器模型。字典的值并没有特殊的顺序,但是都存储在一个特定的键(Key)下。...(seq[, val]))-----创建一个新字典,以序列seq 中元素做字典的键,val 为字典所 有键对应的初始值 · dict.get(key, default=None)----- 返回指定键的值...,如果值不在字典中返回default值 · dict.has_key(key)----- 如果键在字典dict里返回true,否则返回false · dict.items()-----以列表返回可遍历的...(键, 值) 元组数组 · dict.keys()-----以列表返回一个字典所有的键 · dict.setdefault(key, default=None)----- 和get()类似, 但如果键不存在于字典中...· pop(key[,default])----- 删除字典给定键 key 所对应的值,返回值为被删除的值。

    95700

    ️ TypeError: argument of type ‘NoneType‘ is not iterable - NoneType类型的参数不可迭代完美解决方法

    在Python中,NoneType 是表示空值的一种数据类型。它只有一个值,就是 None,通常用于表示"没有值"或"空"。例如,当函数没有明确返回值时,Python会默认返回 None。...常见的触发场景 2.1 函数返回值为 None 当函数没有显式返回值时,Python默认返回 None。在某些情况下,如果我们没有正确处理这些返回值,可能会导致 NoneType 迭代错误。...print(item) 2.2 字典键查找失败 如果我们在字典中查找一个不存在的键,dict.get() 方法会返回 None,如果我们直接对这个返回值进行迭代,也会触发该错误。...print(item) 2.3 默认参数为 None ️ 函数的默认参数通常被设置为 None,但在函数内部如果不检查这个值而直接进行迭代操作,也会引发错误。...使用 dict.get() 方法提供默认值 ️ 在字典查找时,使用 dict.get() 方法可以在键不存在时返回一个默认值,从而避免 NoneType 的迭代错误。

    33310

    图解python | 字典

    dict.copy() 返回一个字典的浅复制 dict.fromkeys(seq, val) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值 dict.get(key..., default=None) 返回指定键的值,如果值不在字典中返回default值 dict.has_key(key) 如果键在字典dict里返回true,否则返回false dict.items...() 返回可遍历的(键, 值) 元组数组的视图对象 dict.keys() 返回一个字典所有的键的视图对象 dict.setdefault(key, default=None) 和get()类似,...但如果键不存在于字典中,将会添加键并将值设为default dict.update(dict2) 把字典dict2的键/值对更新到dict里 dict.values() 返回字典中的所有值的视图对象...pop(key,default) 删除字典给定键 key 所对应的值,返回值为被删除的值。

    49761

    【说站】python get获取指定键值

    python get获取指定键值 说明 在使用字典时,很少直接输出它的内容。一般需要根据指定的键得到相应的结果。 1、Python中推荐的方法是使用字典对象的get()方法获取指定键的值。...语法 dict.get(key[,default]) 参数 dict:字典对象,即要从中获取值的字典。 key:字典中要查找的键。...default:可选参数,当指定的键不存在时,返回默认值,如果省略 default 参数,则返回 None。 返回值 2、如果字典中键存在,则返回键所对应的值。...如果键不存在,则返回default默认值。...实例 dict1 = {'北京': '晴', '上海': '阵雨转晴', '广州': '阴'} print(dict1)  # 输出字典 print('北京的天气为:', dict1.get('北京')

    1.3K20

    python基础之字典的访问

    ---- 二、字典的访问 1.根据键访问值   字典中的每个元素表示一种映射关系,将提供的“键”作为下标可以访问对应的“值”,如果字典中不存在这个“键”则会抛出异常。...2.使用get()方法访问值   在访问字典时,若不确定字典中是否有某个键,可通过get()方法进行获取,若该键存在,则返回其对应的值,若不存在,则返回默认值。...其语法格式如下: dict为被访问字典名 key是要查找的键 default定义默认值,如果指定键的值不存在,返回该默认值,当default为空时,返回None dict.get(key[,default...('name')) # get()获取学生姓名 print(stu_info.get('age')) # get()获取学生年龄,返回值为None print(stu_info.get('age')...) # 输出返回值None print(stu_info.get('age', 18)) # 设置返回默认值为18   结果如下。

    51110

    python-for-data-python基础

    本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list、元组tuple、字典dict和集合set。 ?...(obj):删除指定元素,没有返回值;如果存在多个,则删除第一个元素 排序 sort:obj.sort(key=len) sorted:sorted(obj);默认是从小到大排序 bisect模块:import...keys 获取所有的键 values 获取所有的值 默认值相关 get 获取某个键key的值value:dict.get(k, [,d])键不存在返回指定的值d setdefault 类似get方法...,如果键不存在,返回指定的值,并在字典中增加这个键值对;如果不指定返回值,默认是None 看一个具体的例子 ab = {'language': 'python', 'city': 'shenzhen'...比如**default(int)**则创建一个类似dictionary对象,里面任何的values都是int的实例,而且就算是一个不存在的key, d[key] 也有一个默认值,这个默认值是*int()

    1.3K20
    领券