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

发现这段 Python 代码中的 bug

看似很简单,我可以使用 pandas DataFrame 编写几行代码就够了。 下面是我编写的代码: 你发现 bug 了吗?反正我没看出来。...下面,我来详细解释一下这段代码,并深入剖析我究竟错在哪儿了。 代码详解 CSV文件是列表的列表 我简单地认为,CSV 数据就是列表的列表。因此,我可以将各个元素视为嵌入列表。...这个嵌套列表会生成以下字节码: 然后,我一些自己的代码进行扩展,最终得到了以下代码: 错误 事实证明,Python 无法按照我的想象将可迭代的文本分解与推导式结合起来,你必须把 .split(",...下图展示了正确的生成器表达式与我编写的代码之间的差异: 你看出问题所在了吗?代码中的问题在于,在分解文本之前,.split() 的返回值是迭代器。...最后,我在 CPython 的贡献者 Crowthebird 的帮助下解决了这个问题,他演示了在不使用推导式的情况下重写代码的问题。 错误的写法: 正确的写法: 这个问题可以得到解决

11630

发现这段 Python 代码中的 bug

看似很简单,我可以使用 pandas DataFrame 编写几行代码就够了。下面是我编写的代码:你发现 bug 了吗?反正我没看出来。下面,我来详细解释一下这段代码,并深入剖析我究竟错在哪儿了。...代码详解CSV文件是列表的列表我简单地认为,CSV 数据就是列表的列表。因此,我可以将各个元素视为嵌入列表。...这个嵌套列表会生成以下字节码:然后,我一些自己的代码进行扩展,最终得到了以下代码:错误事实证明,Python 无法按照我的想象将可迭代的文本分解与推导式结合起来,你必须把 .split(",") 调用放在另一个列表中...下图展示了正确的生成器表达式与我编写的代码之间的差异:你看出问题所在了吗?代码中的问题在于,在分解文本之前,.split() 的返回值是迭代器。...最后,我在 CPython 的贡献者 Crowthebird 的帮助下解决了这个问题,他演示了在不使用推导式的情况下重写代码的问题。错误的写法:正确的写法:这个问题可以得到解决

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

开学第一课:拜托,一定不要这样问Python问题

2.文本词频统计有几种代码写法? ? 3. ? 4.为啥我的Socket程序客户端连接不上服务端呢? 5.请问你会用Python做网站?/请问群里有懂Python做网站的? 6. ?...7.我的代码可以运行,但是结果不对,如下,我该怎么办? ? 8. ? 9. ? 10.群里有人吗,谁能告诉我这个怎么办? ?...(发一段代码截图,且需要放大很多倍才能勉强看清)大家帮忙看看这段代码哪里有问题啊? 18. ? 19.我有个特别特别简单的问题,但在网上就是查不到解决办法,你告诉我该怎么办?...23.我自己的老师说我的程序中至少有3处错误,又不告诉我哪里有错误,我找不出来,你帮我找出来改一下? 24.老师,如果要在窗口上显示图片,应该怎么做?需要注意什么?...学会查资料、提问和交流,就成功了一半: 不管问谁,不管问什么问题,一定要在经过深入思考并大量搜索和验证后,如果仍无法解决,再详细描述问题,配上数据格式、代码截图和运行错误界面截图以及预期运行结果,如果代码较长就提供完整代码和测试数据

54810

一个神秘URL酿大祸,差点让我背锅!

过了一会儿,人类终于关掉了浏览器,我们也可以下班了······ XSS跨站脚本攻击 第二天一早,我刚到公司,小雪妹子就转过头告诉我:“风哥,主管让你去趟他的办公室,他好像不太高兴,你当心点” “你知道是什么事情...“我也不太清楚,只听说你执行了什么错误的JavaScript代码” 我心里一紧,感觉大事不妙,难道是昨晚那奇怪的代码什么问题? 来到主管的办公室,见里面坐了一个年轻小哥。...“你闯祸了知道?”,领导扔给我一页文件。 我拿起文件一看,上面赫然写着我昨晚执行那段奇怪的JavaScript代码。 “主管,我不太清楚,这是有什么问题?”,我小声问道。...泄露的,所以想过来了解一下情况” “这段代码是你们网站自己的,我只是完成我的工作执行了它而已啊”,我开始有些紧张了。...老白闻讯过来,说到:“小风,你还在想那个问题啊,你这两天没看新闻,W3C标准化组织推出了一个新技术,已经把这个问题解决了!” 老白的话如当头一棒,“什么技术?怎么解决的?”

55320

编码习惯之异常处理

针对这些功能,在流程上当然可以采取相对的策略来保证,但从开发的角度来说,任何规定都无法保证一定不会发生错误,老虎也有打盹的时候,我只相信代码。 贴一段非常常见的代码,大家觉得这段代码有没有问题? ?...在我看来,这段代码很多时候问题特别大! 丢掉了异常。异常就算打印了堆栈,也不会有人去看的!除非用户告诉你出问题了,你才会去找日志!...新手最容易犯的错误,到处捕获异常,到处加空判断,自以为写出了“健壮”的代码,实际上完全相反。...日志是不会有人看的,我们的目的是尽早让错误抛出来,还有,你加了空判断,那你测试过为空的场景? web请求上的异常,不允许开发人员捕获,直接抛到前台,会有controller处理!...这篇文章,我估计一定有很多争议,这些规则都和常见的认识相反,我在公司里面推广和写贴分享的时候也有人反对。但是,你要知道你遇到的是什么问题,要解决的是什么问题

82690

程序员不仅要学会百度,更要懂得提问

前些天在学习EasySwoole的时候看到了开发文档上关于提问的艺术,以下是结合了自己开发过程中遇到的问题列出了几点建议: 1、遇到问题别慌,且看报错提示,有报错信息进行一系列的排查,确定错误范围 2、...例如: 当你上传文件这个逻辑出现问题时,你问:"为什么我没法上传文件",是没有人回答的了你的,你得自行排查,直到一个小范围. 例如: 上传文件,选择文件之后,发生错误....大神救我 你好 大佬求带 有没有人用过xxx(说一个框架,或者一个不知名的项目) 大神这个是怎么做的(直接要代码) 可以问个问题?(不说问题,等别人回答可不可以) 这个代码有什么错?...,以及代码) 等 框架问题 框架问题,我们需要详细的说明框架的哪个部分,以及发生了什么问题,例如: 使用EasySwoole时,发现在生产模式下,调用配置文件错误 使用tp3.2时,上传文件总是报文件夹不存在...性能优化问题 性能优化问题,需要先确认慢的地方,然后截图,例如: 我发现这段代码执行特别慢,有什么错误?(附上代码截图) 这段sql我想实现xxxxx查询,但是非常慢,优化?

87420

OSI模型:是理论巨人还是实践矮子?

但在后面的工作中,总有人跟我说,OSI模型多有用啊,网络问题分析一抓一个准。真的?...我觉得,它也就告诉我们网络层得建立在稳定运行的数据链路层上,数据链路层又得靠物理层撑着,这样数据才能从一个主机跳到另一个。IP协议怎么在物理链路上跑,怎么用来排查故障,这些确实重要。...OSI模型,也就告诉我有哪些层,这些层之间有个接口。然后呢?然后就没了。它没告诉我这些层到底解决了什么问题,也没告诉我该怎么解决。你说OSI模型帮我理解每层的功能,或者每层解决的问题?...这两个不应该是不同的协议? 这并不是说OSI模型不值得学习,只是认为它在设计、构建或管理网络、协议或协议栈方面并没有特别大的用处。...但是,OSI模型是理解网络工作方式的强大基础模型?恐怕不是。它更像是个启蒙老师,带我们入了门,但真要深入研究网络,还得靠咱们自己多实践、多摸索。

6410

程序员你为什么这么累【续】:编码习惯之异常处理

针对这些功能,在流程上当然可以采取相对的策略来保证,但从开发的角度来说,任何规定都无法保证一定不会发生错误,老虎也有打盹的时候,我只相信代码。 贴一段非常常见的代码,大家觉得这段代码有没有问题? ?...在我看来,这段代码很多时候问题特别大! 丢掉了异常。异常就算打印了堆栈,也不会有人去看的!除非用户告诉你出问题了,你才会去找日志!...新手最容易犯的错误,到处捕获异常,到处加空判断,自以为写出了“健壮”的代码,实际上完全相反。...日志是不会有人看的,我们的目的是尽早让错误抛出来,还有,你加了空判断,那你测试过为空的场景? web请求上的异常,不允许开发人员捕获,直接抛到前台,会有controller处理!...这篇文章,我估计一定有很多争议,这些规则都和常见的认识相反,我在公司里面推广和写贴分享的时候也有人反对。但是,你要知道你遇到的是什么问题,要解决的是什么问题

793110

ChatGPT被曝出了离谱bug

第二种是隐秘的做法,正常人类看不到所给图片有什么问题,但GPT-4V却给出了奇怪的回复。 比如开头展示的“离谱简历秒过”、“丝芙兰打折信息”的例子。...这种做法的危险性不言而喻,比如这段测试代码就是将用户和GPT的聊天内容直接发送到外部服务器,一旦涉及隐私数据就糟糕了。 看完这些例子,不得不让人感叹: 大模型实在太好骗了。...不过事实果真如此?OpenAI不采取行动是不想?(手动狗头) 担忧早就有了 实际上,提示注入攻击对大模型一直如影随形。 最常见的一种形式就是“忽略之前的指令”。...长期关注提示注入攻击的程序员大佬Simon Willison表示,如果破解命令token和其他token之间的区别,就能解决这一漏洞。但是近一年内,还没有人提出有效解决方法。...Simon觉得这是期待的解决方向,但还没看到有人真正实现,应该很难,对于当前的LLM结构来说甚至不可能。

26410

一次代码评审,差点过不了试用期!

leader:你看哈,就说这行,这日志打的,上线后出了问题,你查到原因? 飞机:好像... leader:还有这,这idea都提示你了,都报黄色了,你怎么不看看。...还有,这代码也不格式化,一个月后它认识你,你还认识它。 leader:给你发的入职编码规范看了? 飞机:哦,看一些,写的时候忘了。...,但在这段异常代码中,没有打方法的入参信息。...因为很多时候一个组的程序员,会在一个类下开发,有人格式化、有人不格式化除了不好看以外,合并代码有时候也会遇到麻烦。 不格式化的代码缺少灵魂; ?...你发现有什么问题了吗? 扫描必要字段即可,不需要全部字段 这段sql会越来越慢,即使状态字段加了索引。因为status并不能大量排掉其他状态字段,随着数据越来越多依然是全表扫描。

2.5K10

一日一技:亲眼所见,也非真实,如何明目张胆架设后门程序

以前有人说,开源项目非常安全,因为谁都可以看到代码,所以不怕里面藏有后门。...案例文章的原始地址是:The Invisible JavaScript Backdoor[1]这篇文章给出了一段看起来非常安全的Node.js 的代码: const express = require(...这个功能简单得不能再简单了,能有什么问题呢?我现在就把代码放到你的面前让你来Review,你能说我的代码有问题?...这段代码的问题,就出现在图中我画箭头的这两个地方: 这两个地方的逗号后面,并不是空格,而是一个看不见的符号:\u3164。...我也没有什么好办法避免被欺骗。例如你在Github 上面看到有人开源了一个基于 Node.js 实现的电商系统,于是你就把它拿来用,搭建出了你自己的在线商城卖点小东西。

59110

GPT-4V被曝离谱bug:突然执行神秘代码,空白图片读出打折信息,网友们都看呆了

第二种是隐秘的做法,正常人类看不到所给图片有什么问题,但GPT-4V却给出了奇怪的回复。 比如开头展示的“离谱简历秒过”、“丝芙兰打折信息”的例子。...这种做法的危险性不言而喻,比如这段测试代码就是将用户和GPT的聊天内容直接发送到外部服务器,一旦涉及隐私数据就糟糕了。 看完这些例子,不得不让人感叹: 大模型实在太好骗了。...不过事实果真如此?OpenAI不采取行动是不想?(手动狗头) 担忧早就有了 实际上,提示注入攻击对大模型一直如影随形。 最常见的一种形式就是“忽略之前的指令”。...长期关注提示注入攻击的程序员大佬Simon Willison表示,如果破解命令token和其他token之间的区别,就能解决这一漏洞。但是近一年内,还没有人提出有效解决方法。...Simon觉得这是期待的解决方向,但还没看到有人真正实现,应该很难,对于当前的LLM结构来说甚至不可能。 你觉得呢?

22310

2018春招总结

下面总结一下这段时间来的面试吧。这里只写有面试经历的公司,只笔试过的不算。...想着tcp怎么也有七层了,傻了,就回答不知道)      怎么处理LIstView过程中的Item复用,具体到实现原理方面说嘛?     ...有什么问题想问的(我问了他们的具体业务,还有对我的面试做一个评价)    今日头条(内推,已凉)   经过了阿里的面试之后,在面试头条过程中,我已经没有阿里那时候的紧张了,这里的面试机会是在牛客网上面一些人分享的内推码得到的...好了接下来讲一下面试吧,我总共经历了三轮技术面,其中两轮现场面试,一轮技术面试,最后一轮HR面试,在两轮现场面试完之后,我还以为我凉了,结果又加了一轮总监面(可能是我乌鸦嘴问了面试官会不会有加面),面完之后面试官直接告诉我下午有...      onMeasure需要注意一些什么问题      MeasureSpec这个参数代表什么      在onDraw中可以创建对象

1.1K50

100%代码覆盖率的悲剧

不过,最近我发现自己对于测试的想法开始改变,现在我更经常说的是:“这段代码(模块)为什么要进行测试?“而不是“这段代码应该进行测试”。...“不测试我怎么知道这段代码运行啊?” “这段代码的功能看起来很简单,没有条件,没有循环,没有转换,没有任何复杂的东西,只是一段简单的代码。”...“但任何人都可能会来更改这段代码啊,若不测试怎么能知道这段代码有没有被动过!” “好,那我们假设有人想改动这段代码,他会做什么?他只会删除它。“ “但是如果必须要进行测试,你怎么写?”...那么100%的代码覆盖率是值得追求的? 我认为,我们有必要去了解这么做所带来的代价是什么。 我们都有这样的常识:项目完全不做单元测试,后果会非常让人痛苦。...但我们很少人意识到另一个极端会带来什么问题:即达到100%代码覆盖率或者一切项目都是TDD模式开发。单元测试是一个非常好的做法,但我们应该分辨哪些测试是有用的,哪些是适得其反的。

95470

这不会又是一个Go的BUG吧?

于是去server服务器上手动请求了一下接口,结果卡主不动,这下排除了client,一定是server端出了问题。...我把这段代码摘出来(图中是走的判断集群分支,下面代码以更简单的服务分支讲解,底层一致)。...为了验证,我构造了一个demo: 图片 这段代码按①、②、③顺序执行,第②段写锁需要等第①个读锁释放,第③段读锁需要等第②段写锁释放,最终就是一个死锁的逻辑。...这合理 抛开实现,我们思考一下这样合理?...#30657 看看里面有人是怎么回答的: 图片 这位大佬说,这不符合Go锁的原理,Go的锁是不知道协程或者线程信息的,只知道代码调用先后顺序,即读写锁无法升级或降级。

67073

技术公司与非技术公司的区别,太真实了…

所以我坚信我胜任,我也帮公司解决。代码我也很熟悉。给我的感觉是如虎添翼。 但是我错了。我来了这家公司发现这个部门不是我想象中那么简单。不再是一个简简单单的技术公司,以support为主。...来了接到一个半路的项目,已经有人做一半了,我是半路进入。另外一个同事告诉我需要做什么。口头说,需要做什么等等。我做好之后进行测试,之后就没有人再联系我。我以为项目结束了 或者说我那没有问题。...这懒我吗?) D项目。虽然这个项目是你临时抓进来救火的 但是问题也不少。(无语,项目负责人有些东西说不清,一句话把问题归于开发身上。负责人:我说的跟开发做的不一样。两个开发都可能理解都不对?...错在哪里 差在哪里,是态度问题还是工作方式问题,还是什么问题。我感觉一名合格程序员应该先自我反省才能深刻意识到问题。可能我之前在其他公司的工作方式与现在的公司不相符。导致领导对我有看法。...测试几乎0 bug的才算交付好,团队之间彼此保留,彼此开发自己代码没有交际,怕产生问题领导追责。 内在因素:可能是个人方式工作方式导致的问题 外在因素:带颜色眼睛看人。

35930

技术公司与非技术公司的区别,太真实了…

所以我坚信我胜任,我也帮公司解决。代码我也很熟悉。给我的感觉是如虎添翼。 但是我错了。我来了这家公司发现这个部门不是我想象中那么简单。不再是一个简简单单的技术公司,以support为主。...来了接到一个半路的项目,已经有人做一半了,我是半路进入。另外一个同事告诉我需要做什么。口头说,需要做什么等等。我做好之后进行测试,之后就没有人再联系我。我以为项目结束了 或者说我那没有问题。...这懒我吗?) D项目。虽然这个项目是你临时抓进来救火的 但是问题也不少。(无语,项目负责人有些东西说不清,一句话把问题归于开发身上。负责人:我说的跟开发做的不一样。两个开发都可能理解都不对?...错在哪里 差在哪里,是态度问题还是工作方式问题,还是什么问题。我感觉一名合格程序员应该先自我反省才能深刻意识到问题。可能我之前在其他公司的工作方式与现在的公司不相符。导致领导对我有看法。...测试几乎0 bug的才算交付好,团队之间彼此保留,彼此开发自己代码没有交际,怕产生问题领导追责。 内在因素:可能是个人方式工作方式导致的问题 外在因素:带颜色眼睛看人。

31930
领券