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

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

在使用 Python 开发的过程中,避免不了会用到递归函数。但递归函数的返回值有时会出现意想不到的情况。 下面来举一个例子: >>> def fun(i): ... ...return i ... >>> r = fun(0) >>> print(r) 比如上面这段代码,乍一看没什么问题,但返回值不是我们期望的 5,而是 None。...>>> print(r) None 要解决这个问题也简单,就是在执行递归调用的时候,加上 return 语句。 修改之后的代码如下: >>> def fun(i): ... ...---- 推荐阅读: 计算机经典书籍 技术博客: 硬核后端开发技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。...面试题汇总: 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。

67200

Python】函数 ④ ( 函数 None 返回值 | None 值应用场景 | 用于 if 判断 | 定义无初始内容变量 | 代码示例 )

一、函数 None 返回值 1、空返回值Python 函数中 , return 返回值是可选的 , 函数可以没有返回值 ; def 函数名(函数参数): """函数文档字符串(可选)"""...# 函数体 # return 返回值 (可选) Python 函数中没有显示定义返回值 , 那么返回的就是 特殊字面量 None , 其类型是 ; None...表示没有实际意义 , 返回空 , 不需要处理返回值信息 ; Python 中返回 None 相当于 Java / C / C++ 中的 void Kotlin 中的 Unit 等 空返回值 ; 2、代码示例...; 使用变量接收该函数的返回值 , 返回值None , 返回值类型是 NoneType ; 代码示例 : """ 接收 函数 None 返回值示例 """ # 定义无返回值的函数 def hello...None 二、None 值应用场景 ---- 1、None 值应用场景简介 函数 None 返回值应用场景 : 函数返回值 : 表示函数没有返回值 ; 用于 if

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

为什么特征工程要用 SQL 不是 Python

所以从上面我们看到,一套能够很好运转的机器学习系统需要有: 较好的 Infra 算法,研发,和运维 体系的支持 研发和算法的高 overhead 协作 实际上,在现实生活中,这套体系会面临三个大问题...比如让研发工程师去理解算法工程师的一些思路是很困难的,意味他们不懂机器学习,甚至难以校验自己做的是不是对的。...大的原则是: 使用 SQL 不是 Python 去完成特征工程 尽可能减少 Python 的使用,Python 应该尽可能仅仅用于模型部分 先说这个原则带来的好处,再说说现在这个原则以前为什么没落地,...无需逻辑校验成本 说说落地的困难: SQL 可能无法完成非常复杂的特征处理逻辑 Python 在某些时候在可视化亦或是特征处理上是不可避免的 这里值得注意的是,我们不是拒绝 Python 做特征工程,而是尽可能减少使用...函数来完成的,此外 Byzer 可能在这种实时大规模计算上无法保证毫秒级的响应时间,这个时候就可以引入 OpenMLDB了,我们可以封装一个 UDF 函数调用 OpenMLDB 接口来完成特征的获取,不是通过

73520

为什么我们的机器学习平台支持Python不是R

前言 免责声明:以下内容是基于作者的观察——不是一个行业的学术调查。 有很多文章比较了Python和R在数据科学方面的相对优点。但是这并不在这篇文章的讨论范围。...有些人可能特别喜欢一种语言的语法,或者可能更喜欢R的默认绘图库(ggplot2),不是Matplotlib或其他Python选项。也有其他人会指出Python比R更具有表现力。...换句话说,机器学习工程师必须处理工程问题,Python是更好的选择。 ? ?...负责它们的人不是数据分析师,而是工程师(就职责而言,不是头衔而言),他们使用的是软件工程师熟悉的工具和语言,比如Python。R始终是生成仪表板和报告的有效工具。...--- Flask,当然来自于Python. 换句话说,我们为机器学习工程师不是数据分析师建立了一个平台,这意味着我们支持Python不是R。 ? ·END·

65410

C++核心准则编译边学-F.20 输出结果时更应该使用返回值不是输出参数

F.20: For "out" output values, prefer return values to output parameters(输出结果时更应该使用返回值不是输出参数) Reason...返回值本身可以说明用途,引用类型可以是输入/输出参数也有可能只是输出参数,容易被误用。...建议为返回值增加const修饰的观点认为,这样会阻止(极少发生的)对临时变量的意外访问。相反的观点认为这样做会(非常多地)阻止移动语义的运用。...// OK void val(int&); // Bad: Is val reading its argument 译者注:示例代码说明的是POD使用引用传递输出值,小数据者应该直接使用返回值...警告那些没有在写之前读(没有输入用途)而且可以低成本返回的参数,它们应该作为返回值输出。 Flag returning a const value.

1.4K30

python 字典操作方法详解

参考链接: Python字典dictionary| pop方法 字典是一种通过名字或者关键字引用的得数据结构,key 类型需要时被哈希,其键可以是数字、字符串、元组,这种结构类型也称之为映射。...self)以列表返回可遍历的(键, 值) 元组数组6keys(self) 以列表返回一个字典所有的键7pop(self,k,d=None) 删除字典给定键 key 所对应的值,返回值为被删除的值。...Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!...basketplayer', 'honor': '3 champions'}   8,返回键,值,键值对    keys():以列表(list)返回字典中的所有键(key),字典是无序的,所以这个list返回的不是定义字典的顺序...,这个tuple的list包含了dictionary的所有数据  ''' 想要学习Python

79420

Python为什么要len(array),不是像Java一样array.size()?

知乎上有个问题,关于Python和Java语法的对比,同样是计算数组长度,为什么Python使用len(array),属于内置函数,Java则用array.size(),属于类方法。...比如类型声明,python不需要指定类型,java必须要指定。 比如代码块,python用缩进表示代码块,java用{}表示代码块。...比如异常处理,Python使用 try 和 except 块来处理异常。Java使用 try 和 catch 块,并且必须捕获所有可能的异常。...这是python和Java在语言特性上的差异,没有好坏之分,只有应用场景之别。 python是动态语言,追求简单方便易懂,适合写脚本快速开发,java是静态语言,追求稳定安全快速,适合写网站软件。...所以啊,如果你的需求是写算法、写爬虫,处理数据,就去用python,如果是写网站、写游戏,就去用Java ,讨论谁好谁差,实在没有意义。

7610

【六】Python基础之数据结构:字典

3 person = {"name": "mr.wu", 'age': 18} 或 person = dict({"name": "mr.wu", 'age': 18}) Python...字典类型是Python中唯一內建的映射类型,基本的操作包括如下: (1) len() : 返回字典中 键:值对 的数量 (2) d[k] : 返回关键字对应的值; (3) d[k] = v : 将值关联到键值...value)取出对应的值(value)或键(key) & for 循环   1.返回关键字对应的值: v = d[key] 例(参考举最上方举例字典):   1 v = d["k1"]  # 取出k1对的...valuev1 = d["k3"][1]["kk3"][0]  # 取出kk3对的value中的11print(v, v1)   2.不可通过切片方式获取键值对,因为字典无序...:", v2) 打印结果: 存在: 18 key不存在时: None key不存在时并指定返回值: 1234   8.pop()方法删除指定的key,pop

45120

对话开源泰斗陆首群教授:中国开源发展追求0到1的爆发性创新,不是0到0的假创新

中国开源的发展史,则由 1991、1999 年这两个里程碑时间节点组成。...陆首群教授:中国作为一个创新国家,要追求真正的创新,即 0 到 1 的爆发性的创新,不是 0 到 0“八宝粥”式的假创新。...ChatGPT 原来决定于 2023 年5月15日实行开源,最近奥特曼在答复张宏江提问时对是否引进开源的问题,奧特曼回答说:开源目前不是最佳路径。...(但他也指出,前些日子已将 ChatGPT 的测试项目先行进行开源) 对 ChatGPT 是否开源?...国外一些大师也有争议:他们认为,为了保障 ChatGPT 的安全,不致为黑客利用危害人类,应将 ChatGPT 所有环节都实行透明开源不是限制开源!

17020

Google 内部的 Python 代码风格指南(译)

当捕获了异常时,用as不是逗号分段. try: raise Error() except Error as error: pass 2.5 全局变量 避免全局变量 2.5.1 定义...在处理整数时,隐式的False可能会引入更多风险(例如意外地将None和0进行了相同的处理)你可以用一个已知是整形(并且不是len()的结果)的值和整数0比较....import Python3已经可用了(译者:目前Python2已经不受支持了),尽管不是每个项目都准备好使用Python3,所有的代码应该兼容Python3并且在可能的情况下在Python3的环境下测试...对于Python2兼容的代码,用Text,在一些很罕见的情况下,str可能可用.当在不同Python版本之间返回值类型不同的时候通常是为了照顾兼容性.避免使用unicode,因为Python3中不存在....条件import的类型被视为字符串引用,以和Python3.6兼容(在Python3.6中,注释表达式实际上被赋值的).

1.7K10

Python干货——内置函数(2)

所谓内置函数就是可以直接拿过来使用的函数,Python已经帮我们内部实现了逻辑,我们只需要直接调用即可,Python一共给我们提供了68个内置函数。...除了是0、空、False外都算是True 返回值为 bool 类型 函数注意点: 只有存在空(None)、Fasle、0的可迭代参数的时候才返回False。...否则返回True 返回值为 bool 类型 函数注意点: 当可迭代参数为空的时候返回Fasle。...(sorted(tupleArr, reverse=True)) # [6, 4, 3, 1, True, 0] 复制代码 可以传递其他的参数,比如:忽略字符大小写 # 可以忽略大小写排序 注意:这里不是调用的...: dict = {} dictionary['name'] = '张三' dictionary['age'] = 20 dictionary['sex'] = True print(dictionary

1.2K10

Google 内部的 Python 代码风格指南

当捕获了异常时,用as不是逗号分段. try: raise Error() except Error as error: pass 2.5 全局变量 避免全局变量 2.5.1 定义...在处理整数时,隐式的False可能会引入更多风险(例如意外地将None和0进行了相同的处理)你可以用一个已知是整形(并且不是len()的结果)的值和整数0比较....import Python3已经可用了(译者:目前Python2已经不受支持了),尽管不是每个项目都准备好使用Python3,所有的代码应该兼容Python3并且在可能的情况下在Python3的环境下测试...对于Python2兼容的代码,用Text,在一些很罕见的情况下,str可能可用.当在不同Python版本之间返回值类型不同的时候通常是为了照顾兼容性.避免使用unicode,因为Python3中不存在....条件import的类型被视为字符串引用,以和Python3.6兼容(在Python3.6中,注释表达式实际上被赋值的).

1.5K30

Google内部Python代码风格指南(中文版)

当捕获了异常时,用as不是逗号分段. try: raise Error() except Error as error: pass 2.5 全局变量 避免全局变量 2.5.1 定义...在处理整数时,隐式的False可能会引入更多风险(例如意外地将None和0进行了相同的处理)你可以用一个已知是整形(并且不是len()的结果)的值和整数0比较....import Python3已经可用了(译者:目前Python2已经不受支持了),尽管不是每个项目都准备好使用Python3,所有的代码应该兼容Python3并且在可能的情况下在Python3的环境下测试...对于Python2兼容的代码,用Text,在一些很罕见的情况下,str可能可用.当在不同Python版本之间返回值类型不同的时候通常是为了照顾兼容性.避免使用unicode,因为Python3中不存在....条件import的类型被视为字符串引用,以和Python3.6兼容(在Python3.6中,注释表达式实际上被赋值的).

1.2K30

Google 内部的 Python 代码风格指南

当捕获了异常时,用as不是逗号分段. try:     raise Error() except Error as error:     pass 2.5 全局变量 避免全局变量 2.5.1 定义...在处理整数时,隐式的False可能会引入更多风险(例如意外地将None和0进行了相同的处理)你可以用一个已知是整形(并且不是len()的结果)的值和整数0比较....import Python3已经可用了(译者:目前Python2已经不受支持了),尽管不是每个项目都准备好使用Python3,所有的代码应该兼容Python3并且在可能的情况下在Python3的环境下测试...对于Python2兼容的代码,用Text,在一些很罕见的情况下,str可能可用.当在不同Python版本之间返回值类型不同的时候通常是为了照顾兼容性.避免使用unicode,因为Python3中不存在....条件import的类型被视为字符串引用,以和Python3.6兼容(在Python3.6中,注释表达式实际上被赋值的).

1.5K20

Python 代码风格指南谷歌版

在处理整数时,隐式的False可能会引入更多风险(例如意外地将None和0进行了相同的处理)你可以用一个已知是整形(并且不是len()的结果)的值和整数0比较....method = my_decorator(method) 2.17.2 Pros 能够优雅的对方法进行某种转换,该转换可能减少一些重复代码并保持不变性等等. 2.17.3 Cons 装饰器可以对函数的参数和返回值任意操作...import Python3已经可用了(译者:目前Python2已经不受支持了),尽管不是每个项目都准备好使用Python3,所有的代码应该兼容Python3并且在可能的情况下在Python3的环境下测试...对于Python2兼容的代码,用Text,在一些很罕见的情况下,str可能可用.当在不同Python版本之间返回值类型不同的时候通常是为了照顾兼容性.避免使用unicode,因为Python3中不存在....条件import的类型被视为字符串引用,以和Python3.6兼容(在Python3.6中,注释表达式实际上被赋值的).

1.2K30
领券