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

python异常处理哲学

所谓异常指的是程序执行出现了非预期行为,就好比现实中做一件事过程中总会出现一些意外事。异常处理是跨越编程语言,和具体编程细节相比,程序执行异常处理更像是哲学。...限于认知能力和经验所限,不可能达到像解释器下import this看到python设计之禅一样,本文就结合实际使用简单聊一聊。 0....写代码时候如果只简单考虑正常情况,那是在往代码中下毒。 接下类本篇博文将按照套路出牌(避免被Ctrl + W),介绍一下python异常处理概念和具体操作. 1....然而困难地方是当异常发生时,如何进行处理。 2. python异常处理 下面逐步介绍一下python异常处理相关概念。...总结 python 异常处理: 使用对象来表示异常错误信息,每种异常均有一种对应类,BaseException为所有表示异常处理类基类。

1.2K20

什么是PythonEAFP 哲学

摄影:产品经理 产品经理心心念念海胆水饺 Python 有一套自己哲学,其中 EAFP 是其中比较有名。...在开发过程中,我们经常遇到需要多次判断情况,比如说,使用 requests请求一个接口,首先要判断请求返回HTTP Code是不是200,接下来要判断请求返回数据是不是 JSON 格式,接下来要判断数据解析成字典以后...但是如果使用 EAFP 哲学来写代码,就变得非常简单了: import requests try: resp_info = requests.get('https://xxx.com/xxx'...).json() data = resp_info['data'] print(data) except Exception: print('请求失败') EAFP 哲学让你在写代码过程中...当然,EAFP虽然是 Python 推荐一种编码风格,但使用时候还是需要看具体情况。我们日常生活中,经常听到某某渣男追女神一直追不上,于是直接把事情办了,再跪下来一边打自己脸,一边哭,一边求原谅。

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

Unix哲学

先讲两个很老小故事。 第一个故事。 有一家日本最大化妆品公司,收到了用户投诉。用户抱怨买来肥皂盒是空。...这家公司为了防止再发生这样事故,很辛苦地发明了一台X光检查器,能够透视每一个出货肥皂盒。 同样事故,发生在一家小公司。...===================== 这几天,我在看Unix,发现很多人在谈"Unix哲学",也就是开发Unix系统指导思想。 Wikipedia上列出了好几个版本,不同的人有不同总结。...但是我发现,所有人都同意,"简单原则"----尽量用简单方法解决问题----是"Unix哲学"根本原则。...清晰代码不容易崩溃,而且容易理解和维护。重视注释。不为了性能一丁点提升,而大幅增加技术复杂性,因为复杂技术会使得日后阅读和维护更加艰难。 2. 模块原则。

98030

golang设计哲学

golang简介Google是一家顶尖创新与大神集结地方,员工工作方式也很特别,叫做“20%Time”,即允许工程师拿出20%时间来研究自己喜欢项目。...2007年9月20日下午,在谷歌山景城总部一间办公室里,谷歌大佬级程序员Rob Pike启动了一个C++工程编译构建。按照以往经验判断,这次构建大约需要一个小时。...golang设计哲学这里整理出go语言设计者Rob Pike一些公开演讲,然后提炼出golang设计之初哲学之道,这些演讲分别是:Concurrency is not Parallelism....除此之外,并发与组合哲学是一脉相承,并发是一个更大组合概念,它在程序设计层面对程序进行拆解组合,再映射到程序执行层面:goroutine各自执行特定工作,通过channel+select将goroutine...)Go 设计哲学:少即是多,哪里来

6510

Python黑帽编程2.1 Python编程哲学

本节内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言。我带大家膜拜下Python作者Python之禅,然后再来了解下Python编程规范。...2.1.1 ZEND OF PYTHON 在Kali中启动终端,输入Python,进入交互模式。 ? 图2 输入命令 import this “一首诗”呈现在我们眼前。 ?...对于初学者,我必须要强调是,Python没有C语言那样大括号,可以表示代码块和代码之间层级关系,也没有VB那样begin…end,它是靠缩进来表示这些。...对于用惯了大括号程序员来说,多少会有些不适应,因为有大括号情况下,我们可以随意调整缩进,让代码按照我们审美来排列,但是在Python里就不能这么做了。...图6 下面我把PEP8Python编码规范转引过来,翻译不是我原创,来自于http://damnever.github.io/2015/04/24/PEP8-style-guide-for-python-code

1K70

实用正面哲学

其一,尽管其宏伟标题,该帖子狭隘地专注于我们在 Liferay 云面向企业用例和我们在最近堆栈升级期间实施一些模式。事后看来,我宁愿详细介绍更多我建筑特定想法。...随着技术进步,可能会有新问题需要解决,但阳光下没有什么新鲜事。网络系统中只有如此多需求,这意味着有效满足这些需求方式是有限度。...但是,在一天结束时候,永远记住:它只是一个花哨模板引擎,为动态应用。提高我们连接和插值 HTML 能力质量工具,无论是静态还是动态,都将受到欢迎和赞扬。...从 The Zen of Python: 应该有一个 - 最好只有一个 - 明显方式做到这一点。...安装神奇 NPM 模块很容易,这意味着很容易构建一个巨大、脆弱、不必要依赖树来权衡您应用。NPM近年来一直与争议相邻,但NPM只是人类使用工具。

36110

Filecoin架构与哲学

》 用模块化实现组件重用和多个实现之间互操作性 用无服务器实现弹性扩展和功能即服务 用系统构建系统 软件哲学方面通常是以理性为基础,以批判或者系统方式进行思考。...以下是我总结Filecoin设计中重要哲学: 关注协议,没有人是一座孤岛。 关注互联网中被破坏东西,参考《大话胡安: 我为什么创立协议实验室?》。...他初心和哲学都在这篇文章中了:《大话胡安: 我为什么创立协议实验室?》。 是什么让Filecoin与众不同?Filecoin官方总结了三个方面:复制证明、可验证市场和有用共识。...总体来说,Filecoin在架构与哲学方面是偏执,缺乏灵活性。...但Filecoin所坚持哲学和目标没有变更,那就是用研究支撑规范,让实现遵循规范,用反复迭代和多种实现保证实现安全。 我想,正是这种偏执,让Filecoin与众不同。 最多零知识证明系统

32830

MongoDB引用哲学 --- 游标

,但是有时候 从数据库取出来数据是跨数据,比如取第100页数据。...通俗说,游标不是查询结果,而是查询一个返回资源或者接口,通过 这个接口,可以逐条读取数据。 就类似java中读取流一样,使用包装类readLine()方法一行一行去读。...同样也可以使用jswhile语法来循环打印刚刚数据: 当然也可以使用for循环来打印: 还有一个比较常用方法,叫“forEach”,每一个forEach里面有一个 回调函数,这个函数中obj...对象就是游标指向数据集每一个数据。...: 如果我们不想迭代打印,想直接把结果以数组形式打印出来, 使用游标的toArray()方法: 想取出某一个,使用数组下标即可: 这里要提醒大家是,如果查询少量数据,可以使用toArray

1.5K40

Django设计哲学

Django 读作姜戈,第一个 D 不发音,与电影《被解救姜戈》姜戈除了读音一样,没有其他半毛钱关系。Django 是一个优秀 Web 框架,用 Python 编写,是非常流行全栈框架。...Django 是完美主义者开发框架,和 Python 一样有着自己设计哲学: 一、总体架构方面: 1、松耦合 Django 基本目标是松耦合和高内聚。...5、显式胜于隐式 这是 Python核心原则 PEP 20,这意味着 Django 不应做太多“魔术”功能“魔术”功能,除非有充分理由。...四、网址设置层面: 1、松耦合 Django 应用中 URL 不应与基础 Python 代码耦合。将 URL 绑定到 Python 函数名称是一件不好事。...这是模板系统不允许任意Python代码另一个原因。 9、扩展 模板系统应认识到高级模板作者可能希望扩展其技术。这是自定义模板标签和过滤器背后理念。

2.1K10

DDD哲学意味(下)

这样哲学除了在象牙塔中孤芳自赏,又有多少实际意义? 到了十九世纪末,人们逐渐意识到问题很可能出在“语言”上,很多哲学问题来源于对语言误用。解决了语言问题,就解决了哲学问题。...由此产生了“语言哲学”,并成为了二十世纪上半叶英美哲学主流。如果说认识论是“对思考思考”,那么语言哲学就是“对言说言说”。...尽管历史上有很多哲学家也很重视语言,但那时语言只是研究哲学工具;而现在,语言成了哲学本身。...下面我们从语言哲学角度看一看软件开发中有关语言问题。 首先,语言哲学认为,语言意义是在使用过程中体现出来。...小结 我们用若干章节探讨了领域驱动设计哲学内涵。两者之间这种契合关系并非偶然。 哲学主要目的是解决对世界进行认识(认识论)和诠释(语言哲学)问题。

39030

DDD哲学意味(上)

最近有小伙伴在Thoughtworks DDD社区中提起了有关哲学的话题,这在我这个哲学民科(下文简称“哲民”)心中激起了阵阵涟漪。...据小道消息,Eric Evans认为DDD不是一种方法学,而是一种软件开发思想和哲学。言下之意,“方法学”把DDD给说小了。好吧,那咱就顺着艾老师意思,看看DDD和哲学能碰出什么火花来。...对于我们这些从小受到辩证唯物主义教育小伙伴来说,这没什么问题。但有些哲学家可未必同意。 首先,佛教哲学认为根本就不存在“客观世界”,一切都是空幻不实。印度教也认为我们不过是生活在梵天一场梦中。...好在这些哲学思辨并不会对程序员和领域专家们生活造成太大影响。...至于我们所认识到东西和客观世界(如果有的话)关系就留给哲学家们讨论吧。 不过上述论断对建模还是有一个细微但重要影响。

27720

Apple 设计哲学 · 交互篇

苹果是一家为数不多以设计驱动公司。 如今,当我们谈论起产品设计、谈论起用户体验,总是离不开苹果,它所坚持设计哲学是对细节和质量极致追求。下面,我就带大家看看 Apple 在交互方面做努力。...动态触控区域 Apple 为了解决在移动设备上输入本文问题,采用了一种流畅并且对用户友好解决方案:基于预测输入系统,扩大虚拟键盘有效触控区域。 ?...当你按下“th”时候,系统预测下一个字母可能是 e 或 i,从而动态增加这两个字母点击范围,以此提高输入命中率。 当然,视觉上你看不到按钮尺寸变化。指尖之上,一切都在无形之中。 — 02....重新定向 在使用设备中,用户操作是一直在改变,所以交互中间过程,同样需要重新定向。 ?...为用户创造一系列愉悦体验,这也许就是苹果设计哲学。 作者:阿洋,网易资深设计师,每周原创设计干货 本文首发自公众号:洋爷(ID:yangye365)

1.1K20

软件必备模块-软件哲学

我一直觉得设计哲学这个东西是一个很虚东西,直到我看了一个关于苏联暴力美学帖子,里面有一段写ak-47,t34等等。虽然也有人说这是苏联战略忽悠局。...经过一年工作发现确实生产中面临这样问题,如果用苏军内幕这本书里面的思想确实是可以改进很多问题。 坦克!进攻! 战略进攻 不要用战术上勤奋掩盖战略上懒惰?虽然把一个产品做精益求精是对事情。...因为我觉得写代码本身有意义,但是纠结在代码细枝末节是没有意义事情。首先作为一个公司或者一个技术团队,他意义是解决现实生活实际问题,有稳定可靠盈利。...简单组合 由结构简单组合组合成性能可靠巨大产品 由结构简单组合组合成性能可靠巨大产品 由结构简单组合组合成性能可靠巨大产品 这样组成产品易于维护,喝一瓶二锅头也写不错代码和加班熬夜几天还写不错模块是好模块...不同口径,为了音乐学院学生 显式调用 盗取代码,删库跑路是一件很可怕事情,不过更可怕事情是写不可维护代码,可读结构简单代码,就是战时武器,在仓促情况下,隐藏调用或者其他修改会。

78620

类和对象哲学思考

它们关系是,对象是类实例,类是对象模板,即哲学中共性与个性关系。...如果要找出52张牌共性,那就是牌点和花色,因为任何一张牌都有牌点和花色特性。 ? 共性是抽象,个性是具体 int类型是抽象,而对象5,9是具体。...共性与个性相互转化 在保持原有类属性和功能基础上,扩展新功能称为类继承。被继承已有类称为父类;派生出新类叫做子类。子类可以看作父类一个对象,而子类又可以生成对象。...这就是类和对象之间在一定条件下转化。 矛盾共性指矛盾普遍性,是绝对、无条件;矛盾个性指矛盾特殊性,是相对、有条件。...共性决定事物基本性质;个性揭示事物之间差异性。个性体现并丰富着共性。共性是绝对、无条件,个性是相对、有条件

56310

ER 模型背后建模哲学

将具体业务场景数字化,首先需要对场景进行抽象和设计。业务场景中概念及其联系,落到硬盘上就是数据库中一张张表,加载到内存中便是编程语言一个个类。...因此,对具体场景进行建模时,最重要便是数据库表设计和软件类图设计,而他俩又基本上是一一对应。...前者常使用 ER 模型进行辅助设计,识别问题域中关键概念和联系,进行图形化、精确化描述;后者当然有很多 ORM 框架和 UML 类图之类来表示。...实体是一个概念,可以对应编程语言中类,也可以理解为一个 Excel 中由表头确定一个表。而实体一个对象,则对应编程中一个类实例,也对应 Excel 表格中一行。...宠物医院类图 关系特点 实体与实体间关系一个最重要特征便是基数(cardinality)和参与度(participation)。前者就是我们常说:一对一,一对多,还是多对多关系。

18640

机器学习中哲学

本文有标题党之嫌,因为讨论内容并非严格哲学命题。但机器学习中有很多思想换个角度看和其他学科息息相关,甚至共通。在此总结了一些我觉得有意思观察,供大家讨论。 ?...△ 图为拉斐尔为梵蒂冈宫教皇绘制哲学主题壁画《雅典学派》 1. 没有免费午餐定理(No Free Lunch Theorem) - 什么算法最好?...奥卡姆剃刀定理(Occam’s Razor - Ockham定理) - 少即是多 奥卡姆剃刀是由十二世纪英国教士及哲学家奥卡姆提出:“ 如无必要,勿增实体”。 ?...那么h1更加简单,更加符合尝试,选择它:) 提供这个例子原因是为了提供一个量化方法来评估假设,其与奥卡姆剃刀有相同哲学内涵。...集成学习(Ensemble Learning) - 三个臭皮匠智慧 集成学习哲学思想是“众人拾柴火焰高”,和其他机器学习模型不同,集成学习将多个较弱机器学习(臭皮匠)模型合并起来来一起决策(诸葛亮

99890

Go语言设计哲学

[GO专栏-2]Go语言设计哲学 简单 第一条原则:追求简单,少即是多 组合 偏好组合,正交解耦 理解golang结构体嵌入 为什么嵌入语法是组合而非继承 活用组合和接口让代码更加优雅 与其他语言对比...这种设计哲学落地让 Go 语言具有广泛规模适应性:既可以被仅有 5 人初创团队用于开发终端工具,也能够满足像 Google 这样超巨型公司大规模团队开发大规模网络服务程序需要。...但作为面向工程编程语言,光有简单设计哲学还不够,每个语言设计细节还都要经过“工程规模化”考验和打磨,需要在细节上做好充分思考和讨论。...比如 Rob Pike 就曾谈到过 Go 当初为何没有使用 Python 那样代码缩进来表示程序结构,而是选择了与 C 语言相同大括号,就是因为他们经过调查发现 Python 缩进结构在构建小规模程序时的确很方便...类似的面向工程语音设计细节考量还包括: 重新设计编译单元和目标文件格式,实现 Go 源码快速构建,让大工程构建时间缩短到类似 Python 交互式编译编译速度; 如果源文件导入它不使用

70320

DDD哲学意味(中)

“关联”、《矛盾论》、毕达哥拉斯学派 DDD哲学意味(上)说到了“模型驱动设计”以及其中两个重要模式“实体”和“值对象”,两者统称“领域对象”。...这一点实属可惜,因为关联至少与实体有同样重要性。为什么这么说呢?下面还是先扯几句哲学。 前面提到毛老师《实践论》,这里再说说怹老人家另一篇杰作《矛盾论》。...形而上学认为事物发展是静态、外因驱动、孤立;唯物辩证法则认为事物发展是动态、内因驱动、联系(还记得中学政治课背过吗?)。前两点我们后面再聊,这里先讨论“联系”。...模型演进、辩证法、进化论 前文说到,唯物辩证法认为事物发展是动态、内因驱动、联系;并且已经讨论了“联系”。这一节首先讨论“动态”。 事物发展变化是永恒。...限界上下文与人类认识能力有限性 虽然哲学家可能是人类有史以来最喜欢争辩群体,但有一个观点,多数哲学家却是有共识:人认识能力是有限

24410

Keyman算法设计哲学

前言whosbug项目中,最重要无非是两个部分:对接入项目的AST静态语法解析责任人归属算法`whosbug`初版发布后我们进行了一系列测试,发现了老算法在一些场景下局限性(如对没有第三方库调用处理....png" style="zoom: 50%;" />并且包 / 类也视作一个函数,将包/类内代码非函数内代码归入这个包 / 类函数图片获取可能和这次错误相关函数Init: 获取预设迭代次数NUMBER_OF_ITERATION...,新建相关方法集methods,以错误堆栈中涉及所有方法为初值不断地从methods内每个函数/方法找到与其相连且未在methods内方法,加入methods中,也同时得到该方法与直接错误方法距离...(输入堆栈中原始栈帧)距离(语法树中距离)、其原始栈帧到栈顶距离以及其置信度$$\mathit{Contribution}\ =\ \mathit{Confidence\ \ \frac{...,一定程度上也考虑了初版假设:越近修改越容易导致bug)函数大改时会基本回落到初始化置信度一定程度上区分bugfix型变动和业务变更变动初始化$$\mathit{Confidence\ =\

30831

回眸Unix设计哲学

这些设计或许在某个时刻已经不再为人所用,或者仅供瞻仰,但其设计精神却恒久而不废。 大约,Unix设计哲学亦如此。...思考架构模式中“管道过滤器”模式,思考事件驱动架构(EDA),思考Storm或者Spark Streaming对流处理,思考Scala中Parser原理,几乎都看到了这一Unix设计哲学影子。...Martin Kleppmann在文章Apache Kafka, Samza, and the Unix Philosophy of Distributed Data中比较了Unix设计哲学与数据库设计哲学...Unix设计哲学将stdin和stdout视为通信通道(communication channel),数据库设计模式则是服务器/客户端。...若没有它设计哲学作指引,它或许已经崩溃、疯狂或者死亡,正如人没有信仰。软件设计需有思想支持,否则设计结果没有灵魂。

1K60
领券