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

为什么我的递归函数返回None

问: 我有一个调用自己的函数: def get_input(): my_var = input('Enter "a" or "b": ') if my_var !...: Type "a" or "b": a got input: a 但是,如果我输入别的东西,然后输入 "a" 或 "b",我会得到这样的结果: Type "a" or "b": purple You...Type "a" or "b": a got input: None 我不明白为什么 get_input() 函数返回的是 None,因为它本应只返回 my_var。这个 None 是从哪里来的?...我该如何修复我的函数呢? 答: 它返回 None 是因为当你递归调用它时: if my_var != "a" and my_var !...因此,尽管递归确实发生了,但返回值却被丢弃了,然后你会从函数末尾退出。在函数末尾退出意味着 Python 会隐式地返回 None,就像下面这样: >>> def f(x): ...

13910

为什么我的自动化流程不执行

很多人经常会有这个问题,为什么我的自动化流程不执行。...如果你设置好了自动化流程,但是自动化流程却没有执行,请按照如下的顺序检查你的流程配置:第一步:请检查自动化流程有没有发布和上线来到【操作后台】- 【我的流程】,上线的流程会如图显示【上线】;没有上线的流程会显示灰色...我的流程第二步:请检查自动化流程是否有执行请来到后台【流程日志】,如果运行成功的流程就会显示【执行成功】并有一个【运行id】。...自动化流程执行失败第三步:确认流程是上线状态,但是流程没有执行,为什么?如果流程确认是上线状态,需要确定你的流程是否符合你设定的触发条件,如果没有达到对应的条件,是不会触发的。...,被判断了没有执行【流程执行过程中修改】:在有【延迟执行】的流程上线后,进行修改,会导致后续的流程不执行

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

    我为什么不建议使用框架默认的 DefaultMeterObservationHandler

    我为什么不建议使用框架默认的 DefaultMeterObservationHandler 背景知识 最近,我们升级了 SpringBoot 3.x,并且,升级后,我们全面改造了原来的 Sleuth 以及...} log.info("cost {} ms", System.currentTimeMillis() - start); } } } 在我的电脑上...我们将全局的 ObservationHandler 改为什么都不做的,对比下: package com.github.hashjang.wwsmbjysymrdo; import io.micrometer.common.KeyValue...start 的时候,创建一个 LongTaskTimer.Sample 对象,然后将这个 LongTaskTimer.Sample 对象放入 LongTaskTimer 的 activeTasks 中,...解决方案 我们可以替换掉 DefaultMeterObservationHandler,自己实现一个 MeterObservationHandler,在 start 的时候,不创建 LongTaskTimer.Sample

    13500

    为什么我把 Run 出来的 Apk 发给老板,却装不上!

    序 当我们在 Android Studio 中,直接 Run 一个项目时,AS 会自动打一个 Debug 的 Apk,并通过 ADB 命令,将 App 安装到我们连接的设备上。...Run 的 Apk 2.1 textOnly 属性 我们知道,AS Run 起来的 Apk,会使用 Debug 签名进行签名,不过安装不上,并不是签名的问题。...这就是为什么你无法安装 Run 出来的 Debug.apk。 2.2 为什么要这么设计? 这个问题,对于大多数开发者来说,基本上不是问题。...如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。 希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!...八年Android开发,从码农到架构师分享我的技术成长之路,共勉! 最后祝大家生活愉快~

    2.7K30

    为什么我把 Run 出来的 Apk 发给老板,却装不上!

    序 当我们在 Android Studio 中,直接 Run 一个项目时,AS 会自动打一个 Debug 的 Apk,并通过 ADB 命令,将 App 安装到我们连接的设备上。...Run 的 Apk 2.1 testOnly 属性 我们知道,AS Run 起来的 Apk,会使用 Debug 签名进行签名,不过安装不上,并不是签名的问题。...android:testOnly 对应的是 ApplicationInfo 中的 FLAG_TEST_ONLY,这个 Flag 最早在 Api Level 4 就已经存在,使用它不会有任何低版本兼容的问题...这就是为什么你无法安装 Run 出来的 Debug.apk。 2.2 为什么要这么设计? 这个问题,对于大多数开发者来说,基本上不是问题。...adb install -t debug.apk 如果想要阻止 AS 在 Run 时,构建的 APK 中增加 android:testOnly 标记,也是有办法的。

    2.7K00

    996的程序员们,为什么我不建议你买保险?

    为此,我邀请了我的好朋友资深保险规划师杨震,请他从客观中立的角度给大家开一次讲座,全面解读保险里的陷阱,避免大家日后被坑。讲座开始前,先上一波干货,给大家分析一下日常买保险常见的各种不正确姿势。...保险中的雷区,你了解多少?下面就给大家扫盲保险中的几个误区: ——小贝保险规划总监:杨震 保险买不对,多花很多冤枉钱 虽然越来越多的人有了保险意识,但大多数人对保险的了解,还处于一无所知的阶段。...但很多人不知道,国家早已对各大保险公司疾病进行了统一,前25种重疾病种各家保险公司定义都是相同的。 所以,我们看重的数量应该是,重疾条款中附加的轻症和中症的项目。...要不然,我们花再多钱也是白搭,更得不到风险防御的效果。 买保险的4个正确打开方式 买保险的各种不正确姿势,每天都在我们身边上演,这么深的水,怎么才能避免被坑钱呢?...其实多花很多冤枉钱 有的朋友在代理人的说服下很容易就买了一份“返还险”,认为到期了不生病还可以返还保费,像是捡了一个大便宜。 但其实,这类保险是两全型保险,在寿险的基础上附加一款重疾险。

    2.8K20

    为什么我的数据不按顺序排序原来如此 | Java Debug 笔记

    我的接口返回的数据顺序总是不固定问题描述====我在开发突发奇想。将表头信息也给查出来一并返回给前端了。但是正因为这一举动却带来嘲讽。...说我的接口顺序不对问题定位====首先说明下这个问题是刚入行时遇到的。当时很是困惑,当然啦现在看来真的是贻笑大方了。刚入行那会一直都是使用Mybatis 框架实现数据的获取的。...问题分析====下面我们向HashMap 中添加如下元素 。然后当我们map进行输出的时候是先横向遍历。当遇到有纵向数据是在纵向遍历。...决定一探究竟为什么LinkedHashMap 可以实现按照写入顺序排序。通过结构图我们清楚看到他是HashMap的子类。所以他的存储结构和HashMap基本上是一样的。...因为这里是Bug解析所以关于LinkedHashMap源码的东西我就不深入研究了。最终我追踪到了是其内部linkNodeLast这个方法使其具有写入顺序的特性。

    31410

    我对torch中的gather函数的一点理解

    根据得到的索引在输入中取值#[1,1],[4,3] c = torch.gather(a,0,torch.LongTensor([[0,0],[1,0]]))#1....根据得到的索引在输入中取值#[1,2],[3,2] 原理解释 假设输入与上同;index=B;输出为C B中每个元素分别为b(0,0)=0,b(0,1)=0 b(1,0)=1,b(1,1)=0 如果dim...=0(列) 则取B中元素的列号,如:b(0,1)的1 b(0,1)=0,所以C中的c(0,1)=输入的(0,1)处元素2 如果dim=1(行) 则取B中元素的列号,如:b(0,1)的0 b(0,1)=0...,所以C中的c(0,1)=输入的(0,0)处元素1 总结如下:输出 元素 在 输入张量 中的位置为:输出元素位置取决于同位置的index元素 dim=1时,取同位置的index元素的行号做行号,...最后根据得到的索引在输入中取值 index类型必须为LongTensor gather最终的输出变量与index同形。

    94240

    为什么我不推荐另外2种快速传几百G文件的方法!

    参看 两台电脑之间如何快速传输几百G的文件?-两台,传输,文件,电脑 ? 这里说说为什么不推荐另外2种。 一个是网络存储。...为什么不推荐,因为pandownload的被举报,开发者收监,百度的名声臭的不可救药。所以不推荐。 国外的网速,你我都是知道的。 还有一个是,软件共享。 有人说这很简单啊,局域网有QQ,不就行了?...单说用户量超大的QQ,在Linux发行版的支持,都多少年没有更新了?这能用的了? 所以软件推荐,只能在软件和网络层面加快传输速度,还要搞跨平台的兼容,老复杂了。Bye!...回答发出后,有不少网友回复说, “我直接拔下来硬盘,接到新主机上。新主机启动,挂载为新的磁盘,立马可用!” 这个也是经不起推敲的。...很多朋友第一反应,就这么干,是因为默认使用的都是windows的系统。 惯性使然。 写在最后 最快的办法还是物理连接,使用电缆线,网线,硬盘挂载,都比纯软件实现要快的多。

    2.8K10

    为什么同样的代码我就是跑不起来,同事却能跑起来?

    不知道小伙伴们有没有遇到过标题的问题,明明同样的一套代码,在自己本地就是运行不起来,或者说在本地只改了一个无关痛痒的代码,看上去人畜无害,结果就报各种乱七八糟的错误,但是同事却能运行的好好的。...这种情况下其实你们的代码版本是不一样的,并不是标题提到的一样的代码,但是很多时候自己内心会以为代码是一样的。...还有就是对方运行的效果可能是缓存数据,可以清除一下对方的缓存,maven 的缓存,浏览器的缓存等所有可能有缓存的地方,然后再次运行,确保在对方的环境下是真正的能正确的运行。 真的没改动代码吗?...还有一种情况就是自己本地的确实改动了部分代码,但是改动的地方看上去是人畜无害的,但是就是跑不起来。...总结 反正跑不起来肯定有原因,不是代码原因就是环境原因,一般经过上面几个方式的排查,都能找到问题了,如果再不行,重新查询拉取代码库也未尝不是一个方法,当然如果实在解决不了,咨询前辈也是一个很有效的方法。

    1.5K30

    从循环条件的代码里,我能在面试中甄别程序员是否是高级

    一般来说,工作经验满3后,程序员就达到了高级程序员的年限要求,但能力上是否达到?又如何在面试里短短30分钟里验证程序员是否达到高级程序员的水准?...这里我们来分享下控制流程时的经常会用到的技巧。     我们来通过一个判断是否闰年的LeapYear.java例子来看下if…else语句的常规写法。...我们看到,这个例子中第5第6行的条件语句里,用到了&&和||来进行and和or操作,请大家注意别把这个和&和|混淆,一个&和一个|是位操作(用的地方不多,所以这里不讲),而两个&&和两个||是布尔操作。...原因是,我们在做代码测试时,得完全覆盖条件表达式的各种情况,比如在判断闰年的例子里,我们用的测试案例如下。     1是能被4整除但不能被100整除的年份,比如2016。    ...2 不能被4整除的年份,比如2015。     3 能同时被4和100整除,但不能被400整除的年份,比如1900。     4 能被400整除的年份,比如2000。

    84030

    从Vue.js源码中我学到的几个实用函数

    如果想看Vuejs源码,不知道如何下手,一般推荐配置Sourcemap,针对单个问题调试来看,如何调试Vuejs源码,我的vuex源码文章中写了。...点击下方卡片关注我、加个星标,或者查看源码等系列文章。学习源码整体架构系列、年度总结、JS基础系列 ---- 话不多说,赶快试试尤大大教给我们的这几个实用函数吧!在工作中肯定会用得到。...立即执行函数 页面加载完成后只执行一次的设置函数。...(function (a, b) { console.log(a, b); // 1,2 })(1, 2); 通常,全局变量被作为一个参数传递给立即执行参数,这样它在函数内部不使用window也可以被访问到...当然,在某些情况下,我们需要将某些方法定义在构造函数中,这种情况一般是因为我们需要访问构造函数内部的私有变量。

    2.5K40

    我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?

    明明说好的长度限制是2147483647,为什么65535个字符就无法编译了呢?...当我们使用字符串字面量直接定义String的时候,是会把字符串在常量池中存储一份的。那么上面提到的65534其实是常量池的限制。 常量池中的每一种数据项也有自己的类型。...Java中的UTF-8编码的Unicode字符串在常量池中以CONSTANT_Utf8类型表示。...CONSTANTUtf8info的介绍,这里就不详细展开了,我们只需要我们使用字面量定义的字符串在class文件中,是使用CONSTANTUtf8info存储的,而CONSTANTUtf8info中有u2...也就是说,在Java中,所有需要保存在常量池中的数据,长度最大不能超过65535,这当然也包括字符串的定义咯。

    1.5K30

    OpenCV论道:为什么我的伽马校正函数只有一行?

    大家好,又见面了,我是你们的朋友全栈君。...就是提升图像的暗部细节。这与加曝处理是不一样的,加曝一般不区分图像的暗部和亮部。...奇怪的是,我在网上搜到的伽马校正函数看起来都很复杂,即便是 python 写的,也都得十几行甚至几十行,可我写的伽马校正函数只有一行。为什么会这样呢?是我理解的不对吗?...、伽马校正(gamma=2)的灰度二值化效果、伽马校正(gamma=3)的灰度二值化效果: 对于彩色图片,这个伽马校正函数依然有效。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.1K20

    Python 按规则解析并替换字符串中的变量及函数

    按规则解析并替换字符串中的变量及函数 需求 1、按照一定规则解析字符串中的函数、变量表达式,并替换这些表达式。...__打头 ${ 之间不能有空格 函数名称和函数的左括号 ( 之间不能有空隔 函数支持嵌套,形如:{ __function1( {__function2()} )} 函数参数如果是字符串(包括由嵌套函数返回值...) # 用于获取动态值中的变量表达式 REGEX_PATTERN_FOR_FUNC_DEFINITION = re.compile('\${\s*__.+?...\)\s*}', re.DOTALL) # 用于获取函数表达式中的函数名称及其参数 REGEX_PATTERN_FOR_FUNC_NAME_WITH_ARGS = re.compile('\${\s*(...\)\s*}', re.DOTALL) # 用于获取函数表达式中的函数名称及其参数 def test_func1(): print('-----func1 called-----') def

    32440

    回忆:我技术生涯中的那些“惊悚”瞬间,谢老板当年的不“杀”之恩

    很多时候,我们会习惯性的将问题与用人不当扯上关系,在我看来,在相同体制下,张三会发生,李四也会发生。就好比交通规则,中国有,日本也有,那为什么执行结果却截然不同呢?...这些现象在技术圈内屡见不鲜,并不稀奇,如碰到,算你倒霉,如没碰到,算你运气爆棚。 说到这有人说,我技术生涯十多年了,就从来没有出过事故,自己能力有问题,别总找客观因素。...的确,但有时 “客观因素” 却占据重要位置,即便再好的RP也有爆表一刻,再坚固不摧的技术风控也会遭遇百密一疏。...我的运气还算不错,在近二十年的技术生涯中,虽遭遇过多次“惊悚” 瞬间,但均有惊无险,至少没被老板炒了鱿鱼,也没对公司(或客户)造成太大的直接损失。...跟顺丰事件的主人翁比起来,我算是幸运的,虽然每次都不同程度的受到物质或精神上的惩罚,但还是要谢谢几位老板当年的不 “杀” 之恩,毕竟没有让我瞬间丢了工作,还能继续偿还房贷。

    54620

    静态变量 静态对象 静态函数和非静态函数的区别。(我的理解,大家看看对不对)

    争论最大的是静态函数这一块。 1、静态变量。在内存里是应该只有一份,不管是不是多线程,是不是多用户同时访问,静态变量只占用一份内存。 2、静态对象和静态变量也差不多,只有一份。...个人认为 SqlConnection 是不应该只用静态的,除非你的网站没有(或很少)并发访问的情况。 否则就很容易出现千军万马过独木桥的现象。挤不过去了就会瘫痪的。而且连接池也就无用武之地了。...当然函数内定义的变量、对象也应该是独立的(多份),有一个调用的就产生一份。 小结 静态函数和非静态函数最大的区别是,静态的不能访问所在类的属性和内的私有变量,其他的好像都一样了。...再有就是在调用的时候会不会“复制”一遍算法(函数本身)?(我感觉是都不会复制的)。 两者需要的参数,返回值应该是独立的,一个调用者一份,一个调用者不会访问到其它调用者的参数和返回值。...不知道我的看法对不对,请大家检查一下。

    1.8K50

    这个 Redis 连接池的新监控方式针不戳~我再加一点佐料

    Lettuce 是一个 Redis 连接池,和 Jedis 不一样的是,Lettuce 是主要基于 Netty 以及 ProjectReactor 实现的异步连接池。...在我们的微服务项目中,使用了 Spring Boot 以及 Spring Cloud。并且使用了 spring-data-redis 作为连接 Redis 的库。并且连接池使用的是 Lettuce。...ConnectedEvent:连接建立的时候会发出的事件,包含建立连接的远程 IP 与端口以及使用的 Redis URI 等信息,对应 Netty 其实就是 ChannelHandler 中的 channelActive...ReconnectAttemptEvent:Lettuce 中的 Redis 连接会被维护为长连接,当连接丢失,会自动重连,需要重连的时候,会发出这个事件。...: 针对这些修改,我也向社区提了一个 Pull Request:fix #1820 add JFR Event for Command Latency 在 Spring Boot 中(即增加了 spring-boot-starter-redis

    1.3K20

    今年我拿到了期望中的收入,同时更希望能在睡后收入上有进一步的发展——2021年我的总结与思考

    我记得是2017年开始在博客园写博客,并与当年年底写了这篇17年的年度总结,n年前,我没钱但年轻,我怕n年后我老时,还是一无所成——2017我的收获和反思,在随后的几年的年末,写总结文也已经成为了我的惯例...1 工作中要用的技术,虽然之前没接触过,但好歹我能快速解决,这可以说是解决问题的能力吧。     2 能和别人有效沟通,尤其能和老外用英语进行有效沟通,这可以说是沟通能力吧。    ...点击量是变现的的前提,更是睡后收益的有力保障,今年我好歹也拼凑出一些写高点击量文的经验,希望这些经验能在明年能继续发扬光大,为我带来更多的收益。...不管怎么说,在确保稳定睡后收入这方面,我今年总算有了个开头,在某平台,咨询的收入至少能帮我解决些零花钱,而自媒体的广告收益也总算有了零的突破,希望在明年,我能在这方面找到更多更好的方法。...我个人感觉,年入百万未必要靠开工作室,一个人做应当也行,但首先得有所侧重,不能光顾挣小钱而忽略探索挣钱渠道,其次还得靠优质的输出,这样才能在帮到别人的前提下,聚集流量,进而提升收益。

    33620
    领券