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

发现这段 Python 代码 bug

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

11030

求助~有人帮我看看这个程序是咋回事

说出来你可能不信,昨天晚上做梦,梦到了一段非常神秘代码。...醒来之后,这几串数字就像是刻在我脑袋里面似的,我竟然可以直接打出来: public class Real_TMD_Amazing { public static void main(String...只是简简单单觉得自己敲代码走火入魔了而已,搞得我梦里还在疯狂输出。...直到我在控制台看到了上面这个程序输出结果。整个人就是说一个大大不可思议: 所以趁着还有印象,赶紧写个文章分享给你,代码粘出来就能跑,让你也 Amazing 一下。...至于 Amazing 原理,之前文章解释过了,想要探索一下的话,可以点击下面,跳转到文章:https://mp.weixin.qq.com/s?

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

发现这段 Python 代码 bug

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

16920

谷歌工程师这段代码什么水平?

整篇文章只有放了一段代码,而且这段代码据说是前谷歌工程师,大家快来看看什么水平? ? 在这段代码下面,很多网友跟帖,下面精选一些网友回答: 网友一:不是说不要嵌套太多if么?...网友二:这种大三角事儿咱也没少干。 网友三:嵌套太多了吧,影响可读性。 网友四:在有业务逻辑时候,就不出这么漂亮了。 网友五:这样代码,根本不是给人看。嵌套太多,谁都不对。...网友六:我觉得这个问题得看看这段代码解决是什么问题,然后我们再基于这个问题考虑,就会体会到这段代码厉害之处了,相同之处参见刷算法题时费尽千辛万苦解决了一个问题,看答案排行,发现第一名代码量能只有自己十分之一运算性能还强令人发指...看来大家对谷歌前程序员代码,不是很满意,认为问题很多。其实不一定大牛代码就很牛逼,有些时候,也会出现一些小问题。曾经因为一行代码错误,日本价值18亿卫星就失控了。...因为一行代码错误,“瞳”卫星成为科学界悲剧。 代码可以改变世界,也可以毁灭世界,程序员就是这样一群牛逼存在。上面谷歌程序员那段代码,你觉得水平怎样,可以在下面留言!

53730

GitHub 新出功能!可以帮我们自动代码

这是「进击Coder」第 451 篇技术分享 作者:崔庆才 今天逛 GitHub 时候发现了 GitHub 出了一个新 Feature,叫做 GitHub Copilot,说可以帮我们自动代码...然后 GitHub Copilot 就能帮我们把代码写出来,它内容如下: const response = await fetch(`http://text-processing.com/api...它居然准确理解注释中我们描述两个需求 它居然知道调用哪个 API 来判断文本情感信息 它居然还能没有语法错误地把一个 JavaScript 方法写出来 牛逼了!...反正就是他们训练了一个模型,这个模型接受了数十亿行代码作为训练输入,最后就学会了人怎么代码了。 这波可以。...在我们 Code 时候,这个插件就会跟 OpenAI 模型通信,然后目前看到内容帮助我们自动写出想要代码,基本流程如下图所示: ? 好家伙,那我赶紧来下载看看。

1.4K40

AI是怎么帮我代码SQL?(本文不卖课)

【1】AI可以通用代码 例如,帮忙一个“半连接攻击”代码: AI瞬间就给了结果: 不仅如此,它还进行了详细说明: 有意思是,AI弹出了“违反政策”提示。...个人判断是,目前用AI业务代码还不太现实,但一些通用代码,是完全没有问题。 工程师们不要焦虑,业务研发不会这么快被取代。...画外音:不是改得挺好。...,但是用另一种语言编写,就可以用AI来帮我们来改写,抄代码更方便了。...希望帮助到大家。 另外,在实践过程中,我深切感受是,提示词质量,将严重影响输出质量。AI在有技巧提示词之下,确实发挥一定提高效率作用。

27520

代码真的规范

控制台没报错,功能正常并不代表自己代码是符合规范,更不能代表代码是没有隐患,我们需要一个更严谨工具来校验自己代码。而这个工具就是今天在这里介绍Eslint。...jsx代码校验工具,可以通过配置校验规则来避免代码里出现一些低级错误和统一代码风格。...但是有些就语法在chrome没报错,但是在ie会报错,因为日常开发主要在chrome,所以这些情况就会稍微不那么容易发现,比如: $.ajax({ url: url , type:'...这种错误很容易犯,而且chrome是不会报错!! }); 标点符校验 自己代码时候,经常会多加一些标点符号,比如上面对象属性最后逗号。或者经常遗忘一些不重要标点符号,比如分号。...fis虽然不火,但是针对fis做Eslint插件已经有人做好了,因为Eslint已经开放有相关API,所以实现这个插件也是很简单

1.1K40

Python代码规范

2.1缩进 我们知道在 if条件、for循环、while循环、函数等语句时都是需要缩进,正常来说缩进只要有缩进空格就行,具体缩进几个都行,所谓无规矩不成方圆,想象一下,你习惯缩进3个,我习惯缩进5...个,彼此交换代码时候,那代码看起来是有多乱。...,但是前提是注释够好够清晰,要不然不仅不会起到帮助作用,反而会扰乱视线。...3.在Jupyter_notebook使用 上面讲了几种规范,我们可以严格按照上面的规范去代码,按照规范去做,总觉得会有种束缚,不太舒服,可是不按照规范去,写出来代码确实不太美观有不易读,那可怎么办呢...选中你要规范化代码,然后点击菜单栏中「小锤子」,即可完成代码规范,就是这么简单。 ?

1.5K30

在线求CR,你觉得我这段Java代码还有优化空间

上周,因为要测试一个方法在并发场景下结果是不是符合预期,我写了一段单元测试代码。写完之后截了个图发了一个朋友圈,很多人表示短短几行代码,涉及到好几个知识点。 还有人给出了一些优化建议。...我们来看看上面的代码涉及到哪些知识点? 知识点 以上这段单元测试代码中涉及到几个知识点,我这里简单说一下。...e); failedCount.increment(); } finally { countDownLatch.countDown(); } 这段代码中...Assert 这个相信大家都比较熟悉,这就是JUnit中提供断言工具类,在单元测试时可以用做断言。这就不详细介绍了。 优化点 以上代码涉及到了很多知识点,但是,难道就没有什么优化点了吗?...但是还是想问一下,对于这部分代码,你觉得还有什么可以优化地方

81330

代码太烂了!你以为我真想“垃圾代码

何时不该重构:有时候既有代码实在太混乱,重构它还不如重新一个来得简单。 重写而非重构一个清楚讯号是:现有代码根本不能正常运作。...如果代码前方有一行注释,就是提醒你:可以将这段代码替换成一个函数。 条件表达式和循环常常也是提炼信号。 3、过大类 如果想利用单个类做太多事情,其内往往就会出现太多实力变量。...三、重新组织函数 1、提炼函数 动机:看到一个过长函数或者一段需要注释才能让人理解用途代码,将这段代码放一个独立函数中; 做法:创造一个新函数,根据这个函数意图来命名它; 只要新函数名称能够以更好方式昭示代码意图...一开始你肯会用一个字符串来表示“电话号码”概念,但是随后你会发现,电话号码需要“格式化”、“区号”之类行为。这时候就需要为带替换数值新建一个类。...3、合并重复条件代码 在表达式每个分支上都执行了相同一段代码。将这段重复代码搬移到条件表达式之外。 4、移除控制标记 在一系列布尔表达式中,某个变量带有”控制标记”作用。

92730

体会那种 Python 时不用 import 幸福

这时候有人就想到,哇靠,真麻烦,能不能不要每次都自己导入这些库啊?你已经是个成年人了,能不能在我代码调用到相关库时候,你给老子自动导入啊?别报错啊! ? 像这样: ?...可以看到,在这里不用事先 import ,而是当使用到相关库时候,自动在第一行帮我们 import,幸福啊! ? 怎么弄咧?...,这样我们在使用 IPython 或者 Jupyter 时候,可以直接使用它功能,你在代码时连它本身都不需要 import: import pyforest 比如当你安装完之后,你可以直接打开 IPython...,在不用 import 语句情况下,直接使用相关库: ?...你可以看到,我这里操作是直接使用库简称,这是因为人家在 LazyImport 时候,已经按我们代码习惯安排好了: ? 怎么样? ?

50720

(转)你代码,是别人噩梦

自从工作后写了大半年代码了,公司由于历史原因项目中充斥着各种不合理设计,写着写着就很容易烦躁,影响心情,代码本来是快乐而富有创造事情,面对这样噩梦需要找到解决方案,那么方案就是这篇文章. ----...相信我,这种表达带来代码可读性提升,会让接手你代码的人对你心怀感恩。...例如前面典型代码图中所展示,分配策略(DistributionPolicy)你把它隐藏在一堆业务逻辑中,没有人知道它是干什么,也不会把它当成一个重要领域概念去重视。...用尚学的话说,用DDD代码,他找到了创作感觉,而不仅仅是码农式Coding。下图是销售域简要领域模型,但基本上表达出销售域核心领域概念。 ?...只是SOLID更基础,更重要,所以我在这里重点拿出来讲一下,希望得到大家重视。

1.1K20

雷军 22 年前代码 你见过?

作为小米科技创始人、董事长和首席执行官,雷军名字如雷贯耳。网上出现一篇“刘强东代码水平如何”文章,有网友在下面回复“代码只服雷军”。这个回复吸引了小编注意,雷军代码水平真的很牛?...还有网友分享了一篇雷军22年前代码,废话不多说,直接贴代码。 雷军这篇代码,是不是看起来很牛逼?简直就是亮瞎眼!...雷军代码像诗一样优雅 ↓↓↓ 有些网友在评论中质疑,说雷军代码不会是「屎」一样优雅吧。说这话网友,也许是开玩笑,也许是真没看过雷军写过代码。...电脑是雷军人生中最爱,电脑世界对于雷军而言实在太美妙。雷军觉得,电脑世界没有人那么复杂。只要你程序写得好,就可以和电脑处好关系,也可以指挥电脑,做一些你想做事情。...雷军心爱代码被新程序员格式化 对于雷军来说,虽然现在他更加 专注在产品开发以及管理方面,但是曾经他对心爱代码视为珍宝。

64610

代码越多,越容易成为大牛

有一点是非常明确代码数量只是在总体量上占据有优势,但并不代表着编程能力就一定是最强,毕竟代码能力只是程序员一种基本能力之一,如同掌握一门编程语言是一样道理,不是掌握编程语言越多能力越强大...优秀程序员应该具备几种能力 1.编程基础 编程基础就包括代码能力,准确讲是高质量有效代码能力,很多初学者在设计一个编程模块时候很容易把一个简单功能,用很多冗余代码去实现,同样功能让编程大牛去实现可能只需要少几倍代码去实现...基础不单单代码能力,还包括掌握基本编程语言,数据机构,基本算法等等,编程基础概括起来内容非常繁杂,所有的编程大牛在编程基本功方面都不会含糊。...从以上三点可以看出能不能成为技术大牛,关键是否都具备,代码属于最基础编程能力,当然有一点还是要认识清楚,代码越多,做项目越多成为编程大牛机会也会逐渐增多,但并不成真正意义上正比关系,要成为编程大牛...,还是需要从一点一滴慢慢做起来,好高骛远注定什么事情都很难达到,希望帮到你。

52420

代码很厉害?那都是同行衬托。

代码水平是一个有趣事,衡量别人水平很有趣,衡量自己水平也很有趣。 现在虽然说[有趣],但回想起来,其实也是一把辛酸史。...再然后,奇怪事儿发生了。 八九年工作经验,只会dedecms做网站(估计是转行)。 高薪985,211本科or硕士生,写着一手反人类代码,连基础语法都不熟悉。...我不明白事很多,为什么他们应聘成功,为什么他们工资那么高。很多为什么。 时间有时候不会给予你答案,但时间会告诉你,答案并不重要。...渐渐,我不在疑惑了,我认知到了事实,我确实比他们代码要厉害,不是一些,而是很多。 渐渐,我不在去关注和比较他们的人生,我只要走好自己路即可。...因为他们不是我该比较对象,即便他们比我工资更高。 渐渐,我发现自己代码真的很厉害,而且今后还会更厉害。 以大多数人努力程度,根本轮不到拼天赋 因为这些鸡汤,让我很不自信。

51620

觉得别人代码难以维护,应该吐槽

代码多年,接手过大量别的程序员系统。每接手一个系统我都要吐槽一番,代码烂,可读性差,不美观;用语言有问题,不应该用PHP,应该用java或c#。...反正任何别人系统并且由我接手我都要批判一番,认为自己总能写比他们好。 不过随着行业经验增加,我发现自己代码也老是被别人吐槽。...其次,对程序员而言,代码是自己还是别人是有区别的,这是铁律,每个程序员都有体会。对于别人代码,即使再好,在没有深刻理解情况下, 程序员也会觉得读起来费劲, 难以维护。...再次,很多时候,程序员的确会觉得自己代码有问题,想改,却腾不出手, 因为工作太忙,需求堆积,有大堆功能要做。 而代码好不好,程序员老板才不管。...所以,程序员们, 不要吐槽别人代码烂,想要轻轻松松一样看懂别人代码,不可能, 除非计算机科学以及衍生商业逻辑被重新定义,否则除非不当程序员, 不然没有办法可以避免。

49720

Go 1.18 让测试代码量骤减,你会开始测试

Go 从1.18 版本开始正式把模糊测试(Go Fuzz)加入到了其工具集中,不再依靠三方库就能在程序代码中进行模糊测试。那么为什么要引入模糊测试呢,引入后我们在单元测试时候要有哪些调整呢?...不过让自己提供样本测试,主观性太强,有的人想到很多边界条件有的就不行,再加上我国互联网公司程序员糟糕职场生存环境,又要保证BUG少稳定,又要快,这个时候模糊测试确实帮助我们节省很多想样本工作量。...可以看到使用模糊测试后,代码量明显减少了很多。模糊测试会帮我们生产随机输入,来供要测试目标来使用。...更详细解释,请参考官方文档:https://go.dev/doc/fuzz/ 总结 模糊测试对于检测我们看不到或想不到错误、边界情况很有用,即使我们常规测试具有出色覆盖率,话说,诸位,你们测试覆盖率真的很出色...至于有了 Go Fuzz 之后,你会不会开始测试用例,大家在留言里发挥吧,毕竟多数公司都是在应用层卷,产品需求一天三变,我们可能更需要 Go 官方给我们引入一个帮我代码功能,哈哈哈_(:з」∠)

26130

你真的思考过自己代码为啥这么垃圾

所以,虽然这段代码本身实现是没有问题,然而,放在项目整体中,这却是一个坏味道,因为它没有和其它部分保持一致。...后来使用了新解决方案: 之所以会这样,因为一个项目中,应对同一个问题出现了多个解决方案,如果没有统一约定,项目成员会根据自己代码感觉随机选择方案,导致方案不一致。...这段代码不一致,这些代码不是一个层次代码!...观察代码粒度足够小,很多问题自然就会暴露出来。 程序员开始测试时,有一个典型问题:如何测试一个私有方法。有人建议用一些特殊能力(比如反射)去测试。我给这个问题答案是,不要测私有方法。...方案中不一致: 由于代码长期演化造成 项目中存在完成同样功能程序库 无论是哪种原因,都需要团队先统一约定,保证所有人按照同一种方式编写代码

39520
领券